MBMap Registry
  1. Devices
  2. Circutor
  3. CEM M-RS485

Circutor CEM M-RS485 Modbus register map

Also covers CEM-M-RS485

RS-485 (Modbus RTU) communication module for the CEM-C10, CEM-C20 and CEM-C30 energy meters, read through their optical port

  • Official
  • 54 registers
  • Modbus RTU
  • Revision 2 · 2026-10-17
  • 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
1
Serial
9600 8N1 · 9600 baud, 8 data bits, none 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
53 holding registers, 1 coil
Groups
6
Revision
2 · 2026-10-17
Added
()
File
maps/circutor/cem-m-rs485.mbmap.json · 10 KB · history
SHA-256
7608736960cd306ac55413807b0c45e086a96b758254c8a5ecfa01cbca4cc5e7
Manufacturer
circutor.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.

Registers
RoleRegisterAddressTypeValues
Serial number Serial number holding 10000 uint32 ABCD
Firmware Firmware version major holding 80 uint16
Firmware Firmware version minor holding 81 uint16
Firmware Firmware version revision holding 82 uint16

Sources and notes

Source: Circutor, "CEM-M-RS485 instruction manual", M014B01-03-20A

  • Read with FC03 or FC04 and write with FC10; a request must cover the full size of each variable.
  • Which variables are available depends on the meter behind the module (CEM-C10, C20 or C30; manual table 11): the single-phase C10 has no phase 2 and 3 values.
AreaAddressNameTypeAccessUnitScaleDescription
HR 0 uint32 ABCD R Wh
HR 2 uint32 ABCD R Wh
HR 4 uint32 ABCD R varh
HR 6 uint32 ABCD R varh
HR 8 uint32 ABCD R varh
HR 10 uint32 ABCD R varh
HR 48 uint32 ABCD R Wh
HR 50 uint32 ABCD R Wh
HR 52 uint32 ABCD R varh
HR 54 uint32 ABCD R varh
HR 56 uint32 ABCD R varh
HR 58 uint32 ABCD R varh
CO 2048 bool W Write ON (0xFF00) with FC05
HR 1842 int32 ABCD R V ×0.1 Primary value
HR 1844 int32 ABCD R V ×0.1 Primary value
HR 1846 int32 ABCD R V ×0.1 Primary value
HR 1848 int32 ABCD R A ×0.01 Primary value
HR 1850 int32 ABCD R A ×0.01 Primary value
HR 1852 int32 ABCD R A ×0.01 Primary value
HR 1854 int32 ABCD R ×0.01
HR 1856 int32 ABCD R ×0.01
HR 1858 int32 ABCD R ×0.01
HR 1862 int32 ABCD R W
HR 1864 int32 ABCD R W
HR 1866 int32 ABCD R W
HR 1868 int32 ABCD R W
HR 1870 int32 ABCD R var
HR 1872 int32 ABCD R var
HR 1874 int32 ABCD R var
HR 1876 int32 ABCD R var
HR 1878 int32 ABCD R VA
HR 1880 int32 ABCD R VA
HR 1882 int32 ABCD R VA
HR 1884 int32 ABCD R VA
HR 192 uint32 ABCD R
HR 194 uint32 ABCD R kg
HR 196 uint32 ABCD R s
HR 198 uint32 ABCD R s
HR 61456 string[6] R 12 ASCII characters coding the options (manual table 24)
HR 10000 uint32 ABCD R
HR 80 uint16 R
HR 81 uint16 R
HR 82 uint16 R
HR 1100 uint32 ABCD RW V
HR 1102 uint32 ABCD RW V
HR 1104 uint32 ABCD RW A
HR 1106 uint32 ABCD RW A
HR 128 uint16 RW
HR 129 uint16 RW Wh Wh per impulse
HR 1000 uint16 RW Default 1
HR 1001 uint16 RW Default 0
HR 1002 uint16 RW Default 0
HR 176 uint32 ABCD RW ×0.0001
HR 178 uint32 ABCD RW kg ×0.0001

Help improve this map