- Home
- Modbus register maps
- Carlo Gavazzi
- EM24-DIN (PFA, PFB and X models)
Energy meter (energy analyzer) · Modbus register map
Carlo Gavazzi EM24-DIN (PFA, PFB and X models) Modbus register map
Updated 16 October 2026
The EM24-DIN is Carlo Gavazzi's three-phase DIN-rail energy analyzer. Models with the IS (RS485) port speak Modbus RTU; measurements are 32-bit integers sent low word first with fixed weights (V x10, A x1000, W x10). This map covers voltages, currents, powers, demand, power factor, frequency, total/partial/phase/tariff energy, hour meter, input and tariff status, identification and the setup, serial and reset registers.
This page lists 78 Modbus registers for the Carlo Gavazzi EM24-DIN (PFA, PFB and X models) — 20 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
- EM24-DIN (PFA, PFB and X models)
- Equipment type
- Energy meter (energy analyzer)
- Registers
- 78 (20 writable)
- Transport
- Modbus RTU
- Default unit ID
- Not stated
- Default serial
- 8N1
- Documented addressing
- Modicon 3xxxx/4xxxx (drop the prefix, subtract 1)
- 32-bit word order
- CDAB low word first (word-swapped)
- Also known as
- EM24, EM24DIN, EM24DINAV93XISPFA, EM24DINAV93XISPFB, EM24DINAV93XISX, EM24DINAV53XISX, EM24DINAV23XISX, EM24 DIN AV9, EM24 DIN AV5
Integration notes: Carlo Gavazzi EM24-DIN (PFA, PFB and X models)
Poll input registers (function 04, or 03) in blocks of at most 11 registers; decode INT32 values low word first and apply the fixed weights. Energy is kWh x10 in 2 registers.
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 53 | PF system | INT16 | PF system | Read |
| IR 55 | Frequency | INT16 | Frequency | Read |
| IR 62 | kWh(+) total | INT32 CDAB | kWh(+) total | Read |
| IR 92 | kWh(-) total | INT32 CDAB | kWh(-) total | Read |
Enable Modbus control & writes
Modbus RTU is on the IS (RS485) versions. Set the address and baud rate in the serial port menu or via registers 110Ah/110Bh.
Byte order & addressing
- INT32 values are low word first (CDAB).
- Max 11 registers per read request.
- Parity is fixed to none and stop bits to 1.
- Writes use function 06 only (single register); broadcast write to address 0 is allowed.
Network setup
- Address 1-247, baud 4800 or 9600.
- Terminate both bus ends with 120 ohm; above 1000 m or 160 devices use a repeater.
- Typical answer time 40 ms, maximum 500 ms; repeat a query 2-3 times before declaring the meter offline.
Watch out for
- The display shows EEEE when the value's top word is 7FFFh (overrange).
- PFA/PFB models accept only the 3Pn measuring system.
Carlo Gavazzi EM24-DIN (PFA, PFB and X models) 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 | Shares 000Bh with the high word of V L3-L1; read it alone. | UINT16 | Read | 71 = EM24-DIN AV9 or AV2 input; 72 = EM24-DIN AV5 input; 73 = EM24-DIN AV6 input | |||
| 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 | DMD W system | Demand (average) active power. | INT32 | CDAB | × 0.1 | W | Read | |
| IR | 48doc 300049 / 0030h | DMD VA system | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 50doc 300051 / 0032h | PF L1 | Negative = capacitive (lead), positive = inductive (lag). | INT16 | × 0.001 | Read | |||
| IR | 51doc 300052 / 0033h | PF L2 | Negative = capacitive (lead), positive = inductive (lag). | INT16 | × 0.001 | Read | |||
| IR | 52doc 300053 / 0034h | PF L3 | Negative = capacitive (lead), positive = inductive (lag). | INT16 | × 0.001 | Read | |||
| IR | 53doc 300054 / 0035h | PF system | Negative = capacitive (lead), positive = inductive (lag). | INT16 | × 0.001 | Read | |||
| IR | 54doc 300055 / 0036h | Phase sequence | Meaningful on 3-phase systems only. | INT16 | Read | 0 = L1-L2-L3; -1 = L1-L3-L2 | |||
| IR | 55doc 300056 / 0037h | Frequency | INT16 | × 0.1 | Hz | Read | |||
| IR | 56doc 300057 / 0038h | DMD W max | Peak demand active power. | INT32 | CDAB | × 0.1 | W | Read | |
| IR | 58doc 300059 / 003Ah | DMD VA max | INT32 | CDAB | × 0.1 | VA | Read | ||
| IR | 60doc 300061 / 003Ch | DMD A max | INT32 | CDAB | × 0.001 | A | Read | ||
| IR | 62doc 300063 / 003Eh | kWh(+) total | Imported active energy. | INT32 | CDAB | × 0.1 | kWh | Read | |
| IR | 64doc 300065 / 0040h | kvarh(+) total | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 66doc 300067 / 0042h | kWh(+) partial | Resettable partial counter. | INT32 | CDAB | × 0.1 | kWh | Read | |
| IR | 68doc 300069 / 0044h | kvarh(+) partial | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 70doc 300071 / 0046h | kWh(+) L1 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 72doc 300073 / 0048h | kWh(+) L2 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 74doc 300075 / 004Ah | kWh(+) L3 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 76doc 300077 / 004Ch | kWh(+) tariff 1 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 78doc 300079 / 004Eh | kWh(+) tariff 2 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 80doc 300081 / 0050h | kWh(+) tariff 3 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 82doc 300083 / 0052h | kWh(+) tariff 4 | INT32 | CDAB | × 0.1 | kWh | Read | ||
| IR | 84doc 300085 / 0054h | kvarh(+) tariff 1 | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 86doc 300087 / 0056h | kvarh(+) tariff 2 | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 88doc 300089 / 0058h | kvarh(+) tariff 3 | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 90doc 300091 / 005Ah | kvarh(+) tariff 4 | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 92doc 300093 / 005Ch | kWh(-) total | Exported active energy. | INT32 | CDAB | × 0.1 | kWh | Read | |
| IR | 94doc 300095 / 005Eh | kvarh(-) total | INT32 | CDAB | × 0.1 | kvarh | Read | ||
| IR | 96doc 300097 / 0060h | Hour meter | INT32 | CDAB | × 0.01 | h | Read | ||
| IR | 768doc 300769 / 0300h | Digital input status | Bit = 0 input closed, 1 input open. | BITMAP16 | Read | bit 0 = Input 1 open; bit 1 = Input 2 open; bit 2 = Input 3 open | |||
| IR | 769doc 300770 / 0301h | Current tariff | UINT16 | Read | 0 = Tariff 1; 1 = Tariff 2; 2 = Tariff 3; 3 = Tariff 4 | ||||
| IR | 770doc 300771 / 0302h | Version code | Model code; PFB adds 128 and X adds 64 to the PFA value. | UINT16 | Read | 0 = EM24DINAV93XO2PFA; 2 = EM24DINAV93XISPFA; 3 = EM24DINAV93XXXPFA; 4 = EM24DINAV23XO2PFA; 5 = EM24DINAV23XISPFA; 6 = EM24DINAV23XXXPFA; 7 = EM24DINAV53xO2PFA; 9 = EM24DINAV53xISPFA; 10 = EM24DINAV53xXXPFA; 75 = EM24DINAV63xO2X; 76 = EM24DINAV63xR2X; 77 = EM24DINAV63xISX; 78 = EM24DINAV63xXXX | |||
| IR | 771doc 300772 / 0303h | Revision code | UINT16 | Read | |||||
| IR | 772doc 300773 / 0304h | Front selector status | UINT16 | Read | 0 = Keypad unlocked; 1 = Keypad unlocked; 2 = Keypad unlocked; 3 = Keypad locked | ||||
| HR | 4352doc 304353 / 1100h | Password | 0-9999; out-of-range values are treated as 0. | UINT16 | Read/write | ||||
| HR | 4353doc 304354 / 1101h | Type of application | UINT16 | Read/write | 0 = Application A; 1 = Application B; 2 = Application C; 3 = Application D; 4 = Application E; 5 = Application F; 6 = Application G; 7 = Application H | ||||
| HR | 4354doc 304355 / 1102h | Measuring system | UINT16 | Read/write | 0 = 3Pn; 1 = 3P1; 2 = 2P; 3 = 1P; 4 = 3P | ||||
| HR | 4355doc 304356 / 1103h | DMD integration interval | 1-30 (unit not stated in the protocol). | UINT16 | Read/write | ||||
| HR | 4360doc 304361 / 1108h | Filter span parameter | 0-100. | UINT16 | Read/write | ||||
| HR | 4361doc 304362 / 1109h | Filter coefficient | 1-32. | UINT16 | Read/write | ||||
| HR | 4362doc 304363 / 110Ah | RS485 instrument address | 1-247. | UINT16 | Read/write | ||||
| HR | 4363doc 304364 / 110Bh | RS485 baud rate | UINT16 | Read/write | 0 = 4800; 1 = 9600 | ||||
| HR | 4385doc 304386 / 1121h | Digital input 1 type | UINT16 | Read/write | 0 = Sync; 1 = Tariff; 2 = Gas counter; 3 = H2O cold counter; 4 = H2O hot counter; 5 = H2O hot kWh counter; 6 = External counter; 7 = Remote (REM) | ||||
| HR | 4386doc 304387 / 1122h | Digital input 2 type | UINT16 | Read/write | 0 = Sync; 1 = Tariff; 2 = Gas counter; 3 = H2O cold counter; 4 = H2O hot counter; 5 = H2O hot kWh counter; 6 = External counter; 7 = Remote (REM) | ||||
| HR | 4387doc 304388 / 1123h | Digital input 3 type | UINT16 | Read/write | 0 = Gas counter; 1 = H2O cold counter; 2 = H2O hot counter; 3 = H2O hot kWh counter; 4 = External counter; 5 = Remote (REM) | ||||
| HR | 4391doc 304392 / 1127h | Tariff via serial | Write low byte 5Ah, high byte tariff 0-3; only if inputs aren't set to tariff. | UINT16 | Read/write | ||||
| HR | 4396doc 304397 / 112Ch | CT ratio | Raw 10-600000 = CT 1.0-60000.0. | UINT32 | CDAB | × 0.1 | Read/write | ||
| HR | 4398doc 304399 / 112Eh | VT ratio | Raw 10-60000 = VT 1.0-6000.0. | UINT32 | CDAB | × 0.1 | Read/write | ||
| HR | 12288doc 312289 / 3000h | Reset all meters (except hour meter) | Write 1 to execute. | UINT16 | Write | ||||
| HR | 12289doc 312290 / 3001h | Reset total meters | Write 1 to execute. | UINT16 | Write | ||||
| HR | 12290doc 312291 / 3002h | Reset partial meters | Write 1 to execute. | UINT16 | Write | ||||
| HR | 12291doc 312292 / 3003h | Reset hour meter | Write 1 to execute. | UINT16 | Write | ||||
| HR | 12292doc 312293 / 3004h | Reset counters 1, 2 and 3 | Write 1 to execute. | UINT16 | Write | ||||
| HR | 12293doc 312294 / 3005h | Reset DMD max | Write 1 to execute. | UINT16 | Write |
Notes on this map
- Word order: the protocol states that within a word bytes are MSB first and that INT32/UINT32/UINT64 values are sent LSW first, so all 32-bit values here are CDAB.
- Functions 03 and 04 return the same data; only 11 registers can be read per request.
- A register's 'value weight' means raw = value x weight, so V*10 becomes scale 0.1, A*1000 becomes 0.001.
- Left out: counters 1-3 (0062h-0066h), whose weight depends on the digital-input format setting (x10, x100 or x1000); display page selectors, user ID codes, input prescaler/format, M-Bus secondary address and the ASCII serial-number letters (1300h-1306h).
- The identification code is printed at 300012 / 000Bh, which is also the second word of V L3-L1 (000Ah-000Bh). Read it as a single register; it is listed exactly as the protocol prints it.
- Application types: A, B, C, G exist on PFA only; E, F, H on PFB only; all on X models. PFA/PFB support only the 3Pn measuring system.
- Reset 3001h clears the total meters (kWh/kvarh import and export totals, phase kWh and all tariff registers); 3002h clears the partial kWh/kvarh.
- SFA/SFB 'IS' models documented separately (EM24-IS SFA/SFB protocol) expose a reduced map; see the em24-is-sfa-sfb file.
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 EM24-DIN (PFA, PFB and X models)
What Modbus registers does the Carlo Gavazzi EM24-DIN (PFA, PFB and X models) have?
This map lists 78 registers: 58 input registers, 20 holding registers. 20 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the Carlo Gavazzi EM24-DIN (PFA, PFB and X models) 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. Each register is printed twice: a 6-digit Modicon number for function 04 (3xxxxx; the same data is readable with function 03 by changing the leading 3 to 4) and the hex 'physical address' that goes in the frame. Wire address = physical address, e.g. 300001 / 0000h is address 0. Configuration rows are also printed as 3xxxxx but are written with function 06, so they are listed here as holding registers.
What byte order does the Carlo Gavazzi EM24-DIN (PFA, PFB and X models) 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 EM24-DIN (PFA, PFB and X models)?
Start with IR 0 V L1-N (V L1-N); IR 12 A L1 (A L1); IR 40 W system (W system); IR 53 PF system (PF system); IR 55 Frequency (Frequency); IR 62 kWh(+) total (kWh(+) total); IR 92 kWh(-) total (kWh(-) total).
How do I enable Modbus control of the Carlo Gavazzi EM24-DIN (PFA, PFB and X models)?
Modbus RTU is on the IS (RS485) versions. Set the address and baud rate in the serial port menu or via registers 110Ah/110Bh.
Where is the official Carlo Gavazzi EM24-DIN (PFA, PFB and X models) Modbus documentation?
The source is EM24-DIN PFA, PFB & X models Communication Protocol (Version 4 Revision 0), revision 2012-12-03, published free by Carlo Gavazzi at https://www.gavazziautomation.com/fileadmin/images/PIM/OTHERSTUFF/COMPRO/EM24_IS_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 EM210 (AV versions)
EM210 three-phase energy analyzers, AV input versions with the RS485 Modbus RTU option, protocol version 4 revision 3 (newest variables need firmware A.5/A.6).
Also known as: EM210, EM210-72D, EM210 AV - 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: EM24-DIN PFA, PFB & X models Communication Protocol · Version 4 Revision 0 · rev. 2012-12-03. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.