Set 58.01 = Modbus RTU, a unique 58.03 node address, and 58.04/58.05 equal to the master. Choose 58.25 = ABB Drives, set 20.01 = Embedded fieldbus and 22.11 = EFB ref1. Write 0x047E then 0x047F to holding register 400001 and the reference to 400002.
RS-485 wiring
Modbus RTU uses a two-wire RS-485 bus. Run one shielded twisted pair from the master to each drive in turn (daisy chain). On the ACS580 control board the embedded fieldbus terminals are B+, A− and DGND, with switches for termination and bias next to them — confirm the terminal numbers in your drive's hardware manual.
Swap A and B first when nothing answers: different vendors label the lines differently, and reversed polarity is the most common fault we see in class.
Group 58 parameters
Values marked "lab" come from the Softwell bench ACS580 configuration report (Drive Composer, December 2024).
| Parameter | Name | Set to | Why |
|---|---|---|---|
58.01 | Protocol enable | Modbus RTU | Turns on the built-in RS-485 port |
58.03 | Node address | 1–247, e.g. 3 | Unique on the segment; must match the master |
58.04 | Baud rate | 19.2 kbps (default) or as master | Lab used 9.6 kbps; both ends must match |
58.05 | Parity | 8 EVEN 1 (or as master) | Data bits, parity, stop bits must match |
58.25 | Control profile | ABB Drives | CW/SW and Ref1 scaling as in this guide |
58.33 | Addressing mode | Mode 0 | Classic register numbering |
58.34 | Word order | LO-HI (lab) | Order of 16-bit halves in 32-bit values |
58.101–58.106 | Data I/O 1–6 | CW, Ref1, Ref2, SW, Act1, Act2 | Defines holding registers 400001–400006 |
20.01 | Ext1 commands | Embedded fieldbus | Start/stop comes from Modbus |
22.11 / 28.11 | Ext1 speed / frequency ref1 | EFB ref1 | Speed reference comes from Ref1 |
46.01 / 46.02 | Speed / frequency scaling | e.g. 1500 rpm / 50 Hz | Ref1 = 20000 equals this value |
Set up Modbus RTU in Drive Composer
8 stepsWire the bus
Shielded twisted pair from the master to each drive's RS-485 terminals (B+, A−, DGND), daisy-chained, not star. Switch termination ON at the master and the last drive only.
Set protocol and address
In Drive Composer open group 58: 58.01 = Modbus RTU, 58.03 = a unique node address.
Match the serial settings
58.04 baud rate and 58.05 parity must equal the master's settings exactly (lab: 9.6 kbps, 8 EVEN 1).
Choose the profile and map
58.25 = ABB Drives; 58.33 = Mode 0; check 58.101–58.106 map CW, Ref1, Ref2, SW, Act1, Act2.
Give control to Modbus
20.01 Ext1 commands = Embedded fieldbus; 22.11 (speed) or 28.11 (frequency) Ext1 ref1 = EFB ref1.
Set communication-loss behaviour
Choose what the drive does when the master stops polling (fault, last speed or stop) and the delay, in the group 58 communication-loss parameters.
Apply and save
Apply the group 58 changes (refresh the embedded fieldbus settings or cycle power), then save with 96.07 Parameter save manually.
Test from the master
Write 0x047E to 400001, then 0x047F with Ref1 in 400002. Read 400004 (SW) and 400005 (Act1). Watch 58.08 received packets count up.
Register map
With the ABB Drives profile and 58.101–58.106 left at the default data map, the first six holding registers carry the process data:
| Holding register | Drive parameter | Content | Master |
|---|---|---|---|
400001 | Data I/O 1 | Control word (CW) | Write |
400002 | Data I/O 2 | Reference 1 (Ref1) | Write |
400003 | Data I/O 3 | Reference 2 (Ref2) | Write |
400004 | Data I/O 4 | Status word (SW) | Read |
400005 | Data I/O 5 | Actual value 1 (Act1) | Read |
400006 | Data I/O 6 | Actual value 2 (Act2) | Read |
Any other drive parameter can be read or written as a holding register too; the address follows the addressing mode set in 58.33.
Control word and Ref1
The ABB Drives profile uses a state machine: first send 047E to reach READY TO SWITCH ON, then 047F to run. Bit 7 (0→1) resets a fault.
Control word decoder (ABB Drives profile)
Type a control word in hex, or tap a common value, to see which bits are set.
Ref1 scaling calculator
In the ABB Drives profile, Ref1 = ±20000 equals the drive's scaling value: 46.01 Speed scaling (rpm) in speed control, or 46.02 Frequency scaling (Hz) in frequency control.
Want to wire this to a PLC in class?
Our labs connect ACS580 drives to S7-1200 and AC500 over Modbus RTU.
PLC side
Siemens S7-1200 with CB/CM 1241 (RS-485): configure the port with Modbus_Comm_Load (baud and parity equal to the drive), then use Modbus_Master with the drive's node address. Write CW and Ref1 with a write request to 400001–400002 and read 400004–400005 in a separate request, cycling the two.
ABB AC500: in Automation Builder, set the CPU serial port to Modbus RTU master with the same baud rate and parity, and poll the drive with the Modbus master function block from the Modbus library.
Any master: use function 03 (read holding registers) for status and function 06 or 16 (write single / multiple registers) for CW and Ref1.
Troubleshooting
| Symptom | Meaning | Fix |
|---|---|---|
| 58.08 Received packets stays at 0 | Master is not reaching the drive | Check wiring polarity (A/B), node address, and that the master is polling this address |
| 58.11 UART errors rising | Frames arrive but are corrupted or mismatched | Match baud rate and parity on both sides; check termination and shield |
| CRC errors rising | Noise or reflections on the line | Route away from motor cables, terminate both ends only, ground the shield at one end |
| Drive answers but will not start | Control word sequence or source wrong | Send 047E then 047F; check 20.01 = Embedded fieldbus and run enable |
| Speed is wrong | Ref1 scaling | Ref1 20000 = 46.01 / 46.02 value; use the calculator above |
Test yourself: Modbus RTU in ABB VFD
Five quick questions. Answers show straight away.
1. Which parameter enables the ACS580 embedded Modbus RTU port?
2. Which holding register carries the control word in the default ABB Drives map?
3. 58.11 UART errors keep rising. First check:
4. Which control word value runs the drive after 047E?
5. Termination should be switched on at:
Your score: . Want to set this up on a real drive and PLC? Book a free demo class.
Frequently asked questions
Does the ACS580 need an option card for Modbus RTU?
No. Modbus RTU runs on the drive's built-in RS-485 port, configured in parameter group 58 (embedded fieldbus).
Which registers control an ACS580 over Modbus RTU?
With the ABB Drives profile and the default data map, write the control word to 400001 and Ref1 to 400002; read the status word from 400004 and Act1 from 400005.
What control word starts the drive?
Send 0x047E (ready to switch on) first, then 0x047F to run. Ref1 sets the speed.
Why does 58.11 show UART errors?
The drive receives frames it cannot decode, usually a baud-rate or parity mismatch with the master, or wiring and termination problems.
How many drives can share one Modbus RTU line?
Addresses go up to 247, but a single RS-485 segment is normally limited to 32 unit loads without repeaters; keep polling time in mind for the update rate you need.