MBMap Registry
  1. Devices
  2. Carlo Gavazzi
  3. EM112

Carlo Gavazzi EM112 Modbus register map

Single-phase energy meter with tariffs, direct connection (DIN rail), RS485 Modbus RTU

  • Official
  • 64 registers
  • Modbus RTU
  • Revision 2 · 2026-10-17
  • Identity: model

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
CDAB · bytes big-endian, words low first (word swap)
Addresses
0-based
Max read
125 registers per request

Connection values are defaults: the device may be configured differently.

Map

Registers
19 holding registers, 45 input registers
Groups
6
Revision
2 · 2026-10-17
Added
()
File
maps/carlo-gavazzi/em112.mbmap.json · 12 KB · history
SHA-256
67866db8d5a898891c37a52666dc90ecadd0f99e61aa9fde001f10114118b7ba
Manufacturer
gavazziautomation.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
Model Carlo Gavazzi identification code input 11 uint16 102 = EM112, 104 = EM112

Sources and notes

Source: Carlo Gavazzi, "EM100 Series and ET100 Series Modbus communication protocol", public version 4.0 (June 2025)

  • FC03 or FC04 read (the same values), FC06 writes one register.
  • 32- and 64-bit values are low word first (bytes high first in each word).
  • Out-of-range or invalid written values set the parameter to its default.
AreaAddressNameTypeAccessUnitScaleDescription
IR 0 int32 CDAB R V ×0.1
IR 2 int32 CDAB R A ×0.001
IR 4 int32 CDAB R W ×0.1
IR 6 int32 CDAB R VA ×0.1
IR 8 int32 CDAB R var ×0.1
IR 10 int32 CDAB R W ×0.1
IR 12 int32 CDAB R W ×0.1
IR 14 int16 R ×0.001
IR 15 int16 R Hz ×0.1
IR 16 int32 CDAB R kWh ×0.1
IR 18 int32 CDAB R kvarh ×0.1
IR 20 int32 CDAB R kWh ×0.1
IR 22 int32 CDAB R kvarh ×0.1
IR 24 int32 CDAB R kWh ×0.1
IR 26 int32 CDAB R kWh ×0.1
IR 32 int32 CDAB R kWh ×0.1
IR 34 int32 CDAB R kvarh ×0.1
IR 1024 int32 CDAB R kWh From firmware b.10 (made from 2020); add the decimal part
IR 1026 int32 CDAB R kWh ×0.001
IR 1028 int32 CDAB R kvarh
IR 1030 int32 CDAB R kvarh ×0.001
IR 1032 int32 CDAB R kWh
IR 1034 int32 CDAB R kWh ×0.001
IR 1036 int32 CDAB R kvarh
IR 1038 int32 CDAB R kvarh ×0.001
IR 1280 int64 CDAB R From firmware b.10; the protocol gives no value weight
IR 1284 int64 CDAB R
IR 1288 int64 CDAB R
IR 1292 int64 CDAB R
IR 1308 int64 CDAB R
IR 1312 int64 CDAB R
IR 1316 int64 CDAB R
IR 1320 int64 CDAB R
IR 1536 int64 CDAB R Wh ×0.1 From firmware b.25 (made from May 2025)
IR 1540 int64 CDAB R Wh ×0.1
IR 11 uint16 R Read alone, one word at a time: the same address is the high word of the power demand
IR 770 uint16 R 0 = A, 1 = B …
IR 771 uint16 R
IR 20480 uint16 R ASCII code in the low byte
IR 20481 uint16 R
IR 20482 uint16 R
IR 20483 uint16 R
IR 20484 uint16 R
IR 20485 uint16 R
IR 20486 uint16 R
HR 4096 uint16 RW
HR 4098 uint16 R
HR 4112 uint32 CDAB RW min
HR 4114 uint32 CDAB RW
HR 4128 uint32 CDAB RW
HR 4130 uint32 CDAB RW
HR 4352 uint16 RW
HR 4354 uint16 RW
HR 4353 uint16 RW
HR 4355 uint16 RW Writable on non-MID (X) versions only
HR 4608 uint16 RW
HR 4609 uint16 RW
HR 8192 uint16 RW
HR 8193 uint16 RW
HR 8194 uint16 RW
HR 8195 uint16 RW 2 only with no parity
HR 8196 uint16 R
HR 16384 uint16 W
HR 16385 uint16 W Non-MID (X) versions only

Help improve this map