ABB Drives · Communication Guide

How to configure Modbus RTU in an ABB VFD (ACS580), step by step

The ACS580 has Modbus RTU built in — no option card needed. This guide covers RS-485 wiring, every group 58 parameter, the register map, the control word sequence and the fault-finding we use on the Softwell bench.

2,500+ engineers trained 4.9/5 Google rating 21+ years, Chinchwad, Pune Next batch: contact for dates
Quick answer

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.

PLC masterS7-1200 + CB1241 / AC500ACS580 #1node 1ACS580 #2node 2ACS580 #3node 3 B+ (Data+)A− (Data−)DGND / shield reference Termination ON (master) Termination ON (last drive) Middle drives: termination OFF · one bias source on the segmentMaster polls node 1 → 2 → 3 in turn; each drive answers only its own address
Request (PLC/SCADA → drive)Response (drive → PLC/SCADA)
Modbus RTU daisy chain. Terminate only the two physical ends of the bus. A star or stub layout causes reflections and CRC errors.
Softwell bench tip

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).

ParameterNameSet toWhy
58.01Protocol enableModbus RTUTurns on the built-in RS-485 port
58.03Node address1–247, e.g. 3Unique on the segment; must match the master
58.04Baud rate19.2 kbps (default) or as masterLab used 9.6 kbps; both ends must match
58.05Parity8 EVEN 1 (or as master)Data bits, parity, stop bits must match
58.25Control profileABB DrivesCW/SW and Ref1 scaling as in this guide
58.33Addressing modeMode 0Classic register numbering
58.34Word orderLO-HI (lab)Order of 16-bit halves in 32-bit values
58.101–58.106Data I/O 1–6CW, Ref1, Ref2, SW, Act1, Act2Defines holding registers 400001–400006
20.01Ext1 commandsEmbedded fieldbusStart/stop comes from Modbus
22.11 / 28.11Ext1 speed / frequency ref1EFB ref1Speed reference comes from Ref1
46.01 / 46.02Speed / frequency scalinge.g. 1500 rpm / 50 HzRef1 = 20000 equals this value

Set up Modbus RTU in Drive Composer

8 steps
0 of 8 steps done
1

Wire 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.

2

Set protocol and address

In Drive Composer open group 58: 58.01 = Modbus RTU, 58.03 = a unique node address.

3

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).

4

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.

5

Give control to Modbus

20.01 Ext1 commands = Embedded fieldbus; 22.11 (speed) or 28.11 (frequency) Ext1 ref1 = EFB ref1.

6

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.

7

Apply and save

Apply the group 58 changes (refresh the embedded fieldbus settings or cycle power), then save with 96.07 Parameter save manually.

8

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.

Expected result: the master reads a changing status word, 58.08 Received packets keeps increasing, and the motor starts and follows Ref1.

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 registerDrive parameterContentMaster
400001Data I/O 1Control word (CW)Write
400002Data I/O 2Reference 1 (Ref1)Write
400003Data I/O 3Reference 2 (Ref2)Write
400004Data I/O 4Status word (SW)Read
400005Data I/O 5Actual value 1 (Act1)Read
400006Data I/O 6Actual 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.

    Book a Free Demo Class

    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

    SymptomMeaningFix
    58.08 Received packets stays at 0Master is not reaching the driveCheck wiring polarity (A/B), node address, and that the master is polling this address
    58.11 UART errors risingFrames arrive but are corrupted or mismatchedMatch baud rate and parity on both sides; check termination and shield
    CRC errors risingNoise or reflections on the lineRoute away from motor cables, terminate both ends only, ground the shield at one end
    Drive answers but will not startControl word sequence or source wrongSend 047E then 047F; check 20.01 = Embedded fieldbus and run enable
    Speed is wrongRef1 scalingRef1 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:

    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.

    Get the ABB VFD syllabus + free demo class

    Share your details — a Softwell training advisor will call you within 24 hours with batch dates, fees and hardware access options.

    No spam. Used only to share course details for this enquiry.

    Learn ABB drives on real hardware

    Offline 10 AM–2 PM or 2:30–6:30 PM, online 7:30–9 PM, Sunday 11 AM–5 PM. ABB VFD is part of Level 01 with Modbus RTU and Ethernet.

    Request Course Details
    >