Easy Modbus
  1. Home
  2. Modbus register maps
  3. Carlo Gavazzi
  4. EM210 (AV versions)

Energy meter (energy analyzer) · Modbus register map

Carlo Gavazzi EM210 (AV versions) Modbus register map

Updated 16 October 2026

Short answer

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
Source document
EM210_AV Communication Protocol · Version 4 Revision 3 · rev. 2018-05-10
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Carlo Gavazzi EM210 (AV versions)

Integration in brief

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.

RegisterNameTypeWhyAccess
IR 0V L1-NINT32 CDABV L1-NRead
IR 12A L1INT32 CDABA L1Read
IR 40W systemINT32 CDABW systemRead
IR 49PF systemINT16PF systemRead
IR 52kWh(+) totalINT32 CDABkWh(+) totalRead
IR 78kWh(-) totalINT32 CDABkWh(-) totalRead

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

Network setup

Watch out for

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.

64 of 64 shown
Carlo Gavazzi EM210 (AV versions) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
IR0doc 300001 / 0000hV L1-NINT32CDAB× 0.1VRead
IR2doc 300003 / 0002hV L2-NINT32CDAB× 0.1VRead
IR4doc 300005 / 0004hV L3-NINT32CDAB× 0.1VRead
IR6doc 300007 / 0006hV L1-L2INT32CDAB× 0.1VRead
IR8doc 300009 / 0008hV L2-L3INT32CDAB× 0.1VRead
IR10doc 300011 / 000AhV L3-L1INT32CDAB× 0.1VRead
IR11doc 300012 / 000BhCarlo Gavazzi identification codeRead alone; shares 000Bh with V L3-L1 high word.UINT16Read210 = EM210 standard
IR12doc 300013 / 000ChA L1INT32CDAB× 0.001ARead
IR14doc 300015 / 000EhA L2INT32CDAB× 0.001ARead
IR16doc 300017 / 0010hA L3INT32CDAB× 0.001ARead
IR18doc 300019 / 0012hW L1INT32CDAB× 0.1WRead
IR20doc 300021 / 0014hW L2INT32CDAB× 0.1WRead
IR22doc 300023 / 0016hW L3INT32CDAB× 0.1WRead
IR24doc 300025 / 0018hVA L1INT32CDAB× 0.1VARead
IR26doc 300027 / 001AhVA L2INT32CDAB× 0.1VARead
IR28doc 300029 / 001ChVA L3INT32CDAB× 0.1VARead
IR30doc 300031 / 001Ehvar L1INT32CDAB× 0.1varRead
IR32doc 300033 / 0020hvar L2INT32CDAB× 0.1varRead
IR34doc 300035 / 0022hvar L3INT32CDAB× 0.1varRead
IR36doc 300037 / 0024hV L-N systemINT32CDAB× 0.1VRead
IR38doc 300039 / 0026hV L-L systemINT32CDAB× 0.1VRead
IR40doc 300041 / 0028hW systemINT32CDAB× 0.1WRead
IR42doc 300043 / 002AhVA systemINT32CDAB× 0.1VARead
IR44doc 300045 / 002Chvar systemINT32CDAB× 0.1varRead
IR46doc 300047 / 002EhPF L1Negative = exported active power, positive = imported.INT16× 0.001Read
IR47doc 300048 / 002FhPF L2Negative = exported active power, positive = imported.INT16× 0.001Read
IR48doc 300049 / 0030hPF L3Negative = exported active power, positive = imported.INT16× 0.001Read
IR49doc 300050 / 0031hPF systemNegative = exported active power, positive = imported.INT16× 0.001Read
IR50doc 300051 / 0032hPhase sequenceMeaningful on 3-phase systems only.INT16Read0 = L1-L2-L3; -1 = L1-L3-L2
IR52doc 300053 / 0034hkWh(+) totalImported active energy.INT32CDAB× 0.1kWhRead
IR54doc 300055 / 0036hkvarh(+) totalINT32CDAB× 0.1kvarhRead
IR78doc 300079 / 004EhkWh(-) totalExported active energy.INT32CDAB× 0.1kWhRead
IR90doc 300091 / 005AhHour counterPositive (import) running hours.INT32CDAB× 0.01hRead
IR92doc 300093 / 005ChHour counter negativeRunning hours while exporting.INT32CDAB× 0.01hRead
IR130doc 300131 / 0082hTHD A L1Up to 15th harmonic.INT32CDAB× 0.01%Read
IR132doc 300133 / 0084hTHD A L2INT32CDAB× 0.01%Read
IR134doc 300135 / 0086hTHD A L3INT32CDAB× 0.01%Read
IR138doc 300139 / 008AhTHD V L1-NINT32CDAB× 0.01%Read
IR140doc 300141 / 008ChTHD V L2-NINT32CDAB× 0.01%Read
IR142doc 300143 / 008EhTHD V L3-NINT32CDAB× 0.01%Read
IR146doc 300147 / 0092hTHD V L1-L2INT32CDAB× 0.01%Read
IR148doc 300149 / 0094hTHD V L2-L3INT32CDAB× 0.01%Read
IR150doc 300151 / 0096hTHD V L3-L1INT32CDAB× 0.01%Read
IR152doc 300153 / 0098hNeutral currentCalculated neutral current.INT32CDAB× 0.001ARead
IR770doc 300771 / 0302hVersion code0 = version A, 1 = B, and so on.UINT16Read
IR771doc 300772 / 0303hRevision codeUINT16Read
IR772doc 300773 / 0304hProgramming lockPosition of the lock trimmer on the back of the display.UINT16Read0 = Unlocked; 1 = Locked
HR4096doc 304097 / 1000hPassword0-999, default 0.UINT16Read/write
HR4098doc 304099 / 1002hMeasuring systemUINT16Read/write0 = 3Pn (default); 1 = 3P; 2 = 2P; 3 = 1P; 4 = 3P1
HR4099doc 304100 / 1003hCT ratioRaw 10-9990 = CT 1.0-999.0; default 10.UINT32CDAB× 0.1Read/write
HR4101doc 304102 / 1005hVT ratioRaw 10-9990 = VT 1.0-999.0; default 10.UINT32CDAB× 0.1Read/write
HR4114doc 304115 / 1012hPulse output ON timeUINT16Read/write0 = 30 ms (default); 1 = 100 ms
HR4356doc 304357 / 1104hWrong-connection helpUINT16Read/write0 = On; 1 = Off
HR4357doc 304358 / 1105hWrong-connection statusAll bits 0 when wiring is correct.BITMAP16Read/writebit 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
HR4358doc 304359 / 1106hTHD calculationUINT16Read/write0 = Off; 1 = On (default)
HR4359doc 304360 / 1107hHour counter start currentRaw 10-6000; default 10 (0.010 A).INT32CDAB× 0.001ARead/write
HR4864doc 304865 / 1300hType of applicationUINT16Read/write0 = A; 1 = B; 2 = C (default); 3 = D; 4 = E; 5 = F
HR8192doc 308193 / 2000hRS485 address1-247.UINT16Read/write
HR8193doc 308194 / 2001hRS485 baud rateUINT16Read/write0 = 9600 (default); 1 = 19200; 2 = 38400; 3 = 57600; 4 = 115200
HR8194doc 308195 / 2002hRS485 parityUINT16Read/write0 = None (default); 1 = Even
HR8195doc 308196 / 2003hRS485 stop bitsUINT16Read/write0 = 1 (default); 1 = 2
HR16384doc 316385 / 4000hReset all metersWrite 1: clears kWh/kvarh totals and both hour counters.UINT16Read/write
HR20487doc 320488 / 5007hProduction yearUINT16Read
HR20736doc 320737 / 5100hInstrument secondary address5100h low word, 5101h high word.UINT32CDABRead

Notes on this map

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

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.