Skip to content
Proxus 2.0.1 Licence and sign-in fixes after the 2.0 upgrade Release notes

Carlo Gavazzi EM24-DIN Modbus register map

Also searched as: EM24 · EM24DIN · EM24-DIN PFA · EM24-DIN PFB · EM24-DIN X

78 Modbus registers of the Carlo Gavazzi EM24-DIN, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from EM24-DIN PFA, PFB & X models Communication Protocol (Version 4 Revision 0 (December 3, 2012)).

Three-phase DIN-rail energy meter with RS485 Modbus RTU (PFA, PFB and X models); scaled integers, low word first.

Device type
Energy meter
Registers
78
Interfaces
Modbus RTU
Default unit ID
1
Byte order (multi-register values)
CDAB
Registers per read
11

Hardware verification

Not yet verified on hardware. The map is transcribed from the vendor document and checked against it by script; check the first readings against the device display.

Verify it on your device What the levels mean

Connection notes

  • Function codes 03 and 04 return the same values; input registers here can also be read as holding registers.
  • 32-bit values are sent low word first (LSW, MSW); bytes inside each word are high byte first.
  • The document limits a read to 11 registers; registers in tables 2.4 to 2.8 are read one word at a time.
  • Write settings with function 06 (one register); broadcast (address 0) is accepted for writes only.
  • Serial settings are 8 data bits, no parity, 1 stop bit; only the baud rate is selectable.
  • A value whose high word is 7FFFh is an overflow and the display shows EEEE.
  • The EM24-DIN Ethernet and M-Bus models and the EM24-IS SFA and SFB models use other documents.

Registers

Grouped as in the vendor document.

Voltage 9 registers
Name and key Reference Address Type Byte order Unit Scale
Phase 1 line to neutral voltagevoltage_l1_n 30001 0x0000 int32 CDAB V × 0.1
Phase 2 line to neutral voltagevoltage_l2_n 30003 0x0002 int32 CDAB V × 0.1
Phase 3 line to neutral voltagevoltage_l3_n 30005 0x0004 int32 CDAB V × 0.1
Line 1 to line 2 voltagevoltage_l1_l2 30007 0x0006 int32 CDAB V × 0.1
Line 2 to line 3 voltagevoltage_l2_l3 30009 0x0008 int32 CDAB V × 0.1
Line 3 to line 1 voltagevoltage_l3_l1 30011 0x000A int32 CDAB V × 0.1
System line to neutral voltagevoltage_l_n_sys 30037 0x0024 int32 CDAB V × 0.1
System line to line voltagevoltage_l_l_sys 30039 0x0026 int32 CDAB V × 0.1
Frequencyfrequency 30056 0x0037 int16 Hz × 0.1
Current 3 registers
Name and key Reference Address Type Byte order Unit Scale
Phase 1 currentcurrent_l1 30013 0x000C int32 CDAB A × 0.001
Phase 2 currentcurrent_l2 30015 0x000E int32 CDAB A × 0.001
Phase 3 currentcurrent_l3 30017 0x0010 int32 CDAB A × 0.001
Power 16 registers
Name and key Reference Address Type Byte order Unit Scale
Phase 1 active poweractive_power_l1 30019 0x0012 int32 CDAB W × 0.1
Phase 2 active poweractive_power_l2 30021 0x0014 int32 CDAB W × 0.1
Phase 3 active poweractive_power_l3 30023 0x0016 int32 CDAB W × 0.1
Phase 1 apparent powerapparent_power_l1 30025 0x0018 int32 CDAB VA × 0.1
Phase 2 apparent powerapparent_power_l2 30027 0x001A int32 CDAB VA × 0.1
Phase 3 apparent powerapparent_power_l3 30029 0x001C int32 CDAB VA × 0.1
Phase 1 reactive powerreactive_power_l1 30031 0x001E int32 CDAB var × 0.1
Phase 2 reactive powerreactive_power_l2 30033 0x0020 int32 CDAB var × 0.1
Phase 3 reactive powerreactive_power_l3 30035 0x0022 int32 CDAB var × 0.1
System active poweractive_power_total 30041 0x0028 int32 CDAB W × 0.1
System apparent powerapparent_power_total 30043 0x002A int32 CDAB VA × 0.1
System reactive powerreactive_power_total 30045 0x002C int32 CDAB var × 0.1
Phase 1 power factorpower_factor_l1 30051 0x0032 int16 × 0.001
Phase 2 power factorpower_factor_l2 30052 0x0033 int16 × 0.001
Phase 3 power factorpower_factor_l3 30053 0x0034 int16 × 0.001
System power factorpower_factor_total 30054 0x0035 int16 × 0.001
Energy 10 registers
Name and key Reference Address Type Byte order Unit Scale
Total imported active energyimport_active_energy 30063 0x003E int32 CDAB kWh × 0.1
Total imported reactive energyimport_reactive_energy 30065 0x0040 int32 CDAB kvarh × 0.1
Partial imported active energyimport_active_energy_partial 30067 0x0042 int32 CDAB kWh × 0.1
Partial imported reactive energyimport_reactive_energy_partial 30069 0x0044 int32 CDAB kvarh × 0.1
Phase 1 imported active energyimport_active_energy_l1 30071 0x0046 int32 CDAB kWh × 0.1
Phase 2 imported active energyimport_active_energy_l2 30073 0x0048 int32 CDAB kWh × 0.1
Phase 3 imported active energyimport_active_energy_l3 30075 0x004A int32 CDAB kWh × 0.1
Total exported active energyexport_active_energy 30093 0x005C int32 CDAB kWh × 0.1
Total exported reactive energyexport_reactive_energy 30095 0x005E int32 CDAB kvarh × 0.1
Hour counterrun_hours 30097 0x0060 int32 CDAB h × 0.01
Status 4 registers
Name and key Reference Address Type Byte order Unit Scale
Phase sequencephase_sequence 30055 0x0036 int16
Digital input statusdigital_input_status 30769 0x0300 bitfield16
Current tariffcurrent_tariff 30770 0x0301 uint16
Front selector statusfront_selector_status 30773 0x0304 uint16
Demand 5 registers
Name and key Reference Address Type Byte order Unit Scale
System active power demandactive_power_demand 30047 0x002E int32 CDAB W × 0.1
System apparent power demandapparent_power_demand 30049 0x0030 int32 CDAB VA × 0.1
Maximum system active power demandactive_power_demand_max 30057 0x0038 int32 CDAB W × 0.1
Maximum system apparent power demandapparent_power_demand_max 30059 0x003A int32 CDAB VA × 0.1
Maximum current demandcurrent_demand_max 30061 0x003C int32 CDAB A × 0.001
Tariff energy 8 registers
Name and key Reference Address Type Byte order Unit Scale
Imported active energy, tariff 1import_active_energy_t1 30077 0x004C int32 CDAB kWh × 0.1
Imported active energy, tariff 2import_active_energy_t2 30079 0x004E int32 CDAB kWh × 0.1
Imported active energy, tariff 3import_active_energy_t3 30081 0x0050 int32 CDAB kWh × 0.1
Imported active energy, tariff 4import_active_energy_t4 30083 0x0052 int32 CDAB kWh × 0.1
Imported reactive energy, tariff 1import_reactive_energy_t1 30085 0x0054 int32 CDAB kvarh × 0.1
Imported reactive energy, tariff 2import_reactive_energy_t2 30087 0x0056 int32 CDAB kvarh × 0.1
Imported reactive energy, tariff 3import_reactive_energy_t3 30089 0x0058 int32 CDAB kvarh × 0.1
Imported reactive energy, tariff 4import_reactive_energy_t4 30091 0x005A int32 CDAB kvarh × 0.1
Counters 3 registers
Name and key Reference Address Type Byte order Unit Scale
Counter 1counter_1 30099 0x0062 int32 CDAB
Counter 2counter_2 30101 0x0064 int32 CDAB
Counter 3counter_3 30103 0x0066 int32 CDAB
Info 4 registers
Name and key Reference Address Type Byte order Unit Scale
Version codeversion_code 30771 0x0302 uint16
Revision coderevision_code 30772 0x0303 uint16
Serial numberserial_number 34865 0x1300 string
Instrument secondary addresssecondary_address 34872 0x1307 uint32 CDAB
Setup 16 registers
Name and key Reference Address Type Byte order Unit Scale
Passwordpassword 44353 0x1100 uint16
Type of applicationapplication 44354 0x1101 uint16
Measuring systemmeasuring_system 44355 0x1102 uint16
Demand integration timedemand_interval 44356 0x1103 uint16 min
Filter span parameterfilter_span 44361 0x1108 uint16
Filter coefficientfilter_coefficient 44362 0x1109 uint16
RS485 instrument addressmodbus_address 44363 0x110A uint16
RS485 baud ratebaud_rate 44364 0x110B uint16
Current transformer ratioct_ratio 44397 0x112C uint32 CDAB × 0.1
Voltage transformer ratiovt_ratio 44399 0x112E uint32 CDAB × 0.1
Reset all meters except the hour counterreset_all_meters 412289 0x3000 uint16
Reset total meters except the hour counterreset_total_meters 412290 0x3001 uint16
Reset partial metersreset_partial_meters 412291 0x3002 uint16
Reset hour counterreset_hour_counter 412292 0x3003 uint16
Reset counters 1, 2 and 3reset_counters 412293 0x3004 uint16
Reset maximum demand valuesreset_demand_max 412294 0x3005 uint16

Source documents

View this map on GitHub (YAML)

Read it by name

Read the EM24-DIN with an AI assistant

The Proxus Industrial MCP Server includes this map. Set it on the device, and Claude, Cursor or VS Code reads registers by key with the right type, byte order, scale and unit. It only reads.

This device speaks Modbus RTU: reach it through a Modbus TCP gateway and use the gateway’s address with the device’s unit ID.

proxus-mcp.json

{
  "devices": {
    "em24-1": {
      "protocol": "modbus-tcp",
      "host": "192.168.10.40",
      "unit_id": 1,
      "map": "carlo-gavazzi/em24-din"
    }
  }
}

Ask your assistant

Read voltage_l1_n, voltage_l2_n, voltage_l3_n from em24-1.

The tool call it makes

read_named(device: "em24-1", keys: ["voltage_l1_n", "voltage_l2_n", "voltage_l3_n"])

Have this device? Verify the map.

Ask your assistant to run verify_device_map. It reads every register once, read-only, checks that the values are plausible and asks you to compare two values with the display. You get a report and a prefilled GitHub issue to submit; your name goes on this map’s verified list.

Collecting from many devices?

Proxus reads Modbus TCP and RTU devices next to the machines, keeps the history and delivers the values to dashboards, databases and AI.

Modbus in Proxus Industrial connectivity