Skip to content
Proxus 2.0.1 Licence and sign-in fixes after the 2.0 upgrade Release notes

ABB ACS580 Modbus register map

Also searched as: ACS580-01 · ACS580-04 · ACS580-07 · ACS580 standard control program

31 Modbus registers of the ABB ACS580, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from ACS580 standard control program firmware manual (Revision J, 2025-10-06).

ABB ACS580 general purpose drive over the embedded fieldbus (EFB) Modbus RTU interface; ABB Drives profile words and key 16-bit actual values.

Device type
Variable speed drive
Registers
31
Interfaces
Modbus RTU
Default unit ID
1
Byte order (multi-register values)
ABCD
Serial settings
19200 baud, 8 data bits, even parity, 1 stop bit

Hardware verification

Not yet verified on hardware. The map is transcribed from the vendor document and checked against it by script; check the first readings against the device display.

Verify it on your device What the levels mean

Connection notes

  • Enable the EFB with 58.01 Protocol enable = Modbus RTU; node address is 58.03, baud rate 58.04, parity 58.05.
  • The manual writes holding registers as 6-digit references (400001...); the address here is the reference minus 400001.
  • Registers 400001-400006 hold the defaults of 58.101-58.106 Data I/O 1-6 and change if those are re-mapped.
  • Parameter registers use 58.33 Addressing mode = Mode 0 (default), 16-bit access, register = 400000 + 100 x group + index; values use the parameter's 16-bit fieldbus scaling (FbEq16).
  • 32-bit parameter access (420000 + 200 x group + 2 x index, word order 58.34, LO-HI by default) is not listed here.
  • Writing the control word or references moves the motor. Read-only access is the safe default.

Registers

Grouped as in the vendor document.

Status 3 registers
Name and key Reference Address Type Byte order Unit Scale
Status word (SW)status_word 40004 0x0003 bitfield16
Actual value 1 (ACT1)actual_value_1 40005 0x0004 int16
Actual value 2 (ACT2)actual_value_2 40006 0x0005 int16
Control 3 registers
Name and key Reference Address Type Byte order Unit Scale
Control word (CW)control_word 40001 0x0000 bitfield16
Reference 1 (REF1)reference_1 40002 0x0001 int16
Reference 2 (REF2)reference_2 40003 0x0002 int16
Diagnostics 6 registers
Name and key Reference Address Type Byte order Unit Scale
Reset error registersreset_error_registers 40090 0x0059 uint16
Function code of the failed queryerror_function_code 40091 0x005A uint16
Error codeerror_code 40092 0x005B uint16
Failed registerfailed_register 40093 0x005C uint16
Last register written successfullylast_register_written 40094 0x005D uint16
Last register read successfullylast_register_read 40095 0x005E uint16
Parameters 19 registers
Name and key Reference Address Type Byte order Unit Scale
Motor speed usedmotor_speed_used 40101 0x0064 int16 rpm
Motor speed %motor_speed_percent 40103 0x0066 int16 % × 0.1
Output frequencyoutput_frequency 40106 0x0069 int16 Hz
Motor currentmotor_current 40107 0x006A uint16 A
Motor current % of motor nominalmotor_current_pct_motor_nom 40108 0x006B uint16 %
Motor torquemotor_torque 40110 0x006D int16 %
DC voltagedc_voltage 40111 0x006E uint16 V × 0.1
Output voltageoutput_voltage 40113 0x0070 uint16 V
Output poweroutput_power 40114 0x0071 int16 kW
Output power % of motor nominaloutput_power_pct_motor_nom 40115 0x0072 int16 % × 0.1
Inverter GWh counterinverter_gwh_counter 40118 0x0075 uint16 GWh
Inverter MWh counterinverter_mwh_counter 40119 0x0076 uint16 MWh
Inverter kWh counterinverter_kwh_counter 40120 0x0077 uint16 kWh × 0.1
Tripping faulttripping_fault 40401 0x0190 uint16
On-time counteron_time_counter 40501 0x01F4 uint16 d
Run-time counterrun_time_counter 40502 0x01F5 uint16 d
Inverter temperatureinverter_temperature 40511 0x01FE int16 %
Main control wordmain_control_word 40601 0x0258 bitfield16
Main status wordmain_status_word 40611 0x0262 bitfield16

Source documents

  • ACS580 standard control program firmware manual , ABB, 3AXD50000016097, Revision J, 2025-10-06 (accessed 2026-11-09) Chapter "Fieldbus control through the embedded fieldbus interface (EFB)" (register addressing, Modbus holding register addresses, error code registers), parameter 58.33 and the parameter listing (groups 01, 04, 05, 06, 46).

View this map on GitHub (YAML)

Read it by name

Read the ACS580 with an AI assistant

The Proxus Industrial MCP Server includes this map. Set it on the device, and Claude, Cursor or VS Code reads registers by key with the right type, byte order, scale and unit. It only reads.

This device speaks Modbus RTU: reach it through a Modbus TCP gateway and use the gateway’s address with the device’s unit ID.

proxus-mcp.json

{
  "devices": {
    "acs580-1": {
      "protocol": "modbus-tcp",
      "host": "192.168.10.40",
      "unit_id": 1,
      "map": "abb/acs580"
    }
  }
}

Ask your assistant

Read control_word, reference_1, reference_2 from acs580-1.

The tool call it makes

read_named(device: "acs580-1", keys: ["control_word", "reference_1", "reference_2"])

Have this device? Verify the map.

Ask your assistant to run verify_device_map. It reads every register once, read-only, checks that the values are plausible and asks you to compare two values with the display. You get a report and a prefilled GitHub issue to submit; your name goes on this map’s verified list.

Collecting from many devices?

Proxus reads Modbus TCP and RTU devices next to the machines, keeps the history and delivers the values to dashboards, databases and AI.

Modbus in Proxus Industrial connectivity