ABB M1M 20 / M1M 30 Modbus register map

Panel-mounted multifunction power meters from ABB's M1M range. The Modbus manual covers energy counters, real-time electrical values, harmonic distortion, digital I/O, device information and communication settings. The M1M 20 and M1M 30 come in RS-485 and Ethernet versions.

Protocol
Modbus RTU (RS-485) and Modbus TCP/IP (Ethernet versions)
Defaults
Modbus TCP uses port 502 by default (p. 6). Modbus RTU address range is 1 to 247, baud rates 9600 to 115200 and parity none, even or odd (p. 27). Function codes 03 and 10 hex are supported (p. 7).
Addresses in the manual
0-based protocol addresses, as sent on the wire
32 and 64-bit values
High word first (AB CD)
Registers listed
75
Checked against
9AKK108467A2704, version 1.3

Address base. Register addresses are printed in hexadecimal and the manual's request examples put the same value in the start-address field, for example 0x5000 for total active energy import and 0x5B02 for phase voltage L1 (p. 11, p. 14). Addresses here are those hex values converted to decimal. Only rows applicable to both the M1M 20 and M1M 30 are listed; the manual also has M1M 30-only average, maximum and minimum blocks. Address 20480 in the manual is address 20480 on the wire.

Word order. The manual states Modbus is big-endian and its multi-register examples carry the most significant word first, for example total energy 0x0F4243 read from four registers 00 00 00 00 00 0F 42 43 (p. 7, p. 11). A register value of 0xFFFF means the quantity cannot be measured in the current wiring mode (p. 7).

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

75 registers
Manual Wire Register Type Regs Unit Scale Access Area
20480 20480 Active energy importActiveEnergyImport · Printed as hex 5000. uint64 4 kWh 0.01 R Holding (FC03)
20484 20484 Active energy exportActiveEnergyExport · Printed as hex 5004. uint64 4 kWh 0.01 R Holding (FC03)
20492 20492 Reactive energy importReactiveEnergyImport · Printed as hex 500C. uint64 4 kvarh 0.01 R Holding (FC03)
20496 20496 Reactive energy exportReactiveEnergyExport · Printed as hex 5010. uint64 4 kvarh 0.01 R Holding (FC03)
23296 23296 Three-phase system voltageVoltageSystem · Printed as hex 5B00. uint32 2 V 0.1 R Holding (FC03)
23298 23298 Phase voltage L1Voltage_L1N · Printed as hex 5B02. uint32 2 V 0.1 R Holding (FC03)
23300 23300 Phase voltage L2Voltage_L2N · Printed as hex 5B04. uint32 2 V 0.1 R Holding (FC03)
23302 23302 Phase voltage L3Voltage_L3N · Printed as hex 5B06. uint32 2 V 0.1 R Holding (FC03)
23304 23304 Line voltage L1-L2Voltage_L1L2 · Printed as hex 5B08. uint32 2 V 0.1 R Holding (FC03)
23306 23306 Line voltage L3-L2Voltage_L3L2 · Printed as hex 5B0A. uint32 2 V 0.1 R Holding (FC03)
23308 23308 Line voltage L1-L3Voltage_L1L3 · Printed as hex 5B0C. uint32 2 V 0.1 R Holding (FC03)
23310 23310 Three-phase system currentCurrentSystem · Printed as hex 5B0E. uint32 2 A 0.01 R Holding (FC03)
23312 23312 Current L1Current_L1 · Printed as hex 5B10. uint32 2 A 0.01 R Holding (FC03)
23314 23314 Current L2Current_L2 · Printed as hex 5B12. uint32 2 A 0.01 R Holding (FC03)
23316 23316 Current L3Current_L3 · Printed as hex 5B14. uint32 2 A 0.01 R Holding (FC03)
23318 23318 Neutral currentCurrent_N · Printed as hex 5B16. Neutral current is listed for M1M 20 and 30 only. uint32 2 A 0.01 R Holding (FC03)
23322 23322 Active power totalActivePower_Total · Printed as hex 5B1A. int32 2 W 0.01 R Holding (FC03)
23324 23324 Active power L1ActivePower_L1 · Printed as hex 5B1C. int32 2 W 0.01 R Holding (FC03)
23326 23326 Active power L2ActivePower_L2 · Printed as hex 5B1E. int32 2 W 0.01 R Holding (FC03)
23328 23328 Active power L3ActivePower_L3 · Printed as hex 5B20. int32 2 W 0.01 R Holding (FC03)
23330 23330 Reactive power totalReactivePower_Total · Printed as hex 5B22. int32 2 var 0.01 R Holding (FC03)
23332 23332 Reactive power L1ReactivePower_L1 · Printed as hex 5B24. int32 2 var 0.01 R Holding (FC03)
23334 23334 Reactive power L2ReactivePower_L2 · Printed as hex 5B26. int32 2 var 0.01 R Holding (FC03)
23336 23336 Reactive power L3ReactivePower_L3 · Printed as hex 5B28. int32 2 var 0.01 R Holding (FC03)
23338 23338 Apparent power totalApparentPower_Total · Printed as hex 5B2A. The manual prints the unit of this row as VAR; the other apparent power rows say VA. int32 2 VA 0.01 R Holding (FC03)
23340 23340 Apparent power L1ApparentPower_L1 · Printed as hex 5B2C. int32 2 VA 0.01 R Holding (FC03)
23342 23342 Apparent power L2ApparentPower_L2 · Printed as hex 5B2E. int32 2 VA 0.01 R Holding (FC03)
23344 23344 Apparent power L3ApparentPower_L3 · Printed as hex 5B30. int32 2 VA 0.01 R Holding (FC03)
23346 23346 Line frequencyFrequency · Printed as hex 5B32. uint16 1 Hz 0.01 R Holding (FC03)
23347 23347 Power angle totalPowerAngle_Total · Printed as hex 5B33. int16 1 ° 0.1 R Holding (FC03)
23348 23348 Power angle L1PowerAngle_L1 · Printed as hex 5B34. int16 1 ° 0.1 R Holding (FC03)
23349 23349 Power angle L2PowerAngle_L2 · Printed as hex 5B35. int16 1 ° 0.1 R Holding (FC03)
23350 23350 Power angle L3PowerAngle_L3 · Printed as hex 5B36. int16 1 ° 0.1 R Holding (FC03)
23351 23351 Voltage angle L1VoltageAngle_L1 · Printed as hex 5B37. int16 1 ° 0.1 R Holding (FC03)
23352 23352 Voltage angle L2VoltageAngle_L2 · Printed as hex 5B38. int16 1 ° 0.1 R Holding (FC03)
23353 23353 Voltage angle L3VoltageAngle_L3 · Printed as hex 5B39. int16 1 ° 0.1 R Holding (FC03)
23357 23357 Current angle L1CurrentAngle_L1 · Printed as hex 5B3D. int16 1 ° 0.1 R Holding (FC03)
23358 23358 Current angle L2CurrentAngle_L2 · Printed as hex 5B3E. int16 1 ° 0.1 R Holding (FC03)
23359 23359 Current angle L3CurrentAngle_L3 · Printed as hex 5B3F. int16 1 ° 0.1 R Holding (FC03)
23360 23360 Power factor totalPowerFactor_Total · Printed as hex 5B40. int16 1 0.001 R Holding (FC03)
23361 23361 Power factor L1PowerFactor_L1 · Printed as hex 5B41. int16 1 0.001 R Holding (FC03)
23362 23362 Power factor L2PowerFactor_L2 · Printed as hex 5B42. int16 1 0.001 R Holding (FC03)
23363 23363 Power factor L3PowerFactor_L3 · Printed as hex 5B43. int16 1 0.001 R Holding (FC03)
23368 23368 Displacement factor totalCosphi_Total · Printed as hex 5B48. int16 1 0.001 R Holding (FC03)
23369 23369 Displacement factor L1Cosphi_L1 · Printed as hex 5B49. int16 1 0.001 R Holding (FC03)
23370 23370 Displacement factor L2Cosphi_L2 · Printed as hex 5B4A. int16 1 0.001 R Holding (FC03)
23371 23371 Displacement factor L3Cosphi_L3 · Printed as hex 5B4B. int16 1 0.001 R Holding (FC03)
23808 23808 Voltage THD L1THD_Voltage_L1 · Printed as hex 5D00. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
23936 23936 Voltage THD L2THD_Voltage_L2 · Printed as hex 5D80. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
24064 24064 Voltage THD L3THD_Voltage_L3 · Printed as hex 5E00. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
24576 24576 Current THD L1THD_Current_L1 · Printed as hex 6000. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
24704 24704 Current THD L2THD_Current_L2 · Printed as hex 6080. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
24832 24832 Current THD L3THD_Current_L3 · Printed as hex 6100. The 39 registers that follow hold the individual harmonics (2nd up to 40th, up to 15th on the M1M 20). uint16 1 % 0.1 R Holding (FC03)
25344 25344 Digital output 1 statusDigitalOutput1 · Printed as hex 6300. 0 = off, 1 = on. The output type must be set to communication on the meter display for remote control (p. 21, write example p. 22). uint16 1 1 RW Holding (FC03)
25345 25345 Digital output 2 statusDigitalOutput2 · Printed as hex 6301. 0 = off, 1 = on. The output type must be set to communication on the meter display. uint16 1 1 RW Holding (FC03)
25352 25352 Digital inputs 1 and 2 statusDigitalInputs12 · Printed as hex 6308. Two registers, one per input; 0 = off, 1 = on. uint32 2 1 R Holding (FC03)
35072 35072 Serial numberSerialNumber · Printed as hex 8900. ASCII text. string 5 1 R Holding (FC03)
35080 35080 Meter firmware versionFirmwareVersion · Printed as hex 8908. ASCII text. string 8 1 R Holding (FC03)
35088 35088 Product type number IDProductTypeId · Printed as hex 8910. Printed data type is ASCII, one register. uint16 1 1 R Holding (FC03)
35097 35097 Product tag nameProductTag · Printed as hex 8919. ASCII text. The manual says only the product tag name can be changed in this block. string 5 1 RW Holding (FC03)
35168 35168 Type designationTypeDesignation · Printed as hex 8960. ASCII text. string 6 1 R Holding (FC03)
35174 35174 Product nameProductName · Printed as hex 8966. ASCII text. string 8 1 R Holding (FC03)
36087 36087 Timer up counterTimerUpCounter · Printed as hex 8CF7. uint32 2 h 0.1 R Holding (FC03)
35840 35840 Current transformer primaryCTPrimary · Printed as hex 8C00. All current and voltage transformer registers must be written together in one request (p. 26). uint32 2 1 RW Holding (FC03)
35842 35842 Current transformer secondaryCTSecondary · Printed as hex 8C02. Written together with the other ratio registers. uint32 2 1 RW Holding (FC03)
35844 35844 Voltage transformer primaryVTPrimary · Printed as hex 8C04. Written together with the other ratio registers. uint32 2 1 RW Holding (FC03)
35846 35846 Voltage transformer secondaryVTSecondary · Printed as hex 8C06. Written together with the other ratio registers. uint32 2 1 RW Holding (FC03)
36069 36069 Wiring typeWires · Printed as hex 8CE5. Set separately from the transformer ratios. uint16 1 1 RW Holding (FC03)
36075 36075 Modbus RTU addressRTU_Address · Printed as hex 8CEB. Range 1 to 247. The three serial registers must be written in one request. uint16 1 1 RW Holding (FC03)
36076 36076 Modbus RTU baud rateRTU_Baudrate · Printed as hex 8CEC. Allowed values 9600, 19200, 38400, 57600, 115200. The manual example writes 19200 as 0x00004B00. uint32 2 baud 1 RW Holding (FC03)
36078 36078 Modbus RTU parityRTU_Parity · Printed as hex 8CEE. 0 = none, 1 = even, 2 = odd. uint16 1 1 RW Holding (FC03)
36079 36079 Ethernet DHCP enableTCP_DHCP · Printed as hex 8CEF. 0 = disabled, 1 = enabled. Ethernet versions only; all TCP/IP registers are written together. uint16 1 1 RW Holding (FC03)
36080 36080 Ethernet IP addressTCP_IP · Printed as hex 8CF0. Packed as 0xAABBCCDD for A.B.C.D. uint32 2 1 RW Holding (FC03)
36082 36082 Ethernet subnet maskTCP_Mask · Printed as hex 8CF2. Packed as 0xAABBCCDD for A.B.C.D. uint32 2 1 RW Holding (FC03)
36084 36084 Ethernet gatewayTCP_Gateway · Printed as hex 8CF4. Packed as 0xAABBCCDD for A.B.C.D. uint32 2 1 RW Holding (FC03)

Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. In Modbus Poll set Word order to AB CD.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: M1M Power Meters Modbus Manual (library.e.abb.com)

9AKK108467A2704, version 1.3, p. 4-28. Read on 2026-10-24.

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

More from ABB

All ABB register maps

Other power meters

All register maps · Modbus addressing explained