ABB M1M 15 / M1M 20 / M1M 30 Modbus register map
Also covers M1M 15 MODBUS RTU, M1M 20 MODBUS RTU, M1M 20 Ethernet, M1M 20 IO MODBUS RTU, M1M 20 I/O PrO, M1M 30 MODBUS RTU, M1M 30 Ethernet, M1M 30 IO MODBUS RTU, M1M 30 I/O Pro
Panel power meters M1M 15, M1M 20 and M1M 30 (RS485 Modbus RTU or Modbus TCP)
- Official
- 667 registers
- Modbus TCP and RTU
- Revision 2 · 2026-10-17
- Identity: model, firmware, serial number
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus TCP and RTU
- Unit ID
- 1
- TCP port
- 502
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 667 holding registers
- Groups
- 17
- Translation tables
- 1
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/abb/m1m.mbmap.json · 128 KB · history
- SHA-256
- 749efd78331b6fea8d0628b9b564b8d95b5481a5739862466d011971fa0a92f4
- Manufacturer
- abb.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Serial number | Serial number | holding 35072 | string[5] | |
| Firmware | Meter firmware version | holding 35080 | string[8] | |
| Model | Product type | holding 35088 | uint16 | 60 = M1M 15, 61 = M1M 15 MODBUS RTU, 62 = M1M 20, +8 more |
Sources and notes
- Modbus protocol map for M1M 15, M1M 20, M1M 30 power meters · version V1.3C, 9AKK107991A8720, 2024-10-12 Integer Table, Float Table and Details sheets
- M1M Power Meters Modbus manual · version 9AKK108467A2704 [1.3]
Source: ABB, "Modbus protocol map for M1M 15, M1M 20, M1M 30 power meters" V1.3C (9AKK107991A8720) and "M1M Power Meters Modbus manual" 9AKK108467A2704 [1.3]
- ABB M1M 15, M1M 20 and M1M 30 panel power meters; the product column of each register says which models have it.
- Addresses are as sent on the bus. FC03 reads, FC16 writes. Multi-register values are big endian, high word first.
- A register the meter cannot measure in its wiring (e.g. phase voltages in 3 3T) reads 0xFFFF.
- The integer table gives powers with 2 decimals; the registers from 0xCB1A give them in whole W/var/VA for large values. The float table repeats the main values as float32.
- Settings that belong together (CT and VT ratios, the RTU settings, date and time) must be written in one request.
- Digital outputs follow Modbus only when their type is set to COMM on the display.
- Modbus TCP versions (M1M 20/30 Ethernet) use port 502.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 20480 | uint64 ABCD | R | kWh | ×0.01 | ||
| HR | 20484 | uint64 ABCD | R | kWh | ×0.01 | M1M 20/30 | |
| HR | 20492 | uint64 ABCD | R | kvarh | ×0.01 | ||
| HR | 20496 | uint64 ABCD | R | kvarh | ×0.01 | M1M 20/30 | |
| HR | 20504 | uint64 ABCD | R | kVAh | ×0.01 | ||
| HR | 20848 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20852 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20856 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20860 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20880 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20884 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20888 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20892 | uint64 ABCD | R | kWh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20912 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20916 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20920 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20924 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20944 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20948 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20952 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 20956 | uint64 ABCD | R | kvarh | ×0.01 | M1M 30 I/O Pro | |
| HR | 23296 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23298 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23300 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23302 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23304 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23306 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23308 | uint32 ABCD | R | V | ×0.1 | ||
| HR | 23310 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 23312 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 23314 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 23316 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 23318 | uint32 ABCD | R | A | ×0.01 | M1M 20/30 | |
| HR | 23322 | int32 ABCD | R | W | ×0.01 | ||
| HR | 23324 | int32 ABCD | R | W | ×0.01 | ||
| HR | 23326 | int32 ABCD | R | W | ×0.01 | ||
| HR | 23328 | int32 ABCD | R | W | ×0.01 | ||
| HR | 23330 | int32 ABCD | R | var | ×0.01 | ||
| HR | 23332 | int32 ABCD | R | var | ×0.01 | ||
| HR | 23334 | int32 ABCD | R | var | ×0.01 | ||
| HR | 23336 | int32 ABCD | R | var | ×0.01 | ||
| HR | 23338 | int32 ABCD | R | VA | ×0.01 | ||
| HR | 23340 | int32 ABCD | R | VA | ×0.01 | ||
| HR | 23342 | int32 ABCD | R | VA | ×0.01 | ||
| HR | 23344 | int32 ABCD | R | VA | ×0.01 | ||
| HR | 23346 | uint16 | R | Hz | ×0.01 | ||
| HR | 23347 | int16 | R | ° | ×0.1 | ||
| HR | 23348 | int16 | R | ° | ×0.1 | ||
| HR | 23349 | int16 | R | ° | ×0.1 | ||
| HR | 23350 | int16 | R | ° | ×0.1 | ||
| HR | 23351 | int16 | R | ° | ×0.1 | ||
| HR | 23352 | int16 | R | ° | ×0.1 | ||
| HR | 23353 | int16 | R | ° | ×0.1 | ||
| HR | 23357 | int16 | R | ° | ×0.1 | ||
| HR | 23358 | int16 | R | ° | ×0.1 | ||
| HR | 23359 | int16 | R | ° | ×0.1 | ||
| HR | 23360 | int16 | R | ×0.001 | |||
| HR | 23361 | int16 | R | ×0.001 | |||
| HR | 23362 | int16 | R | ×0.001 | |||
| HR | 23363 | int16 | R | ×0.001 | |||
| HR | 23368 | int16 | R | ×0.001 | Cos phi | ||
| HR | 23369 | int16 | R | ×0.001 | Cos phi | ||
| HR | 23370 | int16 | R | ×0.001 | Cos phi | ||
| HR | 23371 | int16 | R | ×0.001 | Cos phi | ||
| HR | 23508 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23510 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23512 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23514 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23516 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23518 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23520 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23522 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23524 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23526 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23528 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23530 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23532 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23534 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23536 | int32 ABCD | R | var | ×0.01 | M1M 30 | |
| HR | 23538 | int32 ABCD | R | var | ×0.01 | M1M 30 | |
| HR | 23540 | int32 ABCD | R | var | ×0.01 | M1M 30 | |
| HR | 23542 | int32 ABCD | R | var | ×0.01 | M1M 30 | |
| HR | 23544 | int32 ABCD | R | VA | ×0.01 | M1M 30 | |
| HR | 23546 | int32 ABCD | R | VA | ×0.01 | M1M 30 | |
| HR | 23548 | int32 ABCD | R | VA | ×0.01 | M1M 30 | |
| HR | 23550 | int32 ABCD | R | VA | ×0.01 | M1M 30 | |
| HR | 23568 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23570 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23572 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23574 | uint32 ABCD | R | A | ×0.01 | M1M 30 | |
| HR | 23576 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23578 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23580 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23582 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23584 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23586 | uint32 ABCD | R | V | ×0.1 | M1M 30 | |
| HR | 23588 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23590 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23592 | int32 ABCD | R | W | ×0.01 | M1M 30 | |
| HR | 23594 | int32 ABCD | R | W | ×0.01 | M1M 30 |
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).