CET PMC-53 Modbus register map
Also covers PMC-53M, PMC-53V, PMC-53I
Three-phase panel multifunction meter (96x96 mm), RS485 Modbus RTU
- Official
- 171 registers
- Modbus RTU
- Revision 2 · 2026-10-18
- Identity: 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 RTU
- Unit ID
- 100
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit
- 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
- 161 holding registers, 10 coils
- Groups
- 11
- Revision
- 2 · 2026-10-18
- Added
- ()
- File
- maps/cet/pmc-53.mbmap.json · 29 KB · history
- SHA-256
- cbb5b292acc4e73da1a2f0a1bb2ff4671dc673455a4e57fb94e2586804b15920
- Manufacturer
- cet-global.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 |
|---|---|---|---|---|
| Firmware | Firmware version | holding 60220 | uint16 | |
| Serial number | Serial number | holding 60225 | uint32 ABCD |
Sources and notes
- PMC-53 Series Intelligent Multifunction Meter User Manual · version V5.2A, 2012-02-07
Source: CET, "PMC-53 Series Intelligent Multifunction Meter User Manual", V5.2A (2012-02-07), chapter 5
- Register map for protocol version 6.0. Read with FC03, write with FC16; DO control with FC05 only.
- Big endian: high byte and high word first.
- PMC-53V measures voltages and frequency only, PMC-53I currents and frequency only; power, energy and the other values are on the PMC-53M.
- Not in this map: SOE log (42000-42223).
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 40000 | uint32 ABCD | R | V | ×0.01 | PMC-53V and PMC-53M | |
| HR | 40002 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40004 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40006 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40008 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40010 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40012 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40014 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 40016 | uint32 ABCD | R | A | ×0.001 | PMC-53I and PMC-53M | |
| HR | 40018 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40020 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40022 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40024 | int32 ABCD | R | kW | ×0.001 | PMC-53M only | |
| HR | 40026 | int32 ABCD | R | kW | ×0.001 | ||
| HR | 40028 | int32 ABCD | R | kW | ×0.001 | ||
| HR | 40030 | int32 ABCD | R | kW | ×0.001 | ||
| HR | 40032 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40034 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40036 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40038 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40040 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40042 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40044 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40046 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40048 | int16 | R | ×0.001 | |||
| HR | 40049 | int16 | R | ×0.001 | |||
| HR | 40050 | int16 | R | ×0.001 | |||
| HR | 40051 | int16 | R | ×0.001 | |||
| HR | 40052 | uint16 | R | Hz | ×0.01 | ||
| HR | 40053 | uint32 ABCD | R | A | ×0.001 | Firmware V1.20.01 / protocol V6.0 or later | |
| HR | 40055 | uint16 | R | % | ×0.1 | ||
| HR | 40056 | uint16 | R | % | ×0.1 | ||
| HR | 40057 | int16 | R | ×0.001 | |||
| HR | 40058 | int16 | R | ×0.001 | |||
| HR | 40059 | int16 | R | ×0.001 | |||
| HR | 40060 | int32 ABCD | R | kW | ×0.001 | Firmware V1.20.01 / protocol V6.0 or later | |
| HR | 40062 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40064 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40066 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40068 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40070 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 40072 | uint16 | R | ° | ×0.01 | ||
| HR | 40073 | uint16 | R | ° | ×0.01 | ||
| HR | 40074 | uint16 | R | ° | ×0.01 | ||
| HR | 40075 | uint16 | R | ° | ×0.01 | ||
| HR | 40076 | uint16 | R | ° | ×0.01 | ||
| HR | 40077 | uint16 | R | ° | ×0.01 | ||
| HR | 40078 | uint16 | R | mA | ×0.1 | 0x7FFF when no residual current sensor is connected | |
| HR | 40079 | int16 | R | °C | ×0.1 | 30000 = sensor broken or missing; -400 = below -40 °C | |
| HR | 40095 | bool bit 0 | R | ||||
| HR | 40095 | bool bit 1 | R | ||||
| HR | 40095 | bool bit 2 | R | ||||
| HR | 40095 | bool bit 3 | R | ||||
| HR | 40095 | bool bit 4 | R | ||||
| HR | 40095 | bool bit 5 | R | ||||
| HR | 40095 | bool bit 6 | R | ||||
| HR | 40095 | bool bit 7 | R | ||||
| HR | 40095 | bool bit 8 | R | ||||
| HR | 40096 | bool bit 0 | R | ||||
| HR | 40096 | bool bit 1 | R | ||||
| HR | 40097 | bool bit 0 | R | ||||
| HR | 40097 | bool bit 1 | R | ||||
| HR | 40098 | uint32 ABCD | R | ||||
| HR | 40100 | uint32 ABCD | RW | kWh | ×0.1 | Presettable; rolls over after 99,999,999.9 | |
| HR | 40102 | uint32 ABCD | RW | kWh | ×0.1 | ||
| HR | 40106 | uint32 ABCD | RW | kvarh | ×0.1 | ||
| HR | 40108 | uint32 ABCD | RW | kvarh | ×0.1 | ||
| HR | 40112 | uint32 ABCD | RW | kVAh | ×0.1 | ||
| HR | 40500 | int32 ABCD | R | kW | ×0.001 | Firmware V1.20.01 / protocol V6.0 or later | |
| HR | 40502 | uint32 ABCD | R | s | UNIX time | ||
| HR | 40504 | int32 ABCD | R | kvar | ×0.001 | ||
| HR | 40506 | uint32 ABCD | R | s | |||
| HR | 40508 | int32 ABCD | R | kVA | ×0.001 | ||
| HR | 40510 | uint32 ABCD | R | s | |||
| HR | 40512 | int32 ABCD | R | A | ×0.001 | ||
| HR | 40514 | uint32 ABCD | R | s | |||
| HR | 40516 | int32 ABCD | R | A | ×0.001 | ||
| HR | 40518 | uint32 ABCD | R | s | |||
| HR | 40520 | int32 ABCD | R | A | ×0.001 | ||
| HR | 40522 | uint32 ABCD | R | s | |||
| HR | 40703 | uint16 | R | ×0.1 | |||
| HR | 40704 | uint16 | R | ×0.1 | |||
| HR | 40705 | uint16 | R | ×0.1 | |||
| HR | 40718 | uint16 | R | % | ×0.01 | ||
| HR | 40719 | uint16 | R | % | ×0.01 | ||
| HR | 40720 | uint16 | R | % | ×0.01 | ||
| HR | 40721 | uint16 | R | % | ×0.01 | ||
| HR | 40722 | uint16 | R | % | ×0.01 | ||
| HR | 40723 | uint16 | R | % | ×0.01 | ||
| HR | 41000 | uint16 | RW | mA | |||
| HR | 41001 | uint16 | RW | s | ×0.1 | ||
| HR | 41002 | uint16 | RW | s | ×0.1 | ||
| HR | 41003 | uint16 | RW | s | ×0.1 | ||
| HR | 41004 | uint16 | RW | mA | |||
| HR | 41005 | uint16 | RW | °C | |||
| HR | 41006 | bool bit 0 | RW | ||||
| HR | 41006 | bool bit 1 | RW | ||||
| HR | 41006 | bool bit 2 | RW | ||||
| HR | 41006 | bool bit 3 | RW | ||||
| HR | 41006 | bool bit 4 | RW |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
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).