- Home
- Modbus register maps
- ABB
- M4M 20 / M4M 30 network analyzer
Power meter (network analyzer) · Modbus register map
ABB M4M 20 / M4M 30 network analyzer Modbus register map
Updated 16 October 2026
The M4M 20 and M4M 30 are ABB panel-mount network analyzers available with an RS-485 Modbus RTU or an Ethernet Modbus TCP port. All data sits in holding registers at hex addresses that are sent on the wire unchanged, with 64-bit energy and 32-bit instantaneous values high word first. This map covers total, tariff and per-phase energy, real-time electrical values, THD summaries, device info, transformer ratios and the RTU/TCP communication settings.
This page lists 152 Modbus registers for the ABB M4M 20 / M4M 30 network analyzer — 26 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from ABB’s own free documentation (linked below) and checked against it.
- Manufacturer
- ABB
- Model
- M4M 20 / M4M 30 network analyzer
- Equipment type
- Power meter (network analyzer)
- Registers
- 152 (26 writable)
- Transport
- Modbus RTU, Modbus TCP
- Default unit ID
- Not stated
- TCP port
- 502
- Documented addressing
- hexadecimal, 0-based
- 32-bit word order
- ABCD high word first (big-endian)
- Firmware
- Map v1.3O (2023-10-23); some registers need FW P1.3.10.0 or later
- Also known as
- M4M 20, M4M 30, M4M 20 Modbus, M4M 30 Modbus, M4M 20 Ethernet, M4M 30 Ethernet, M4M 20 I/O, M4M 30 I/O, M4M 2X, M4M 30-M, M4M 32
Integration notes: ABB M4M 20 / M4M 30 network analyzer
Read holding registers with function 3 at the hex address from the map (for example 0x5B02 for phase voltage L1). Energy is 4 registers at 0.01 kWh; voltages, currents and powers are 2 registers, high word first.
Minimum registers to map
Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.
| Register | Name | Type | Why | Access |
|---|---|---|---|---|
| HR 20480 | Active energy import | UINT64 ABCD | Total active import energy | Read |
| HR 20484 | Active energy export | UINT64 ABCD | Total active export energy | Read |
| HR 23298 | Phase voltage L1 | UINT32 ABCD | Phase voltage L1 | Read |
| HR 23312 | Current L1 | UINT32 ABCD | Current L1 | Read |
| HR 23322 | Active power total | INT32 ABCD | Total active power | Read |
| HR 23346 | Frequency | UINT16 | Frequency | Read |
| HR 23360 | Power factor total | INT16 | Total power factor | Read |
| HR 35168 | Type designation | STRING[12] | Type designation (ASCII), confirms the variant | Read |
Enable Modbus control & writes
Modbus is built in on the Modbus RTU and Ethernet (Modbus TCP) versions; set address, baud rate and parity (RTU) or DHCP/IP/port (TCP) on the device or through registers 8CEB-8CF6.
Byte order & addressing
- Hex wire addresses; no 40001 offset.
- Writes to unsupported but writable registers are not rejected; read back to confirm.
- Parity register encoding is 0 = odd, 1 = even, 2 = none.
- IP address, mask and gateway are packed into one UINT32 as 0xAABBCCDD.
Network setup
- RTU: 3-wire RS-485 (A, B, common), line topology, 120 ohm termination at both ends, max 700 m.
- RTU address 1-247; baud 9600-115200.
- TCP: default port 502; the M4M 30 Ethernet has two RJ45 ports for daisy-chaining.
Watch out for
- Tariff energy, CT neutral ratio and unbalance exist only on M4M 30.
- CT ratio registers are not used on Rogowski versions.
ABB M4M 20 / M4M 30 network analyzer Modbus registers
Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.
| Table | Address | Name | Description | Type | Order | Scale | Units | Access | Values / bits |
|---|---|---|---|---|---|---|---|---|---|
| HR | 20480doc 5000 | Active energy import | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 20484doc 5004 | Active energy export | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 20488doc 5008 | Active energy net | Signed: import minus export. | INT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20492doc 500C | Reactive energy import | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 20496doc 5010 | Reactive energy export | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 20500doc 5014 | Reactive energy net | Signed: import minus export. | INT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20504doc 5018 | Apparent energy import | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 20508doc 501C | Apparent energy export | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 20512doc 5020 | Apparent energy net | Signed: import minus export. | INT64 | ABCD | × 0.01 | kVAh | Read | |
| HR | 20848doc 5170 | Active energy import tariff 1 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20852doc 5174 | Active energy import tariff 2 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20856doc 5178 | Active energy import tariff 3 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20860doc 517C | Active energy import tariff 4 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20864doc 5180 | Active energy import tariff 5 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20868doc 5184 | Active energy import tariff 6 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20880doc 5190 | Active energy export tariff 1 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20884doc 5194 | Active energy export tariff 2 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20888doc 5198 | Active energy export tariff 3 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20892doc 519C | Active energy export tariff 4 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20896doc 51A0 | Active energy export tariff 5 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20900doc 51A4 | Active energy export tariff 6 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kWh | Read | |
| HR | 20912doc 51B0 | Reactive energy import tariff 1 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20916doc 51B4 | Reactive energy import tariff 2 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20920doc 51B8 | Reactive energy import tariff 3 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20924doc 51BC | Reactive energy import tariff 4 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20928doc 51C0 | Reactive energy import tariff 5 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20932doc 51C4 | Reactive energy import tariff 6 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20944doc 51D0 | Reactive energy export tariff 1 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20948doc 51D4 | Reactive energy export tariff 2 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20952doc 51D8 | Reactive energy export tariff 3 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20956doc 51DC | Reactive energy export tariff 4 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20960doc 51E0 | Reactive energy export tariff 5 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 20964doc 51E4 | Reactive energy export tariff 6 | M4M 30 only. | UINT64 | ABCD | × 0.01 | kvarh | Read | |
| HR | 21600doc 5460 | Active energy import L1 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21604doc 5464 | Active energy import L2 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21608doc 5468 | Active energy import L3 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21612doc 546C | Active energy export L1 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21616doc 5470 | Active energy export L2 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21620doc 5474 | Active energy export L3 | UINT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21624doc 5478 | Active energy net L1 | INT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21628doc 547C | Active energy net L2 | INT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21632doc 5480 | Active energy net L3 | INT64 | ABCD | × 0.01 | kWh | Read | ||
| HR | 21636doc 5484 | Reactive energy import L1 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21640doc 5488 | Reactive energy import L2 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21644doc 548C | Reactive energy import L3 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21648doc 5490 | Reactive energy export L1 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21652doc 5494 | Reactive energy export L2 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21656doc 5498 | Reactive energy export L3 | UINT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21660doc 549C | Reactive energy net L1 | INT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21664doc 54A0 | Reactive energy net L2 | INT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21668doc 54A4 | Reactive energy net L3 | INT64 | ABCD | × 0.01 | kvarh | Read | ||
| HR | 21672doc 54A8 | Apparent energy import L1 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21676doc 54AC | Apparent energy import L2 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21680doc 54B0 | Apparent energy import L3 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21684doc 54B4 | Apparent energy export L1 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21688doc 54B8 | Apparent energy export L2 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21692doc 54BC | Apparent energy export L3 | UINT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21696doc 54C0 | Apparent energy net L1 | INT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21700doc 54C4 | Apparent energy net L2 | INT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 21704doc 54C8 | Apparent energy net L3 | INT64 | ABCD | × 0.01 | kVAh | Read | ||
| HR | 23296doc 5B00 | Three-phase system voltage | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23298doc 5B02 | Phase voltage L1 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23300doc 5B04 | Phase voltage L2 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23302doc 5B06 | Phase voltage L3 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23304doc 5B08 | Line voltage L1-L2 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23306doc 5B0A | Line voltage L3-L2 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23308doc 5B0C | Line voltage L1-L3 | UINT32 | ABCD | × 0.1 | V | Read | ||
| HR | 23310doc 5B0E | Three-phase system current | UINT32 | ABCD | × 0.01 | A | Read | ||
| HR | 23312doc 5B10 | Current L1 | UINT32 | ABCD | × 0.01 | A | Read | ||
| HR | 23314doc 5B12 | Current L2 | UINT32 | ABCD | × 0.01 | A | Read | ||
| HR | 23316doc 5B14 | Current L3 | UINT32 | ABCD | × 0.01 | A | Read | ||
| HR | 23318doc 5B16 | Current N | UINT32 | ABCD | × 0.01 | A | Read | ||
| HR | 23322doc 5B1A | Active power total | INT32 | ABCD | × 0.01 | W | Read | ||
| HR | 23324doc 5B1C | Active power L1 | INT32 | ABCD | × 0.01 | W | Read | ||
| HR | 23326doc 5B1E | Active power L2 | INT32 | ABCD | × 0.01 | W | Read | ||
| HR | 23328doc 5B20 | Active power L3 | INT32 | ABCD | × 0.01 | W | Read | ||
| HR | 23330doc 5B22 | Reactive power total | INT32 | ABCD | × 0.01 | var | Read | ||
| HR | 23332doc 5B24 | Reactive power L1 | INT32 | ABCD | × 0.01 | var | Read | ||
| HR | 23334doc 5B26 | Reactive power L2 | INT32 | ABCD | × 0.01 | var | Read | ||
| HR | 23336doc 5B28 | Reactive power L3 | INT32 | ABCD | × 0.01 | var | Read | ||
| HR | 23338doc 5B2A | Apparent power total | INT32 | ABCD | × 0.01 | VA | Read | ||
| HR | 23340doc 5B2C | Apparent power L1 | INT32 | ABCD | × 0.01 | VA | Read | ||
| HR | 23342doc 5B2E | Apparent power L2 | INT32 | ABCD | × 0.01 | VA | Read | ||
| HR | 23344doc 5B30 | Apparent power L3 | INT32 | ABCD | × 0.01 | VA | Read | ||
| HR | 23346doc 5B32 | Frequency | UINT16 | × 0.01 | Hz | Read | |||
| HR | 23347doc 5B33 | Phase angle power total | INT16 | × 0.1 | ° | Read | |||
| HR | 23348doc 5B34 | Phase angle power L1 | INT16 | × 0.1 | ° | Read | |||
| HR | 23349doc 5B35 | Phase angle power L2 | INT16 | × 0.1 | ° | Read | |||
| HR | 23350doc 5B36 | Phase angle power L3 | INT16 | × 0.1 | ° | Read | |||
| HR | 23351doc 5B37 | Phase angle voltage L1 | INT16 | × 0.1 | ° | Read | |||
| HR | 23352doc 5B38 | Phase angle voltage L2 | INT16 | × 0.1 | ° | Read | |||
| HR | 23353doc 5B39 | Phase angle voltage L3 | INT16 | × 0.1 | ° | Read | |||
| HR | 23357doc 5B3D | Phase angle current L1 | INT16 | × 0.1 | ° | Read | |||
| HR | 23358doc 5B3E | Phase angle current L2 | INT16 | × 0.1 | ° | Read | |||
| HR | 23359doc 5B3F | Phase angle current L3 | INT16 | × 0.1 | ° | Read | |||
| HR | 23360doc 5B40 | Power factor total | INT16 | × 0.001 | Read | ||||
| HR | 23361doc 5B41 | Power factor L1 | INT16 | × 0.001 | Read | ||||
| HR | 23362doc 5B42 | Power factor L2 | INT16 | × 0.001 | Read | ||||
| HR | 23363doc 5B43 | Power factor L3 | INT16 | × 0.001 | Read | ||||
| HR | 23364doc 5B44 | Current quadrant total | UINT16 | Read | 1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4 | ||||
| HR | 23365doc 5B45 | Current quadrant L1 | UINT16 | Read | 1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4 | ||||
| HR | 23366doc 5B46 | Current quadrant L2 | UINT16 | Read | 1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4 | ||||
| HR | 23367doc 5B47 | Current quadrant L3 | UINT16 | Read | 1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4 | ||||
| HR | 23368doc 5B48 | Cosphi (displacement factor) total | Unit column in the map says degrees; value is a factor at 0.001. | INT16 | × 0.001 | Read | |||
| HR | 23369doc 5B49 | Cosphi (displacement factor) L1 | Unit column in the map says degrees; value is a factor at 0.001. | INT16 | × 0.001 | Read | |||
| HR | 23370doc 5B4A | Cosphi (displacement factor) L2 | Unit column in the map says degrees; value is a factor at 0.001. | INT16 | × 0.001 | Read | |||
| HR | 23371doc 5B4B | Cosphi (displacement factor) L3 | Unit column in the map says degrees; value is a factor at 0.001. | INT16 | × 0.001 | Read | |||
| HR | 23808doc 5D00 | Voltage THD L1 | UINT16 | × 0.1 | % | Read | |||
| HR | 23936doc 5D80 | Voltage THD L2 | UINT16 | × 0.1 | % | Read | |||
| HR | 24064doc 5E00 | Voltage THD L3 | UINT16 | × 0.1 | % | Read | |||
| HR | 24192doc 5E80 | Voltage THD L1-L2 | UINT16 | × 0.1 | % | Read | |||
| HR | 24320doc 5F00 | Voltage THD L3-L2 | UINT16 | × 0.1 | % | Read | |||
| HR | 24448doc 5F80 | Voltage THD L1-L3 | UINT16 | × 0.1 | % | Read | |||
| HR | 24576doc 6000 | Current THD L1 | UINT16 | × 0.1 | % | Read | |||
| HR | 24704doc 6080 | Current THD L2 | UINT16 | × 0.1 | % | Read | |||
| HR | 24832doc 6100 | Current THD L3 | UINT16 | × 0.1 | % | Read | |||
| HR | 24960doc 6180 | Current THD N | UINT16 | × 0.1 | % | Read | |||
| HR | 25088doc 6200 | Unbalance line voltage | M4M 30 only. | UINT32 | ABCD | × 0.1 | % | Read | |
| HR | 25090doc 6202 | Unbalance phase voltage | M4M 30 only. | UINT32 | ABCD | × 0.1 | % | Read | |
| HR | 25092doc 6204 | Unbalance current | M4M 30 only. | UINT32 | ABCD | × 0.1 | % | Read | |
| HR | 35072doc 8900 | Serial number | ASCII. | STRING[10] | Read | ||||
| HR | 35080doc 8908 | Meter firmware version | ASCII. | STRING[16] | Read | ||||
| HR | 35097doc 8919 | Product tag name | ASCII, user-settable tag. | STRING[10] | Read/write | ||||
| HR | 35168doc 8960 | Type designation | ASCII, e.g. M4M30SMA. | STRING[12] | Read | ||||
| HR | 35174doc 8966 | Product name | ASCII, e.g. M4M 30 MODBUS. | STRING[16] | Read | ||||
| HR | 35335doc 8A07 | Current tariff | Active tariff 1-6. M4M 30 only. | UINT16 | Read/write | ||||
| HR | 35840doc 8C00 | CT ratio L1-L3 numerator | Not on Rogowski versions. | UINT32 | ABCD | Read/write | |||
| HR | 35842doc 8C02 | CT ratio L1-L3 denominator | Not on Rogowski versions. | UINT32 | ABCD | Read/write | |||
| HR | 35844doc 8C04 | VT ratio numerator | UINT32 | ABCD | Read/write | ||||
| HR | 35846doc 8C06 | VT ratio denominator | UINT32 | ABCD | Read/write | ||||
| HR | 35848doc 8C08 | CT neutral ratio numerator | M4M 30, not Rogowski. | UINT32 | ABCD | Read/write | |||
| HR | 35850doc 8C0A | CT neutral ratio denominator | M4M 30, not Rogowski. | UINT32 | ABCD | Read/write | |||
| HR | 36064doc 8CE0 | CO2 conversion factor | Range 0.001-9.999. | UINT32 | ABCD | × 0.001 | kg/kWh | Read/write | |
| HR | 36066doc 8CE2 | Currency conversion factor | UINT32 | ABCD | × 0.001 | Currency/kWh | Read/write | ||
| HR | 36069doc 8CE5 | Wires | Network/CT arrangement; 0 is M4M 30 only. | UINT16 | Read/write | 0 = 3Ph/4W/4CT; 1 = 3Ph/4W/3CT; 2 = 3Ph/4W/1CT; 3 = 3Ph/3W/3CT; 4 = 3Ph/3W/2CT; 5 = 3Ph/3W/1CT; 6 = 2Ph/3W/2CT; 7 = 1Ph/2W/1CT | |||
| HR | 36075doc 8CEB | Modbus RTU address | 1-247. | UINT16 | Read/write | ||||
| HR | 36076doc 8CEC | Modbus RTU baud rate | 9600, 19200, 38400, 57600 or 115200. | UINT32 | ABCD | bps | Read/write | ||
| HR | 36078doc 8CEE | Modbus RTU parity | UINT16 | Read/write | 0 = Odd; 1 = Even; 2 = None | ||||
| HR | 36079doc 8CEF | Modbus TCP DHCP | UINT16 | Read/write | 0 = Disabled; 1 = Enabled | ||||
| HR | 36080doc 8CF0 | Modbus TCP IP address | A.B.C.D packed as 0xAABBCCDD. | UINT32 | ABCD | Read/write | |||
| HR | 36082doc 8CF2 | Modbus TCP subnet mask | Packed as 0xAABBCCDD. | UINT32 | ABCD | Read/write | |||
| HR | 36084doc 8CF4 | Modbus TCP gateway | Packed as 0xAABBCCDD. | UINT32 | ABCD | Read/write | |||
| HR | 36086doc 8CF6 | Modbus TCP port | Default 502. | UINT16 | Read/write | ||||
| HR | 36087doc 8CF7 | Up counter | UINT32 | ABCD | Read | ||||
| HR | 36089doc 8CF9 | Down counter | UINT32 | ABCD | Read | ||||
| HR | 36091doc 8CFB | Down counter reset value | UINT32 | ABCD | Read/write | ||||
| HR | 36604doc 8EFC | Bluetooth enable | UINT16 | Read/write | |||||
| HR | 36695doc 8F57 | Reset logs | Write 1 to reset. | UINT16 | Write | ||||
| HR | 36696doc 8F58 | Reset historical functionality | Write 1 to reset. M4M 30 only. | UINT16 | Write | ||||
| HR | 36697doc 8F59 | Reset timer | Write 1 to reset. | UINT16 | Write | ||||
| HR | 36698doc 8F5A | Reset energy | Write 1 to reset energy registers. | UINT16 | Write | ||||
| HR | 36699doc 8F5B | Reset to factory defaults | Write 1 to restore factory settings. | UINT16 | Write |
Notes on this map
- Byte/word order and addressing rules come from the companion 'Communication protocol - Modbus manual, M4M network analyzers' 2CSG445050D0201 v1.05 (https://search.abb.com/library/Download.aspx?DocumentID=2CSG445050D0201&LanguageCode=en&DocumentPartId=&Action=Launch), section 3: multi-register values are most significant byte first in the lowest register (ABCD).
- Only function codes 3, 6 and 16 are supported. Readable range per the manual is 0x1000-0x8EFF, 1-125 registers per read; quantities missing on a variant return FFFF (unsigned) or 7FFF... (signed) instead of an exception.
- Instantaneous power registers are signed 32-bit at 0.01 W, so they saturate near +/-21 MW. Map v1.3 added whole-watt ('Scaler 1') power registers from CB1Ah onward (real-time) and CC24h onward (max/min), available from FW P1.3.10.0; they are not included here.
- The map prints the apparent energy unit as 'kVA'; these are energy accumulators and are listed as kVAh.
- Left out: 5024/5034 (CO2 and currency equivalents of imported energy) because the map gives their unit as kg/kWh and Currency/kWh with 'conversion factor' wording, which leaves the meaning ambiguous.
- Left out: Error/Information/Warning/Alarm flag blocks (8A13-8A28, 64 bits each) whose bit meanings are not tabulated with the register rows; average/min/max values and their timestamps; individual harmonic orders; historical/log/load-profile header and data blocks; OBIS-coded alarm, pulse and tariff configuration groups; Slave ID (8911), Date Time (8A00) and Day of week (8A03), which have no plain data type in the map.
- Removed on verification: outputs 1-6 (6300h-6305h), input status 1-6 (6308h-630Dh), input counters 1-6 (6318h-632Ch), product type number ID (8910h) and LED source (8CE4h). The map leaves their Data Type cell empty and the companion Modbus manual (2CSG445050D0201, sections 11.1 and 14) does not state a type either, so they are not published. Bluetooth enable (8EFCh) is typed 'Unsigned' in the map and is kept.
- Unbalance registers 6200/6202 were swapped in map v1.3N; this file follows the v1.3O labels.
- Rows marked 'M4M 30 only' or 'I/O versions' return the invalid marker on other variants.
Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.
Questions about the ABB M4M 20 / M4M 30 network analyzer
What Modbus registers does the ABB M4M 20 / M4M 30 network analyzer have?
This map lists 152 registers: 152 holding registers. 26 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the ABB M4M 20 / M4M 30 network analyzer Modbus addresses 0-based or 1-based?
The manufacturer's document numbers registers hexadecimal, 0-based. Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. The map gives each start register in hex (and decimal) exactly as sent on the bus; 5B02 is wire address 0x5B02 = 23298. The manual's example frame reads phase voltage L1 at 0x5B02 with function 3.
What byte order does the ABB M4M 20 / M4M 30 network analyzer use for 32-bit values?
Multi-register values in this map use ABCD (high word first (big-endian)). Set your client to this order for every 32/64-bit value in the table.
What are the minimum Modbus registers to integrate the ABB M4M 20 / M4M 30 network analyzer?
Start with HR 20480 Active energy import (Total active import energy); HR 20484 Active energy export (Total active export energy); HR 23298 Phase voltage L1 (Phase voltage L1); HR 23312 Current L1 (Current L1); HR 23322 Active power total (Total active power); HR 23346 Frequency (Frequency); HR 23360 Power factor total (Total power factor); HR 35168 Type designation (Type designation (ASCII), confirms the variant).
How do I enable Modbus control of the ABB M4M 20 / M4M 30 network analyzer?
Modbus is built in on the Modbus RTU and Ethernet (Modbus TCP) versions; set address, baud rate and parity (RTU) or DHCP/IP/port (TCP) on the device or through registers 8CEB-8CF6.
Where is the official ABB M4M 20 / M4M 30 network analyzer Modbus documentation?
The source is M4M Modbus protocol map (Modbus mapping table workbook) (9AKK107492A7627, map v1.3O), revision 2023-10-23, published free by ABB at https://search.abb.com/library/Download.aspx?DocumentID=9AKK107492A7627&LanguageCode=en&DocumentPartId=&Action=Launch.
More ABB Modbus register maps
- Variable frequency drive
ABB ACH580 HVAC drive (embedded Modbus RTU)
ACH580 drives running the ACH580 HVAC control program, embedded fieldbus (EFB) set to Modbus RTU, addressing mode 0 (default).
Also known as: ACH580-01, ACH580-07, ACH580-31, ACH580-34, ACH580 HVAC control program - Variable frequency drive
ABB ACQ580 water and wastewater drive (embedded Modbus RTU)
ACQ580 drives running the ACQ580 pump control program, embedded fieldbus (EFB) Modbus RTU, addressing mode 0 (default); firmware manual 3AXD50000035867 Rev H.
Also known as: ACQ580-01, ACQ580-04, ACQ580-07, ACQ580-31, ACQ580-34, ACQ580 pump control program - Variable frequency drive
ABB ACS355 machinery drive (embedded Modbus RTU)
ACS355 drives with firmware 5.110 or later using the embedded fieldbus (Modbus RTU) over an FMBA-01 adapter on terminal X3 (EIA-485) or the panel port (RS-232).
Also known as: ACS355-01E, ACS355-03E, ACS355-01U, ACS355-03U, ACS355 with FMBA-01 - Variable frequency drive
ABB ACS480 general purpose drive (embedded Modbus RTU)
ACS480 drives running the ACS480 standard control program, embedded fieldbus (EFB) Modbus RTU, addressing mode 0 (default); firmware manual 3AXD50000047399 Rev G.
Also known as: ACS480-04, ACS480 standard control program - Variable frequency drive
ABB ACS580 general purpose drive (embedded Modbus RTU)
ACS580 drives running the ACS580 standard control program, embedded fieldbus (EFB) Modbus RTU, addressing mode 0 (default).
Also known as: ACS580-01, ACS580-04, ACS580-07, ACS580 standard control program - Variable frequency drive
ABB ACS880 industrial drive, primary control program (embedded Modbus RTU)
ACS880 drives running the primary control program (AINLX) 3.4x or later, embedded fieldbus (EFB) Modbus RTU on terminal XD2D, 58.33 Addressing mode = Mode 0 (default).
Also known as: ACS880-01, ACS880-04, ACS880-07, ACS880-11, ACS880-17, ACS880-31, ACS880-37, AINLX, ACS880 primary control program - Energy meter
ABB EQ meter B21 (Modbus RTU)
ABB EQ B21 single-phase 65 A DIN meter with the RS485 interface set to Modbus.
Also known as: B21, EQ B21 - Energy meter
ABB EQ meter B23 / B24 (Modbus RTU)
ABB EQ B23 (direct, 65 A) and B24 (CT-connected) three-phase DIN meters fitted with the RS485 interface set to Modbus.
Also known as: B23, B24, EQ B23, EQ B24
Source: M4M Modbus protocol map (Modbus mapping table workbook) · 9AKK107492A7627, map v1.3O · rev. 2023-10-23. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.