- Home
- Modbus register maps
- Carlo Gavazzi
- EM210 (AV versions)
Energy meter (energy analyzer) · Modbus register map
Carlo Gavazzi EM210 (AV versions) Modbus register map
Updated 16 October 2026
The EM210 is a compact three-phase energy analyzer for panel or DIN mounting with an optional RS485 Modbus RTU port. Values are 32-bit integers sent low word first with fixed weights; functions 03 and 04 read the same data, up to 61 registers at a time. This map covers per-phase and system voltage, current, power, PF, THD, neutral current, imported/exported energy, hour counters, identification, setup, serial and reset registers.
This page lists 64 Modbus registers for the Carlo Gavazzi EM210 (AV versions) — 15 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Carlo Gavazzi’s own free documentation (linked below) and checked against it.
- Manufacturer
- Carlo Gavazzi
- Model
- EM210 (AV versions)
- Equipment type
- Energy meter (energy analyzer)
- Registers
- 64 (15 writable)
- Transport
- Modbus RTU
- Default unit ID
- Not stated
- Default serial
- 9600 baud, 8N1
- Documented addressing
- Modicon 3xxxx/4xxxx (drop the prefix, subtract 1)
- 32-bit word order
- CDAB low word first (word-swapped)
- Firmware
- THD, neutral current and hour counters from FW A.5; wrong-connection registers from FW A.6
- Also known as
- EM210, EM210-72D, EM210 AV
Integration notes: Carlo Gavazzi EM210 (AV versions)
Read input registers 0000h-0037h with function 04 (or 03) in one request; decode INT32 values low word first and apply the fixed weights (V and W x10, A and PF x1000, kWh x10).
Minimum registers to map
Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.
| Register | Name | Type | Why | Access |
|---|---|---|---|---|
| IR 0 | V L1-N | INT32 CDAB | V L1-N | Read |
| IR 12 | A L1 | INT32 CDAB | A L1 | Read |
| IR 40 | W system | INT32 CDAB | W system | Read |
| IR 49 | PF system | INT16 | PF system | Read |
| IR 52 | kWh(+) total | INT32 CDAB | kWh(+) total | Read |
| IR 78 | kWh(-) total | INT32 CDAB | kWh(-) total | Read |
Enable Modbus control & writes
Modbus RTU needs the RS485 communication option. Address, baud rate, parity and stop bits are in registers 2000h-2003h (or the instrument's own setup menu, see its manual).
Byte order & addressing
- INT32 values are low word first (CDAB).
- Baud and parity codes start at 0 on the EM210 (0 = 9600, 0 = no parity), unlike the EM100/EM300 maps.
- Up to 61 registers per read.
Network setup
- Defaults: 9600 baud, no parity, 1 stop bit.
- Terminate the master end with 150 ohm between B and A, and the last meter by bridging B+ to T.
- Use a repeater for runs longer than 1000 m or more than 160 instruments on one bus.
Watch out for
- The rear programming-lock trimmer state is reported in 0304h; check it if keypad programming is refused.
- This protocol covers the EM210 AV versions only; its revision history notes that MID references were removed in v3r3.
Carlo Gavazzi EM210 (AV versions) Modbus registers
Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.
| Table | Address | Name | Description | Type | Order | Scale | Units | Access | Values / bits |
|---|---|---|---|---|---|---|---|---|---|
| IR | 0doc 300001 / 0000h | V L1-N | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 2doc 300003 / 0002h | V L2-N | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 4doc 300005 / 0004h | V L3-N | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 6doc 300007 / 0006h | V L1-L2 | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 8doc 300009 / 0008h | V L2-L3 | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 10doc 300011 / 000Ah | V L3-L1 | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 11doc 300012 / 000Bh | Carlo Gavazzi identification code | Read alone; shares 000Bh with V L3-L1 high word. | UINT16 | Read | 210 = EM210 standard | |||
| IR | 12doc 300013 / 000Ch | A L1 | INT32 | CDAB | × 0.001 | A | Read | ||
| IR | 14doc 300015 / 000Eh | A L2 | INT32 | CDAB | × 0.001 | A | Read | ||
| IR | 16doc 300017 / 0010h | A L3 | INT32 | CDAB | × 0.001 | A | Read | ||
| IR | 18doc 300019 / 0012h | W L1 | INT32 | CDAB | × 0.1 | W | Read | ||
| IR | 20doc 300021 / 0014h | W L2 | INT32 | CDAB | × 0.1 | W | Read | ||
| IR | 22doc 300023 / 0016h | W L3 | INT32 | CDAB | × 0.1 | W | Read | ||
| IR | 24doc 300025 / 0018h | VA L1 | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 26doc 300027 / 001Ah | VA L2 | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 28doc 300029 / 001Ch | VA L3 | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 30doc 300031 / 001Eh | var L1 | INT32 | CDAB | × 0.1 | var | Read | ||
| IR | 32doc 300033 / 0020h | var L2 | INT32 | CDAB | × 0.1 | var | Read | ||
| IR | 34doc 300035 / 0022h | var L3 | INT32 | CDAB | × 0.1 | var | Read | ||
| IR | 36doc 300037 / 0024h | V L-N system | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 38doc 300039 / 0026h | V L-L system | INT32 | CDAB | × 0.1 | V | Read | ||
| IR | 40doc 300041 / 0028h | W system | INT32 | CDAB | × 0.1 | W | Read | ||
| IR | 42doc 300043 / 002Ah | VA system | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 44doc 300045 / 002Ch | var system | INT32 | CDAB | × 0.1 | var | Read | ||
| IR | 46doc 300047 / 002Eh | PF L1 | Negative = exported active power, positive = imported. | INT16 | × 0.001 | Read | |||
| IR | 47doc 300048 / 002Fh | PF L2 | Negative = exported active power, positive = imported. | INT16 | × 0.001 | Read | |||
| IR | 48doc 300049 / 0030h | PF L3 | Negative = exported active power, positive = imported. | INT16 | × 0.001 | Read | |||
| IR | 49doc 300050 / 0031h | PF system | Negative = exported active power, positive = imported. | INT16 | × 0.001 | Read | |||
| IR | 50doc 300051 / 0032h | Phase sequence | Meaningful on 3-phase systems only. | INT16 | Read | 0 = L1-L2-L3; -1 = L1-L3-L2 | |||
| IR | 52doc 300053 / 0034h | kWh(+) total | Imported active energy. | INT32 | CDAB | × 0.1 | kWh | Read | |
| IR | 54doc 300055 / 0036h | kvarh(+) total | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 78doc 300079 / 004Eh | kWh(-) total | Exported active energy. | INT32 | CDAB | × 0.1 | kWh | Read | |
| IR | 90doc 300091 / 005Ah | Hour counter | Positive (import) running hours. | INT32 | CDAB | × 0.01 | h | Read | |
| IR | 92doc 300093 / 005Ch | Hour counter negative | Running hours while exporting. | INT32 | CDAB | × 0.01 | h | Read | |
| IR | 130doc 300131 / 0082h | THD A L1 | Up to 15th harmonic. | INT32 | CDAB | × 0.01 | % | Read | |
| IR | 132doc 300133 / 0084h | THD A L2 | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 134doc 300135 / 0086h | THD A L3 | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 138doc 300139 / 008Ah | THD V L1-N | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 140doc 300141 / 008Ch | THD V L2-N | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 142doc 300143 / 008Eh | THD V L3-N | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 146doc 300147 / 0092h | THD V L1-L2 | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 148doc 300149 / 0094h | THD V L2-L3 | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 150doc 300151 / 0096h | THD V L3-L1 | INT32 | CDAB | × 0.01 | % | Read | ||
| IR | 152doc 300153 / 0098h | Neutral current | Calculated neutral current. | INT32 | CDAB | × 0.001 | A | Read | |
| IR | 770doc 300771 / 0302h | Version code | 0 = version A, 1 = B, and so on. | UINT16 | Read | ||||
| IR | 771doc 300772 / 0303h | Revision code | UINT16 | Read | |||||
| IR | 772doc 300773 / 0304h | Programming lock | Position of the lock trimmer on the back of the display. | UINT16 | Read | 0 = Unlocked; 1 = Locked | |||
| HR | 4096doc 304097 / 1000h | Password | 0-999, default 0. | UINT16 | Read/write | ||||
| HR | 4098doc 304099 / 1002h | Measuring system | UINT16 | Read/write | 0 = 3Pn (default); 1 = 3P; 2 = 2P; 3 = 1P; 4 = 3P1 | ||||
| HR | 4099doc 304100 / 1003h | CT ratio | Raw 10-9990 = CT 1.0-999.0; default 10. | UINT32 | CDAB | × 0.1 | Read/write | ||
| HR | 4101doc 304102 / 1005h | VT ratio | Raw 10-9990 = VT 1.0-999.0; default 10. | UINT32 | CDAB | × 0.1 | Read/write | ||
| HR | 4114doc 304115 / 1012h | Pulse output ON time | UINT16 | Read/write | 0 = 30 ms (default); 1 = 100 ms | ||||
| HR | 4356doc 304357 / 1104h | Wrong-connection help | UINT16 | Read/write | 0 = On; 1 = Off | ||||
| HR | 4357doc 304358 / 1105h | Wrong-connection status | All bits 0 when wiring is correct. | BITMAP16 | Read/write | bit 0 = Wrong voltage sequence; bit 1 = Phase 1 inverted; bit 2 = Phase 2 inverted; bit 3 = Phase 3 inverted; bit 4 = Phases 1 and 2 exchanged; bit 5 = Phases 1 and 3 exchanged; bit 6 = Phases 2 and 3 exchanged; bit 7 = Phases 1, 2, 3 exchanged | |||
| HR | 4358doc 304359 / 1106h | THD calculation | UINT16 | Read/write | 0 = Off; 1 = On (default) | ||||
| HR | 4359doc 304360 / 1107h | Hour counter start current | Raw 10-6000; default 10 (0.010 A). | INT32 | CDAB | × 0.001 | A | Read/write | |
| HR | 4864doc 304865 / 1300h | Type of application | UINT16 | Read/write | 0 = A; 1 = B; 2 = C (default); 3 = D; 4 = E; 5 = F | ||||
| HR | 8192doc 308193 / 2000h | RS485 address | 1-247. | UINT16 | Read/write | ||||
| HR | 8193doc 308194 / 2001h | RS485 baud rate | UINT16 | Read/write | 0 = 9600 (default); 1 = 19200; 2 = 38400; 3 = 57600; 4 = 115200 | ||||
| HR | 8194doc 308195 / 2002h | RS485 parity | UINT16 | Read/write | 0 = None (default); 1 = Even | ||||
| HR | 8195doc 308196 / 2003h | RS485 stop bits | UINT16 | Read/write | 0 = 1 (default); 1 = 2 | ||||
| HR | 16384doc 316385 / 4000h | Reset all meters | Write 1: clears kWh/kvarh totals and both hour counters. | UINT16 | Read/write | ||||
| HR | 20487doc 320488 / 5007h | Production year | UINT16 | Read | |||||
| HR | 20736doc 320737 / 5100h | Instrument secondary address | 5100h low word, 5101h high word. | UINT32 | CDAB | Read |
Notes on this map
- Word order: the protocol states INT32/UINT32/UINT64 are LSW first with bytes MSB first, so 32-bit values are CDAB. The secondary address row (5100h) confirms it: 5100h is the low word.
- Functions 03 and 04 are equivalent; up to 61 registers per request.
- Left out: frequency (0033h, and 0110h in the by-phase table). Both rows give the value weight as plain 'Hz', whereas every sibling Carlo Gavazzi map uses Hz x10, so the scaling is not certain from this document.
- System THD rows (0088h, 0090h) always read 0 and are left out. The by-phase copy of the values (00F6h-01A8h) is not duplicated.
- Left out: the ASCII serial-number letters (5000h-5006h).
- Writing an out-of-range value makes the meter fall back to the parameter's minimum valid value.
- With a 1-phase or 2-phase measuring system, phase 2/3 registers read 0.
- Left out: kWh per pulse (Table 2.8-8). The row prints Modicom 304128 (which is physical address 101Fh) next to physical address 1020h (which would be 304129); the revision history says this Modicom address was deliberately 'updated' in v4r1, so the register address is contradictory and the row is not published.
Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.
Questions about the Carlo Gavazzi EM210 (AV versions)
What Modbus registers does the Carlo Gavazzi EM210 (AV versions) have?
This map lists 64 registers: 47 input registers, 17 holding registers. 15 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the Carlo Gavazzi EM210 (AV versions) Modbus addresses 0-based or 1-based?
The manufacturer's document numbers registers Modicon 3xxxx/4xxxx (drop the prefix, subtract 1). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Registers are printed as a 6-digit Modicon number for function 04 (3xxxxx; 4xxxxx for function 03) beside the hex physical address that goes in the frame. Wire address = physical address (300001 / 0000h is address 0). Setup registers are written with function 06 and are listed as holding registers.
What byte order does the Carlo Gavazzi EM210 (AV versions) use for 32-bit values?
Multi-register values in this map use CDAB (low word first (word-swapped)). Set your client to this order for every 32/64-bit value in the table.
What are the minimum Modbus registers to integrate the Carlo Gavazzi EM210 (AV versions)?
Start with IR 0 V L1-N (V L1-N); IR 12 A L1 (A L1); IR 40 W system (W system); IR 49 PF system (PF system); IR 52 kWh(+) total (kWh(+) total); IR 78 kWh(-) total (kWh(-) total).
How do I enable Modbus control of the Carlo Gavazzi EM210 (AV versions)?
Modbus RTU needs the RS485 communication option. Address, baud rate, parity and stop bits are in registers 2000h-2003h (or the instrument's own setup menu, see its manual).
Where is the official Carlo Gavazzi EM210 (AV versions) Modbus documentation?
The source is EM210_AV Communication Protocol (Version 4 Revision 3), revision 2018-05-10, published free by Carlo Gavazzi at https://www.gavazziautomation.com/fileadmin/images/PIM/OTHERSTUFF/COMPRO/EM210_CP.pdf.
More Carlo Gavazzi Modbus register maps
- Energy meter
Carlo Gavazzi EM100 / ET100 series (EM111, EM112, ET112)
Single-phase EM111, EM112 energy meters and ET112 bidirectional meter with the S1 (RS485 Modbus RTU) port, protocol version 2 revision 14.
Also known as: EM111, EM112, ET112, EM110, EM111-DIN, EM112-DIN, ET112-DIN, EM111DINAV81XS1X, EM112DINAV01XS1X, ET112DINAV01XS1X - Energy meter (energy analyzer)
Carlo Gavazzi EM24-DIN (PFA, PFB and X models)
EM24-DIN three-phase energy analyzers, PFA/PFB (MID) and X models with the RS485 Modbus RTU port (IS option), protocol version 4 revision 0.
Also known as: EM24, EM24DIN, EM24DINAV93XISPFA, EM24DINAV93XISPFB, EM24DINAV93XISX, EM24DINAV53XISX, EM24DINAV23XISX, EM24 DIN AV9, EM24 DIN AV5 - Energy meter (energy analyzer)
Carlo Gavazzi EM24-DIN Ethernet (E1)
EM24-DIN energy analyzers with the E1 Ethernet (RJ45) Modbus TCP port, AV2 and AV5 inputs, X/PFA/PFB, protocol version 0 revision 1.3 (FW 1.0).
Also known as: EM24 E1, EM24_E1, EM24DINAV23XE1X, EM24DINAV23XE1PFA, EM24DINAV23XE1PFB, EM24DINAV53XE1X, EM24DINAV53XE1PFA, EM24DINAV53XE1PFB - Energy meter
Carlo Gavazzi EM24-IS (SFA and SFB models)
EM24-DIN AV2/AV5 IS SFA and SFB versions (identification codes 1696-1699), protocol revision 2.0.
Also known as: EM24DINAV23XISSFA, EM24DINAV53XISSFA, EM24DINAV23XISSFB, EM24DINAV53XISSFB, EM24 SFA, EM24 SFB - Energy meter
Carlo Gavazzi EM270 / EM280 dual three-phase energy meters with TCD current sensors
EM270 X (firmware r.b0+), EM270 W (r.C0+) and EM280 (r.E0+) on RS485 Modbus RTU, per communication protocol version 5 revision 1 (2018-01-29).
Also known as: EM270, EM280, EM270 X, EM270 W, EM27072DMV53X2SX, EM28072DMV53X2SX - Energy meter
Carlo Gavazzi EM271 dual three-phase energy meter with TCD current sensors
EM271 (firmware r.d0+, PF values from r.d2) on RS485 Modbus RTU, per communication protocol version 1 revision 2 (2018-01-29).
Also known as: EM271, EM27172DMV53X2SX, EM27172DMV63X2SX - Energy meter
Carlo Gavazzi EM300 / ET300 series (EM330, EM340, ET330, ET340)
EM330, EM331, EM340, EM341 energy meters and ET330/ET340 bidirectional meters with the S1 (RS485 Modbus RTU) port, protocol version 2 revision 17.
Also known as: EM330, EM340, ET330, ET340, EM331, EM341, EM330-DIN, EM340-DIN, ET340-DIN, EM340DINAV23XS1X, EM340DINAV23XS1PFA, EM340DINAV23XS1PFB - Energy meter
Carlo Gavazzi EM530 / EM540 three-phase energy meters (RS485 Modbus)
EM530 (CT-connected) and EM540 (direct-connected) with the S1 RS485 port, X and MID (PFA/PFB/PFC) versions, protocol document version 1.3.
Also known as: EM530, EM540, EM530DINAV53XS1X, EM530DINAV53XS1PFA, EM530DINAV53XS1PFB, EM530DINAV53XS1PFC, EM540DINAV23XS1X, EM540DINAV23XS1PFA, EM540DINAV23XS1PFB, EM540DINAV23XS1PFC, EM500 series - Power meter (power analyzer)
Carlo Gavazzi WM15 power analyzer
WM15-96 three-phase panel power analyzers with RS485 Modbus RTU (OS / OSPF / HOS versions), protocol version 1.2.
Also known as: WM15, WM15-96, WM1596AV53XOSX, WM1596AV53XOSPFB, WM1596AV53HOSX - Power meter (power analyzer)
Carlo Gavazzi WM20 / WM30 / WM40 power analyzers
WM20, WM30 and WM40 modular power analyzers with an RS485 (or Ethernet) Modbus module, protocol internal version rev. 4.0 (2018-03-28); WM30 = firmware letter X, WM40 = Y, WM20 = Z.
Also known as: WM20, WM30, WM40, WM20-96, WM30-96, WM40-96 - Power meter (power analyzer)
Carlo Gavazzi WM50 power analyzer with TCD branch channels
WM50 base unit (firmware X0, i.e. all A and B versions) with an MC485232 or MCETH communication module, plus TCD branch channels, per communication protocol user version rev. 1.0.0 (2017-09-27).
Also known as: WM50, WM50AV5, WM50-96, WM50 AV5
Source: EM210_AV Communication Protocol · Version 4 Revision 3 · rev. 2018-05-10. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.