Carlo Gavazzi EM24 DIN (PFA, PFB and X models) Modbus register map
Three phase DIN rail energy analyzer with an RS485 Modbus RTU port. The map covers phase and system voltage, current, power, power factor, frequency, four-tariff energy counters, digital input counters, demand values and setup.
- Protocol
- Modbus RTU
- Defaults
- The document fixes the serial format at no parity and one stop bit, with 4800 or 9600 baud selectable. It does not state a default address or baud rate.
- Addresses in the manual
- Modicon style numbers (for example 40001 is holding register 0)
- 32 and 64-bit values
- Low word first (CD AB)
- Registers listed
- 78
- Checked against
- EM24-DIN PFA, PFB & X models Communication Protocol, Version 4 Revision 0 (December 03, 2012)
Address base. Each variable is printed as a 6-digit Modicom number for function 04 (for example 300001) beside the physical word address (0000h). Wire address equals the printed number minus 300001. Function 03 reads the same data when the leading 3 is replaced by 4 (p. 3). Writable settings are printed as 3043xx and similar; address them as holding registers. For example 300001 in the manual (Phase 1 line to neutral voltage) is address 0 on the wire.
Word order. 32-bit values are sent least significant word first, with MSB first inside each word (p. 7).
Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.
Downloads
The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.
Registers
| Manual | Wire | Register | Type | Regs | Unit | Scale | Access | Area |
|---|---|---|---|---|---|---|---|---|
| 300001 | 0 | Phase 1 line to neutral voltageVoltage_L1N |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300003 | 2 | Phase 2 line to neutral voltageVoltage_L2N |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300005 | 4 | Phase 3 line to neutral voltageVoltage_L3N |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300007 | 6 | Line 1 to line 2 voltageVoltage_L1L2 |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300009 | 8 | Line 2 to line 3 voltageVoltage_L2L3 |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300011 | 10 | Line 3 to line 1 voltageVoltage_L3L1 |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300013 | 12 | Phase 1 currentCurrent_L1 |
int32 | 2 | A | 0.001 | R | Input (FC04) |
| 300015 | 14 | Phase 2 currentCurrent_L2 |
int32 | 2 | A | 0.001 | R | Input (FC04) |
| 300017 | 16 | Phase 3 currentCurrent_L3 |
int32 | 2 | A | 0.001 | R | Input (FC04) |
| 300019 | 18 | Phase 1 active powerActivePower_L1 |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300021 | 20 | Phase 2 active powerActivePower_L2 |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300023 | 22 | Phase 3 active powerActivePower_L3 |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300025 | 24 | Phase 1 apparent powerApparentPower_L1 |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300027 | 26 | Phase 2 apparent powerApparentPower_L2 |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300029 | 28 | Phase 3 apparent powerApparentPower_L3 |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300031 | 30 | Phase 1 reactive powerReactivePower_L1 |
int32 | 2 | var | 0.1 | R | Input (FC04) |
| 300033 | 32 | Phase 2 reactive powerReactivePower_L2 |
int32 | 2 | var | 0.1 | R | Input (FC04) |
| 300035 | 34 | Phase 3 reactive powerReactivePower_L3 |
int32 | 2 | var | 0.1 | R | Input (FC04) |
| 300037 | 36 | System line to neutral voltageVoltageLN_Sys |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300039 | 38 | System line to line voltageVoltageLL_Sys |
int32 | 2 | V | 0.1 | R | Input (FC04) |
| 300041 | 40 | System active powerActivePower_Sys |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300043 | 42 | System apparent powerApparentPower_Sys |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300045 | 44 | System reactive powerReactivePower_Sys |
int32 | 2 | var | 0.1 | R | Input (FC04) |
| 300047 | 46 | System active power demandPowerDemand_Sys |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300049 | 48 | System apparent power demandApparentDemand_Sys |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300051 | 50 | Phase 1 power factorPowerFactor_L1 · Negative values mean leading (capacitive), positive values mean lagging. |
int16 | 1 | 0.001 | R | Input (FC04) | |
| 300052 | 51 | Phase 2 power factorPowerFactor_L2 |
int16 | 1 | 0.001 | R | Input (FC04) | |
| 300053 | 52 | Phase 3 power factorPowerFactor_L3 |
int16 | 1 | 0.001 | R | Input (FC04) | |
| 300054 | 53 | System power factorPowerFactor_Sys |
int16 | 1 | 0.001 | R | Input (FC04) | |
| 300055 | 54 | Phase sequencePhaseSequence · -1 means L1-L3-L2 order, 0 means L1-L2-L3 order. Meaningful only on 3-phase systems. |
int16 | 1 | 1 | R | Input (FC04) | |
| 300056 | 55 | FrequencyFrequency |
int16 | 1 | Hz | 0.1 | R | Input (FC04) |
| 300057 | 56 | Maximum system active power demandPowerDemandMax |
int32 | 2 | W | 0.1 | R | Input (FC04) |
| 300059 | 58 | Maximum system apparent power demandApparentDemandMax |
int32 | 2 | VA | 0.1 | R | Input (FC04) |
| 300061 | 60 | Maximum current demandCurrentDemandMax |
int32 | 2 | A | 0.001 | R | Input (FC04) |
| 300063 | 62 | Total imported active energyEnergyImport_kWh |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300065 | 64 | Total imported reactive energyEnergyImport_kvarh |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300067 | 66 | Partial imported active energyEnergyImportPartial_kWh |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300069 | 68 | Partial imported reactive energyEnergyImportPartial_kvarh |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300071 | 70 | Phase 1 imported active energyEnergyImport_kWh_L1 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300073 | 72 | Phase 2 imported active energyEnergyImport_kWh_L2 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300075 | 74 | Phase 3 imported active energyEnergyImport_kWh_L3 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300077 | 76 | Imported active energy, tariff 1EnergyImport_kWh_T1 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300079 | 78 | Imported active energy, tariff 2EnergyImport_kWh_T2 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300081 | 80 | Imported active energy, tariff 3EnergyImport_kWh_T3 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300083 | 82 | Imported active energy, tariff 4EnergyImport_kWh_T4 |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300085 | 84 | Imported reactive energy, tariff 1EnergyImport_kvarh_T1 |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300087 | 86 | Imported reactive energy, tariff 2EnergyImport_kvarh_T2 |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300089 | 88 | Imported reactive energy, tariff 3EnergyImport_kvarh_T3 |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300091 | 90 | Imported reactive energy, tariff 4EnergyImport_kvarh_T4 |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300093 | 92 | Total exported active energyEnergyExport_kWh |
int32 | 2 | kWh | 0.1 | R | Input (FC04) |
| 300095 | 94 | Total exported reactive energyEnergyExport_kvarh |
int32 | 2 | kvarh | 0.1 | R | Input (FC04) |
| 300097 | 96 | Hour counterRunHours |
int32 | 2 | h | 0.01 | R | Input (FC04) |
| 300099 | 98 | Digital input counter 1Counter1 · Weight is 0.1, 0.01 or 0.001 of the engineering unit depending on the digital input format setting (registers 304404 to 304406). |
int32 | 2 | 1 | R | Input (FC04) | |
| 300101 | 100 | Digital input counter 2Counter2 |
int32 | 2 | 1 | R | Input (FC04) | |
| 300103 | 102 | Digital input counter 3Counter3 |
int32 | 2 | 1 | R | Input (FC04) | |
| 300769 | 768 | Digital input statusDigitalInputStatus · Bit 0 to bit 2 give the state of channels 1 to 3. A bit value of 0 means the input is closed and 1 means open. |
bitfield16 | 1 | 1 | R | Input (FC04) | |
| 300770 | 769 | Current tariffCurrentTariff · 0 = tariff 1, 1 = tariff 2, 2 = tariff 3, 3 = tariff 4. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300771 | 770 | Model version codeVersionCode · The value identifies the exact model variant (PFA, PFB or X, and input option); the mapping is listed in table 2.6-1. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300772 | 771 | Revision codeRevisionCode |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300773 | 772 | Front selector statusFrontSelector · 3 = keypad locked; 0, 1 or 2 = keypad unlocked. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300012 | 11 | Carlo Gavazzi identification codeProductCode · 71 for AV9 and AV2 input products, 72 for AV5, 73 for AV6. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 304353 | 4352 | Programming passwordPassword · 0 to 9999; out of range counts as 0. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304354 | 4353 | Application typeApplicationType · 0 to 7 selects application A to H. A, B, C, G are PFA only; E, F, H are PFB only; all are available on X models. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304355 | 4354 | Measuring systemMeasuringSystem · 0 = 3Pn, 1 = 3P1, 2 = 2P, 3 = 1P, 4 = 3P. PFA and PFB models support only 3Pn. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304356 | 4355 | Demand integration timeDemandIntervalTime · 1 to 30. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304361 | 4360 | Filter spanFilterSpan · 0 to 100. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304362 | 4361 | Filter coefficientFilterCoefficient · 1 to 32. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304363 | 4362 | RS485 instrument addressModbusAddress · 1 to 247. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304364 | 4363 | RS485 baud rateBaudRate · 0 = 4800, 1 = 9600. Stop bits fixed at 1 and parity fixed at none. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 304397 | 4396 | Current transformer ratioCT_Ratio · Raw 10 to 600000 means CT ratio 1.0 to 60000.0. |
uint32 | 2 | 0.1 | RW | Holding (FC03) | |
| 304399 | 4398 | Voltage transformer ratioVT_Ratio · Raw 10 to 60000 means VT ratio 1.0 to 6000.0. |
uint32 | 2 | 0.1 | RW | Holding (FC03) | |
| 304872 | 4871 | Instrument secondary addressSecondaryAddress |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 312289 | 12288 | Reset all meters (hour counter excluded)ResetAll · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) | |
| 312290 | 12289 | Reset total meters (hour counter excluded)ResetTotals · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) | |
| 312291 | 12290 | Reset partial metersResetPartials · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) | |
| 312292 | 12291 | Reset hour counterResetHourCounter · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) | |
| 312293 | 12292 | Reset counters 1 to 3ResetCounters · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) | |
| 312294 | 12293 | Reset maximum demand valuesResetDemandMax · Write 1 to execute; any other value has no effect. |
uint16 | 1 | 1 | W | Holding (FC03) |
Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.
Open in Modbus Poll
- Download the Modbus Poll blocks file.
- Open Modbus Poll, connect to the device and set its unit ID. In Modbus Poll set Word order to CD AB.
- In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
- The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.
Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.
Source and accuracy
Manufacturer document: EM24-DIN PFA, PFB and X models Communication Protocol (www.gavazziautomation.com)
EM24-DIN PFA, PFB & X models Communication Protocol, Version 4 Revision 0 (December 03, 2012), pp. 3-13. Read on 2026-10-24.
Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.
Found a mistake? Report it by email with the register address and the manual page.
More from Carlo Gavazzi
All Carlo Gavazzi register maps