Easy Modbus
  1. Home
  2. Modbus register maps
  3. ABB
  4. 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

Short answer

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
Source document
M4M Modbus protocol map (Modbus mapping table workbook) · 9AKK107492A7627, map v1.3O · rev. 2023-10-23
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: ABB M4M 20 / M4M 30 network analyzer

Integration in brief

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.

RegisterNameTypeWhyAccess
HR 20480Active energy importUINT64 ABCDTotal active import energyRead
HR 20484Active energy exportUINT64 ABCDTotal active export energyRead
HR 23298Phase voltage L1UINT32 ABCDPhase voltage L1Read
HR 23312Current L1UINT32 ABCDCurrent L1Read
HR 23322Active power totalINT32 ABCDTotal active powerRead
HR 23346FrequencyUINT16FrequencyRead
HR 23360Power factor totalINT16Total power factorRead
HR 35168Type designationSTRING[12]Type designation (ASCII), confirms the variantRead

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

Network setup

Watch out for

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.

152 of 152 shown
ABB M4M 20 / M4M 30 network analyzer Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
HR20480doc 5000Active energy importUINT64ABCD× 0.01kWhRead
HR20484doc 5004Active energy exportUINT64ABCD× 0.01kWhRead
HR20488doc 5008Active energy netSigned: import minus export.INT64ABCD× 0.01kWhRead
HR20492doc 500CReactive energy importUINT64ABCD× 0.01kvarhRead
HR20496doc 5010Reactive energy exportUINT64ABCD× 0.01kvarhRead
HR20500doc 5014Reactive energy netSigned: import minus export.INT64ABCD× 0.01kvarhRead
HR20504doc 5018Apparent energy importUINT64ABCD× 0.01kVAhRead
HR20508doc 501CApparent energy exportUINT64ABCD× 0.01kVAhRead
HR20512doc 5020Apparent energy netSigned: import minus export.INT64ABCD× 0.01kVAhRead
HR20848doc 5170Active energy import tariff 1M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20852doc 5174Active energy import tariff 2M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20856doc 5178Active energy import tariff 3M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20860doc 517CActive energy import tariff 4M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20864doc 5180Active energy import tariff 5M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20868doc 5184Active energy import tariff 6M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20880doc 5190Active energy export tariff 1M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20884doc 5194Active energy export tariff 2M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20888doc 5198Active energy export tariff 3M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20892doc 519CActive energy export tariff 4M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20896doc 51A0Active energy export tariff 5M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20900doc 51A4Active energy export tariff 6M4M 30 only.UINT64ABCD× 0.01kWhRead
HR20912doc 51B0Reactive energy import tariff 1M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20916doc 51B4Reactive energy import tariff 2M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20920doc 51B8Reactive energy import tariff 3M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20924doc 51BCReactive energy import tariff 4M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20928doc 51C0Reactive energy import tariff 5M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20932doc 51C4Reactive energy import tariff 6M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20944doc 51D0Reactive energy export tariff 1M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20948doc 51D4Reactive energy export tariff 2M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20952doc 51D8Reactive energy export tariff 3M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20956doc 51DCReactive energy export tariff 4M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20960doc 51E0Reactive energy export tariff 5M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR20964doc 51E4Reactive energy export tariff 6M4M 30 only.UINT64ABCD× 0.01kvarhRead
HR21600doc 5460Active energy import L1UINT64ABCD× 0.01kWhRead
HR21604doc 5464Active energy import L2UINT64ABCD× 0.01kWhRead
HR21608doc 5468Active energy import L3UINT64ABCD× 0.01kWhRead
HR21612doc 546CActive energy export L1UINT64ABCD× 0.01kWhRead
HR21616doc 5470Active energy export L2UINT64ABCD× 0.01kWhRead
HR21620doc 5474Active energy export L3UINT64ABCD× 0.01kWhRead
HR21624doc 5478Active energy net L1INT64ABCD× 0.01kWhRead
HR21628doc 547CActive energy net L2INT64ABCD× 0.01kWhRead
HR21632doc 5480Active energy net L3INT64ABCD× 0.01kWhRead
HR21636doc 5484Reactive energy import L1UINT64ABCD× 0.01kvarhRead
HR21640doc 5488Reactive energy import L2UINT64ABCD× 0.01kvarhRead
HR21644doc 548CReactive energy import L3UINT64ABCD× 0.01kvarhRead
HR21648doc 5490Reactive energy export L1UINT64ABCD× 0.01kvarhRead
HR21652doc 5494Reactive energy export L2UINT64ABCD× 0.01kvarhRead
HR21656doc 5498Reactive energy export L3UINT64ABCD× 0.01kvarhRead
HR21660doc 549CReactive energy net L1INT64ABCD× 0.01kvarhRead
HR21664doc 54A0Reactive energy net L2INT64ABCD× 0.01kvarhRead
HR21668doc 54A4Reactive energy net L3INT64ABCD× 0.01kvarhRead
HR21672doc 54A8Apparent energy import L1UINT64ABCD× 0.01kVAhRead
HR21676doc 54ACApparent energy import L2UINT64ABCD× 0.01kVAhRead
HR21680doc 54B0Apparent energy import L3UINT64ABCD× 0.01kVAhRead
HR21684doc 54B4Apparent energy export L1UINT64ABCD× 0.01kVAhRead
HR21688doc 54B8Apparent energy export L2UINT64ABCD× 0.01kVAhRead
HR21692doc 54BCApparent energy export L3UINT64ABCD× 0.01kVAhRead
HR21696doc 54C0Apparent energy net L1INT64ABCD× 0.01kVAhRead
HR21700doc 54C4Apparent energy net L2INT64ABCD× 0.01kVAhRead
HR21704doc 54C8Apparent energy net L3INT64ABCD× 0.01kVAhRead
HR23296doc 5B00Three-phase system voltageUINT32ABCD× 0.1VRead
HR23298doc 5B02Phase voltage L1UINT32ABCD× 0.1VRead
HR23300doc 5B04Phase voltage L2UINT32ABCD× 0.1VRead
HR23302doc 5B06Phase voltage L3UINT32ABCD× 0.1VRead
HR23304doc 5B08Line voltage L1-L2UINT32ABCD× 0.1VRead
HR23306doc 5B0ALine voltage L3-L2UINT32ABCD× 0.1VRead
HR23308doc 5B0CLine voltage L1-L3UINT32ABCD× 0.1VRead
HR23310doc 5B0EThree-phase system currentUINT32ABCD× 0.01ARead
HR23312doc 5B10Current L1UINT32ABCD× 0.01ARead
HR23314doc 5B12Current L2UINT32ABCD× 0.01ARead
HR23316doc 5B14Current L3UINT32ABCD× 0.01ARead
HR23318doc 5B16Current NUINT32ABCD× 0.01ARead
HR23322doc 5B1AActive power totalINT32ABCD× 0.01WRead
HR23324doc 5B1CActive power L1INT32ABCD× 0.01WRead
HR23326doc 5B1EActive power L2INT32ABCD× 0.01WRead
HR23328doc 5B20Active power L3INT32ABCD× 0.01WRead
HR23330doc 5B22Reactive power totalINT32ABCD× 0.01varRead
HR23332doc 5B24Reactive power L1INT32ABCD× 0.01varRead
HR23334doc 5B26Reactive power L2INT32ABCD× 0.01varRead
HR23336doc 5B28Reactive power L3INT32ABCD× 0.01varRead
HR23338doc 5B2AApparent power totalINT32ABCD× 0.01VARead
HR23340doc 5B2CApparent power L1INT32ABCD× 0.01VARead
HR23342doc 5B2EApparent power L2INT32ABCD× 0.01VARead
HR23344doc 5B30Apparent power L3INT32ABCD× 0.01VARead
HR23346doc 5B32FrequencyUINT16× 0.01HzRead
HR23347doc 5B33Phase angle power totalINT16× 0.1°Read
HR23348doc 5B34Phase angle power L1INT16× 0.1°Read
HR23349doc 5B35Phase angle power L2INT16× 0.1°Read
HR23350doc 5B36Phase angle power L3INT16× 0.1°Read
HR23351doc 5B37Phase angle voltage L1INT16× 0.1°Read
HR23352doc 5B38Phase angle voltage L2INT16× 0.1°Read
HR23353doc 5B39Phase angle voltage L3INT16× 0.1°Read
HR23357doc 5B3DPhase angle current L1INT16× 0.1°Read
HR23358doc 5B3EPhase angle current L2INT16× 0.1°Read
HR23359doc 5B3FPhase angle current L3INT16× 0.1°Read
HR23360doc 5B40Power factor totalINT16× 0.001Read
HR23361doc 5B41Power factor L1INT16× 0.001Read
HR23362doc 5B42Power factor L2INT16× 0.001Read
HR23363doc 5B43Power factor L3INT16× 0.001Read
HR23364doc 5B44Current quadrant totalUINT16Read1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4
HR23365doc 5B45Current quadrant L1UINT16Read1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4
HR23366doc 5B46Current quadrant L2UINT16Read1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4
HR23367doc 5B47Current quadrant L3UINT16Read1 = Quadrant 1; 2 = Quadrant 2; 3 = Quadrant 3; 4 = Quadrant 4
HR23368doc 5B48Cosphi (displacement factor) totalUnit column in the map says degrees; value is a factor at 0.001.INT16× 0.001Read
HR23369doc 5B49Cosphi (displacement factor) L1Unit column in the map says degrees; value is a factor at 0.001.INT16× 0.001Read
HR23370doc 5B4ACosphi (displacement factor) L2Unit column in the map says degrees; value is a factor at 0.001.INT16× 0.001Read
HR23371doc 5B4BCosphi (displacement factor) L3Unit column in the map says degrees; value is a factor at 0.001.INT16× 0.001Read
HR23808doc 5D00Voltage THD L1UINT16× 0.1%Read
HR23936doc 5D80Voltage THD L2UINT16× 0.1%Read
HR24064doc 5E00Voltage THD L3UINT16× 0.1%Read
HR24192doc 5E80Voltage THD L1-L2UINT16× 0.1%Read
HR24320doc 5F00Voltage THD L3-L2UINT16× 0.1%Read
HR24448doc 5F80Voltage THD L1-L3UINT16× 0.1%Read
HR24576doc 6000Current THD L1UINT16× 0.1%Read
HR24704doc 6080Current THD L2UINT16× 0.1%Read
HR24832doc 6100Current THD L3UINT16× 0.1%Read
HR24960doc 6180Current THD NUINT16× 0.1%Read
HR25088doc 6200Unbalance line voltageM4M 30 only.UINT32ABCD× 0.1%Read
HR25090doc 6202Unbalance phase voltageM4M 30 only.UINT32ABCD× 0.1%Read
HR25092doc 6204Unbalance currentM4M 30 only.UINT32ABCD× 0.1%Read
HR35072doc 8900Serial numberASCII.STRING[10]Read
HR35080doc 8908Meter firmware versionASCII.STRING[16]Read
HR35097doc 8919Product tag nameASCII, user-settable tag.STRING[10]Read/write
HR35168doc 8960Type designationASCII, e.g. M4M30SMA.STRING[12]Read
HR35174doc 8966Product nameASCII, e.g. M4M 30 MODBUS.STRING[16]Read
HR35335doc 8A07Current tariffActive tariff 1-6. M4M 30 only.UINT16Read/write
HR35840doc 8C00CT ratio L1-L3 numeratorNot on Rogowski versions.UINT32ABCDRead/write
HR35842doc 8C02CT ratio L1-L3 denominatorNot on Rogowski versions.UINT32ABCDRead/write
HR35844doc 8C04VT ratio numeratorUINT32ABCDRead/write
HR35846doc 8C06VT ratio denominatorUINT32ABCDRead/write
HR35848doc 8C08CT neutral ratio numeratorM4M 30, not Rogowski.UINT32ABCDRead/write
HR35850doc 8C0ACT neutral ratio denominatorM4M 30, not Rogowski.UINT32ABCDRead/write
HR36064doc 8CE0CO2 conversion factorRange 0.001-9.999.UINT32ABCD× 0.001kg/kWhRead/write
HR36066doc 8CE2Currency conversion factorUINT32ABCD× 0.001Currency/kWhRead/write
HR36069doc 8CE5WiresNetwork/CT arrangement; 0 is M4M 30 only.UINT16Read/write0 = 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
HR36075doc 8CEBModbus RTU address1-247.UINT16Read/write
HR36076doc 8CECModbus RTU baud rate9600, 19200, 38400, 57600 or 115200.UINT32ABCDbpsRead/write
HR36078doc 8CEEModbus RTU parityUINT16Read/write0 = Odd; 1 = Even; 2 = None
HR36079doc 8CEFModbus TCP DHCPUINT16Read/write0 = Disabled; 1 = Enabled
HR36080doc 8CF0Modbus TCP IP addressA.B.C.D packed as 0xAABBCCDD.UINT32ABCDRead/write
HR36082doc 8CF2Modbus TCP subnet maskPacked as 0xAABBCCDD.UINT32ABCDRead/write
HR36084doc 8CF4Modbus TCP gatewayPacked as 0xAABBCCDD.UINT32ABCDRead/write
HR36086doc 8CF6Modbus TCP portDefault 502.UINT16Read/write
HR36087doc 8CF7Up counterUINT32ABCDRead
HR36089doc 8CF9Down counterUINT32ABCDRead
HR36091doc 8CFBDown counter reset valueUINT32ABCDRead/write
HR36604doc 8EFCBluetooth enableUINT16Read/write
HR36695doc 8F57Reset logsWrite 1 to reset.UINT16Write
HR36696doc 8F58Reset historical functionalityWrite 1 to reset. M4M 30 only.UINT16Write
HR36697doc 8F59Reset timerWrite 1 to reset.UINT16Write
HR36698doc 8F5AReset energyWrite 1 to reset energy registers.UINT16Write
HR36699doc 8F5BReset to factory defaultsWrite 1 to restore factory settings.UINT16Write

Notes on this map

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

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.