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

ABB ACS880 Modbus register map

Also searched as: ACS880-01 · ACS880-04 · ACS880-07 · ACS880 primary control program · AINLX

28 Modbus registers of the ABB ACS880, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from ACS880 Primary control program Firmware manual (AINLX) (Revision Y, 2024-03-12).

ABB ACS880 industrial drive (primary control program AINLX) over the embedded fieldbus (EFB) Modbus RTU interface; control words and key 16-bit actual values.

Device type
Variable speed drive
Registers
28
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.1 Protocol enable = Modbus RTU; node address is 58.3, baud rate 58.4, parity 58.5.
  • 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 (FbEq 16b).
  • 32-bit parameter access (420000 + 200 x group + 2 x index, word order 58.34, LO-HI by default) is not listed here.
  • This manual covers the AINLX primary control program; drives with the UCU control board (YINLX) have a separate manual, 3AXD50001000998.
  • 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 16 registers
Name and key Reference Address Type Byte order Unit Scale
Motor speed usedmotor_speed_used 40101 0x0064 int16 rpm
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
Flux actual %flux_actual 40124 0x007B uint16 %
INU momentary cos phiinu_cos_phi 40125 0x007C int16 × 0.01
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

  • ACS880 Primary control program Firmware manual (AINLX) , ABB, 3AUA0000085967, Revision Y, 2024-03-12 (accessed 2026-11-09) Chapter "Fieldbus control through the embedded fieldbus interface (EFB)" (Modbus holding register addresses, error code registers), parameter 58.33 and the parameter listing (groups 1, 4, 5, 6, 46).

View this map on GitHub (YAML)

Read it by name

Read the ACS880 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": {
    "acs880-1": {
      "protocol": "modbus-tcp",
      "host": "192.168.10.40",
      "unit_id": 1,
      "map": "abb/acs880"
    }
  }
}

Ask your assistant

Read control_word, reference_1, reference_2 from acs880-1.

The tool call it makes

read_named(device: "acs880-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