CET PMC-350-C Modbus register map
Three-phase DIN-rail multifunction meter with RS485 Modbus RTU and optional LoRaWAN
- Official
- 659 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
- 659 holding registers
- Groups
- 20
- Revision
- 2 · 2026-10-18
- Added
- ()
- File
- maps/cet/pmc-350-c.mbmap.json · 99 KB · history
- SHA-256
- 5eabaec5900c0b89093fb79767d5593b2e429666aee9d47da623accbd89589f2
- 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-350-C User Manual · version V1.4, 2025-12-30
Source: CET, "PMC-350-C Digital Three-Phase LoRaWAN DIN Energy Meter User Manual", V1.4 (2025-12-30), chapter 5 (protocol version 1.3)
- Read with FC03, write with FC16; DO control also with FC05.
- Big endian: high byte and high word first. Floats are IEEE 754.
- Harmonic, TDD and unbalance values have no unit in the manual; the sister PMC-53A sends them as fractions (0.1 = 10 %).
- Not in this map: max demand, max/min, monthly energy, freeze, SOE and data recorder logs, setpoint, data recorder, custom data, TOU, LoRaWAN and fire monitoring set-up.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | float32 ABCD | R | V | |||
| HR | 2 | float32 ABCD | R | V | |||
| HR | 4 | float32 ABCD | R | V | |||
| HR | 6 | float32 ABCD | R | V | |||
| HR | 8 | float32 ABCD | R | V | |||
| HR | 10 | float32 ABCD | R | V | |||
| HR | 12 | float32 ABCD | R | V | |||
| HR | 14 | float32 ABCD | R | V | |||
| HR | 16 | float32 ABCD | R | A | |||
| HR | 18 | float32 ABCD | R | A | |||
| HR | 20 | float32 ABCD | R | A | |||
| HR | 22 | float32 ABCD | R | A | |||
| HR | 24 | float32 ABCD | R | W | |||
| HR | 26 | float32 ABCD | R | W | |||
| HR | 28 | float32 ABCD | R | W | |||
| HR | 30 | float32 ABCD | R | W | |||
| HR | 32 | float32 ABCD | R | var | |||
| HR | 34 | float32 ABCD | R | var | |||
| HR | 36 | float32 ABCD | R | var | |||
| HR | 38 | float32 ABCD | R | var | |||
| HR | 40 | float32 ABCD | R | VA | |||
| HR | 42 | float32 ABCD | R | VA | |||
| HR | 44 | float32 ABCD | R | VA | |||
| HR | 46 | float32 ABCD | R | VA | |||
| HR | 48 | float32 ABCD | R | ||||
| HR | 50 | float32 ABCD | R | ||||
| HR | 52 | float32 ABCD | R | ||||
| HR | 54 | float32 ABCD | R | ||||
| HR | 56 | float32 ABCD | R | Hz | |||
| HR | 58 | float32 ABCD | R | ° | Uab/Ubc/Uca in 3P3W | ||
| HR | 60 | float32 ABCD | R | ° | |||
| HR | 62 | float32 ABCD | R | ° | |||
| HR | 64 | float32 ABCD | R | ° | |||
| HR | 66 | float32 ABCD | R | ° | |||
| HR | 68 | float32 ABCD | R | ° | |||
| HR | 70 | float32 ABCD | R | A | |||
| HR | 72 | float32 ABCD | R | mA | Ir option only | ||
| HR | 74 | float32 ABCD | R | ||||
| HR | 76 | float32 ABCD | R | ||||
| HR | 78 | float32 ABCD | R | ||||
| HR | 80 | float32 ABCD | R | ||||
| HR | 86 | float32 ABCD | R | °C | RTD option only | ||
| HR | 88 | float32 ABCD | R | °C | |||
| HR | 90 | float32 ABCD | R | °C | |||
| HR | 92 | float32 ABCD | R | °C | |||
| HR | 94 | bool bit 0 | R | ||||
| HR | 95 | bool bit 0 | R | ||||
| HR | 95 | bool bit 1 | R | ||||
| HR | 95 | bool bit 2 | R | ||||
| HR | 95 | bool bit 3 | R | ||||
| HR | 96 | bool bit 0 | R | ||||
| HR | 96 | bool bit 1 | R | ||||
| HR | 96 | bool bit 2 | R | ||||
| HR | 96 | bool bit 3 | R | ||||
| HR | 98 | bool bit 0 | R | ||||
| HR | 98 | bool bit 1 | R | ||||
| HR | 99 | bool bit 0 | R | ||||
| HR | 99 | bool bit 1 | R | ||||
| HR | 100 | bool bit 0 | R | ||||
| HR | 100 | bool bit 1 | R | ||||
| HR | 100 | bool bit 2 | R | ||||
| HR | 100 | bool bit 3 | R | ||||
| HR | 100 | bool bit 4 | R | ||||
| HR | 100 | bool bit 5 | R | ||||
| HR | 100 | bool bit 6 | R | ||||
| HR | 100 | bool bit 7 | R | ||||
| HR | 100 | bool bit 8 | R | ||||
| HR | 100 | bool bit 9 | R | ||||
| HR | 101 | bool bit 0 | R | 1 = abnormal | |||
| HR | 101 | bool bit 1 | R | ||||
| HR | 101 | bool bit 2 | R | ||||
| HR | 101 | bool bit 3 | R | ||||
| HR | 101 | bool bit 6 | R | ||||
| HR | 101 | bool bit 7 | R | ||||
| HR | 101 | bool bit 8 | R | ||||
| HR | 101 | bool bit 9 | R | ||||
| HR | 101 | bool bit 10 | R | ||||
| HR | 101 | bool bit 11 | R | ||||
| HR | 101 | bool bit 12 | R | ||||
| HR | 101 | bool bit 13 | R | ||||
| HR | 101 | bool bit 14 | R | ||||
| HR | 102 | uint32 ABCD | R | ||||
| HR | 104 | uint32 ABCD | R | h | ×0.1 | Counts while any phase current is above 100 mA | |
| HR | 106 | bool bit 0 | R | ||||
| HR | 107 | bool bit 0 | R | ||||
| HR | 107 | bool bit 1 | R | ||||
| HR | 107 | bool bit 2 | R | ||||
| HR | 107 | bool bit 3 | R | ||||
| HR | 108 | bool bit 0 | R | ||||
| HR | 108 | bool bit 1 | R | ||||
| HR | 108 | bool bit 2 | R | ||||
| HR | 108 | bool bit 3 | R | ||||
| HR | 108 | bool bit 4 | R | ||||
| HR | 108 | bool bit 5 | R | ||||
| HR | 108 | bool bit 6 | R | ||||
| HR | 108 | bool bit 7 | R | ||||
| HR | 108 | bool bit 14 | R | ||||
| HR | 108 | bool bit 15 | R | ||||
| HR | 112 | float32 ABCD | R | W | |||
| HR | 114 | float32 ABCD | R | W |
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).