// Device guide — ABB drives

ABB ACS580
Modbus RTU Guide

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.

Download ModbusManager Pro See the data logger

Windows 10/11 · Modbus RTU & TCP · one-time license

// about the ACS580 fieldbus

Embedded fieldbus, no extra hardware

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.

// download the monitor

Read-only monitoring workspace

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.

⚠ The actual-value registers (40005+) and their scaling depend on drive parameters 53.10–53.17. This workspace assumes a typical mapping (frequency, current). Verify against your drive and adjust the gains in the script if values look off.

Open in ModbusManager Pro · 📋 Workspace → open · read-only, no control

// connection settings

Modbus settings

Configure the embedded fieldbus in parameter group 58, then match the same settings in ModbusManager.

SettingTypical value
ProtocolModbus 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 codes03 read, 06 / 16 write
Profile (par. 58.25)ABB Drives (or ABB Drives Enhanced)
// register map

ABB Drives profile registers

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.

RegisterFunctionAccessNotes
40001Control WordR/WStart/stop/reset bits (ABB Drives profile)
40002Reference 1R/WSpeed/frequency setpoint, 20000 = 100%
40003Reference 2R/WSecond reference (e.g. torque), if used
40004Status WordRReady/running/fault bits
40005Actual Value 1RMapped via par. 53.10 (e.g. output freq)
40006Actual Value 2RMapped via par. 53.11 (e.g. current)
40007–40012Actual Values 3–8RMapped via par. 53.12–53.17
Tip: the actual-value registers (40005+) are user-mapped. Set par. 53.10–53.17 to the drive parameters you want to read — e.g. 01.06 Output frequency, 01.07 Motor current, 01.10 Motor torque.

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.

// starting the drive

Control word sequence

The ABB Drives control word at 40001 needs a short bit sequence to bring the drive from stopped to running.

StepWrite to 40001Effect
10x0476Prepare: ready-on, no run yet
20x047FRun: drive accelerates to the reference
30x0476Stop (ramp down) — clears the run bit
Fault0x0480 (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.

// how to test it

Test an ACS580 in three steps

From wiring to a running drive without a PLC.

Step 1
Connect
Wire RS-485 A/B/ground to the drive’s EFB terminals. Set par. group 58 to Modbus RTU with a node address and baud rate, and set the command source to embedded fieldbus. In ModbusManager pick RTU with matching baud, parity and the drive’s slave address.
Step 2
Monitor
Read holding register 40004 (status word) and the mapped actual values from 40005 to confirm communication. You should see the drive’s ready/running state and live feedback before you try to control it.
Step 3
Control & log
Write the control word sequence to 40001 with a reference in 40002 to start the drive, sending periodically. Log feedback to the Historian, build a dashboard, or set alarms on overcurrent or faults.
// why modbusmanager

A practical tool for ABB drives

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.

// frequently asked questions

ABB ACS580 Modbus — FAQ

What Modbus settings does an ABB ACS580 use?+
The ACS580 has an embedded fieldbus (EFB) that runs as a Modbus RTU slave on RS-485. Set the protocol to Modbus RTU in parameter group 58, choose a node address and baud rate (commonly 9600 or 19200), and match parity and stop bits in ModbusManager. The drive supports RTU only, not ASCII.
Which register is the ACS580 control word?+
In the ABB Drives profile the control word is Modbus holding register 40001, the frequency/speed reference is 40002, and the status word is 40004. These are the core registers for remote start, stop and speed control.
How do I start an ACS580 over Modbus?+
Set the command source to embedded fieldbus, then write the ABB Drives control word sequence to register 40001: typically 0x0476 then 0x047F to give the run command, together with a reference in 40002. ModbusManager must keep sending frames periodically (every 200-500 ms) or the drive trips on communication loss.
Why does the ACS580 not run when I write the control word?+
Common causes: the command source is not set to EFB, the control word bit sequence is incomplete, or the master is not transmitting continuously so the drive trips fault 6681 (communication loss). Send the control word and reference together periodically rather than as one-shot commands.
Can I monitor ACS580 speed and current with ModbusManager?+
Yes. Read the status word at 40004 and the mapped actual-value registers (40005 onward) for output frequency, current and power. With ModbusManager Pro you can log them to the Historian, chart trends and set alarms on limits.

Talk to your ABB drive in minutes

Download ModbusManager and connect to your ACS580 over RTU. Free 14-day Pro trial — no credit card, no cloud.

Download free trial See pricing

Windows 10/11 · Standard $49 · Pro $119 one-time