Read and control an ABB ACS580 variable frequency drive over Modbus RTU through its embedded fieldbus (EFB). This guide covers the ABB Drives profile — control word, status word, frequency reference and actual values — and how to test it all with ModbusManager on Windows, without a PLC or ABB commissioning software.
Windows 10/11 · Modbus RTU & TCP · one-time license
The ACS580 — and its siblings ACH580, ACQ580 and the larger ACS880 — can act as a Modbus RTU slave straight out of the box.
ABB’s ACS580 general-purpose drive includes an embedded fieldbus interface (EFB) on its RS-485 terminals. With the protocol set to Modbus RTU, the drive becomes a Modbus slave you can read and control directly — useful for commissioning, fault-finding, second-hand drive checks and HMI integration without a PLC. Control uses the ABB Drives profile, where a control word starts and stops the drive and a reference sets the speed or frequency. The same approach applies across the ACx580 family and, with different parameter groups, the ACS880.
A free ModbusManager Pro workspace that only reads the ACS580 — status word, output frequency and motor current — with ready/running/fault lamps on a dashboard. It writes nothing, so it cannot start the motor.
The workspace polls holding registers from 40004 read-only (FC03), decodes the status word into ready / running / fault indicators and scales the actual values to frequency and current. There is no control word and no write poll — it is safe to load on a live drive for monitoring. Set your drive’s slave address and connection, and you see its state at a glance.
Two steps: install the free 14-day Pro trial → open the .json workspace inside it (📋 Workspace → open). Read-only, no control — safe on a live drive.
Configure the embedded fieldbus in parameter group 58, then match the same settings in ModbusManager.
| Setting | Typical value |
|---|---|
| Protocol | Modbus RTU (RS-485, RTU only) |
| Command source (par. group 20) | Embedded fieldbus (EFB) |
| Node address (par. 58.03) | 1–247 |
| Baud rate (par. 58.04) | 9600 or 19200 |
| Parity / stop bits (par. 58.05) | 8E1 or 8N2 (match both ends) |
| Function codes | 03 read, 06 / 16 write |
| Profile (par. 58.25) | ABB Drives (or ABB Drives Enhanced) |
If you plan to record status and reference words over time rather than just watch them, the embedded fieldbus adapter sits on the same shared RS-485 line as everything else in the cabinet. Modbus RTU data logger over RS-485 covers what one read costs at each baud rate and how to tell a wiring fault from a wrong node address.
The core control and feedback registers in the ABB Drives profile. All are 16-bit holding registers, read with FC03 and written with FC06/FC16.
| Register | Function | Access | Notes |
|---|---|---|---|
| 40001 | Control Word | R/W | Start/stop/reset bits (ABB Drives profile) |
| 40002 | Reference 1 | R/W | Speed/frequency setpoint, 20000 = 100% |
| 40003 | Reference 2 | R/W | Second reference (e.g. torque), if used |
| 40004 | Status Word | R | Ready/running/fault bits |
| 40005 | Actual Value 1 | R | Mapped via par. 53.10 (e.g. output freq) |
| 40006 | Actual Value 2 | R | Mapped via par. 53.11 (e.g. current) |
| 40007–40012 | Actual Values 3–8 | R | Mapped via par. 53.12–53.17 |
ABB also supports direct parameter access: register number = parameter number with a leading digit, e.g. parameter 01.06 maps to a register near 40106 in 16-bit mode. The exact mapping and 16/32-bit behaviour depend on par. 58.33 addressing mode — always confirm against the firmware manual for your drive.
The ABB Drives control word at 40001 needs a short bit sequence to bring the drive from stopped to running.
| Step | Write to 40001 | Effect |
|---|---|---|
| 1 | 0x0476 | Prepare: ready-on, no run yet |
| 2 | 0x047F | Run: drive accelerates to the reference |
| 3 | 0x0476 | Stop (ramp down) — clears the run bit |
| Fault | 0x0480 (rising edge of bit 7) | Fault reset |
Important: the master must keep sending the control word and reference periodically (every 200–500 ms). If transmission stops, the ACS580 trips fault 6681 (communication loss). Use ModbusManager’s periodic write to hold the run command alive.
From wiring to a running drive without a PLC.
ModbusManager reads and writes any ACS580 register directly, with periodic writes to hold the control word alive and a serial monitor to see every frame. The Standard edition ($49) covers polling, writing and the serial monitor — enough to start, stop and monitor a drive. The Pro edition ($119) adds a drag-and-drop dashboard, a data logging Historian with CSV export, and an alarm system — all running locally on Windows, with no SCADA server or cloud account.
A line with several ACS580 drives means several Modbus nodes for the PLC to address. ModbusManager Pro can collect the status word, actual speed and current of every drive into one register map — and forward speed references written by the PLC back to the correct drive. During commissioning this lets you prove the data mapping works before the PLC program is finished.
Modbus gateway software →If the same line mixes ABB and Rockwell drives, the awkward part is not the register list but the addressing: PowerFlex documentation numbers registers in a way that lands one off on many Modbus masters. The PowerFlex 525 page explains why that happens and how to settle it on the drive itself.
PowerFlex 525 Modbus addressing →Download ModbusManager and connect to your ACS580 over RTU. Free 14-day Pro trial — no credit card, no cloud.
Windows 10/11 · Standard $49 · Pro $119 one-time
We use Google Analytics cookies to see how the site is used. You can accept or decline — declining keeps analytics off. See our Privacy Policy.