Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>RAPID Live - ABB Robotics for VS CodeNew to Visual Studio Code? Get it now.
RAPID Live - ABB Robotics for VS Code

RAPID Live - ABB Robotics for VS Code

Meraj Safari

|
265 installs
| (1) | Free
The only VS Code extension that connects to live ABB IRC5 (RobotWare 6) and OmniCore (RobotWare 7/8) controllers. Live-tested on RW8.1, RW7.21 and RW6.16. RAPID language server (hover docs, autocomplete, signature help, go-to-definition, inlay hints with live values, CodeLens), git-style push/pull/d
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

RAPID Live - ABB Robotics for VS Code

The first VS Code extension that connects directly to a live ABB controller.

Live-tested on RobotWare 8.1 and 7.21 (OmniCore) and RobotWare 6.16 (IRC5). Works against real hardware and RobotStudio virtual controllers, with both RWS 1.0 (HTTP Digest, IRC5) and RWS 2.0 (HTTPS Basic + XHTML, OmniCore) auto-detected from the controller's auth challenge.


What it does

  • RAPID language server - hover docs from the official 705-entry reference manual, autocomplete, signature help, snippets, CodeLens above every PROC / FUNC / TRAP, Go-to-Definition, Find References, document outline, inlay hints showing live values.
  • Push / Pull / Diff - .mod file workflow that fits in any git repo. Pull all controller modules into your workspace; edit; push back. Diff your local file against what's currently loaded.
  • Live Cell dashboard - joints, TCP, op-mode, exec state, speed at a glance.
  • Tasks panel - every RAPID task with its modules and routines. One-click run, set PP, unload. Create new tasks (writes SYS/CAB_TASKS in CFG).
  • Variables Watch - pin variables, see live values poll every 1 s.
  • Multi-robot - one window, many controllers, switch active in a click.
  • Plus: file system browser, I/O signal control, event log with details, CFG read+write, backup / restore, service-routine call, IK + FK, and 100+ commands covering the full RWS surface.

Quick start

  1. Install from the marketplace.
  2. Click the RAPID Live icon in the activity bar → + Add Robot.
  3. The wizard finds every controller for you: RobotStudio VCs are detected in about a second whatever random port they landed on, real robots on the standard service address, and anything announcing over mDNS/Bonjour.
  4. Default credentials: Admin / robotics (recommended; works on most controllers). Falls back to Default User automatically on IRC5 if Admin doesn't exist.
  5. Right-click your robot → Connect.

That's it - the panels populate in under 2 seconds.


How it differs from other ABB extensions

The other ABB extensions on the marketplace are static editor enhancements - syntax highlighting, snippets, language servers. None of them connect to a controller.

Feature RAPID Live Other ABB extensions
Syntax highlighting + snippets ✓ ✓
Hover docs from the official manual ✓ partial
Live controller connection ✓ ✗
Live variable values inline ✓ ✗
Push / Pull / Diff workflow ✓ ✗
Multi-robot management ✓ ✗
Real-time WebSocket subscriptions ✓ ✗
Module load/unload + routine drill-down ✓ ✗
File system + I/O + CFG access ✓ ✗
Event log with severity + details ✓ ✗
Inverse + forward kinematics ✓ ✗
Cross-platform (macOS / Linux) ✓ most no
Built on a published TS RWS client ✓ n/a

We don't compete with RobotStudio's 3D simulation or cell design - that's a different category. We do the dev loop: connect, monitor, edit, deploy, repeat.


Live editing in the editor itself

Open any .mod / .sys / .prg file while connected and the editor lights up:

  • Faded gray live values next to every VAR / PERS / CONST declaration, polled every 1.5 s.
  • Green ▶ in the gutter at the line where the controller's program pointer is currently executing.
  • CodeLens above every routine: ▶ Run this routine and ▶ Set PP here.
  • Hover any identifier → reference-manual docs (705 entries) for built-ins, live controller value for user variables.
  • Ctrl+click a routine name → jump to its declaration anywhere in your workspace.

Git workflow for RAPID

The point of RAPID Live: edit at your desk, version-control in git, deploy to the robot. None of that flow exists in RobotStudio.

┌─ Pull All Modules from Controller ─┐         ┌─ Push Current File ─┐
│                                     │         │                     │
│   Workspace folder ←  controller   │  edit   │  workspace ── push ──→ controller
│   (now in git)                     │ ────────│                       │
└─────────────────────────────────────┘         └─────────────────────┘
  • Pull All Modules - bulk download every loaded program module into your workspace as .mod files.
  • Push Current File - load the active .mod into the running task. Right-click in the editor, the title bar, or the file explorer.
  • Diff with Controller - VS Code's native diff editor between your local file and what's currently loaded. Read-only on the controller side, no risk of clobbering.

Built on the open-source abb-rws-client package

The protocol layer is published separately as abb-rws-client - the only TypeScript client for ABB Robot Web Services that supports both protocol versions (RWS 1.0 + 2.0).

Building robot tooling outside this extension - a CLI, a web HMI, a ROS bridge, an MES connector? Skip the protocol-quirk research:

npm i abb-rws-client
import { createClient } from 'abb-rws-client';

// Auto-detects RWS 1.0 (IRC5) vs 2.0 (OmniCore) from the auth challenge
const client = await createClient({ host: '192.168.125.1' });
console.log(await client.getControllerState(), await client.getOperationMode());

The package ships with the full RobotManager lifecycle, MultiRobotManager orchestration, WebSocket subscriptions with polling fallback, IRWSAdapter typed interface, and ~30 documented protocol quirks the ABB developer center doesn't cover.


What you can't do (and why)

ABB designed certain things to be impossible from a remote interface. We probed all of these against live virtual controllers; they're protocol-level walls, not extension limitations:

  • Bypass the FlexPendant op-mode-change confirmation popup - safety-by-design.
  • Bypass the RMMP grant prompt - safety-by-design.
  • Modify UAS user grants from RWS - /users/grant-status is read-only; UAS configuration is FlexPendant-only.
  • Override the FlexPendant key switch on real hardware - physical safety interlock.
  • Jog from AUTO mode - forbidden by ISO 10218.

Coming soon:

  • Robot panel - a dedicated interactive panel view for the whole cell: jog, I/O at a glance, signal search, production monitoring. In active development.
  • Step debugging UI (Step Into / Over / Out + breakpoint sync).
  • Hot-edit / ModPos in a running program.

Pair with the official ABB extension

ABB's own RAPID & Ecosystem Tools provides additional language-level features. Both extensions co-exist cleanly - install both for the best experience.


Cross-platform

Built on Node.js APIs only. Tested on Windows; the same code runs on macOS and Linux. RobotStudio is Windows-only, but real ABB hardware (and OmniCore Docker VCs) work fine from any platform.


Safety notes

This extension can change controller state - turn motors on, start RAPID, write I/O signals. Read the ABB safety documentation for your robot before using these features outside a sandbox.


Contributing & feedback

  • Issues / PRs: https://github.com/ichbinmeraj/abb-rws-vscode
  • Release history: CHANGELOG.md

License

MIT - Meraj Safari, 2026

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft