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

Carlo Gavazzi EM210 Modbus register map

Also searched as: EM210 AV · EM210_AV

65 Modbus registers of the Carlo Gavazzi EM210, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from EM210 Communication Protocol (Version 4 Revision 3 (May 10, 2018)).

Three-phase energy meter with RS485 Modbus RTU; scaled integers, low word first.

Device type
Energy meter
Registers
65
Interfaces
Modbus RTU
Default unit ID
1
Byte order (multi-register values)
CDAB
Serial settings
9600 baud, 8 data bits, no parity, 1 stop bit
Registers per read
61

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.
  • Up to 61 registers per read; firmware, lock and identification registers are read one word at a time.
  • THD, neutral current and hour counters need firmware A.5 or later; the wrong-connection registers need A.6.
  • Phase 2 and 3 values read as 0 when the meter is set to a 1-phase or 2-phase system.
  • Frequency (0033h) is left out because the document gives its weight as Hz where sibling meters use Hz*10.

Registers

Grouped as in the vendor document.

Voltage 8 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
Current 4 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
Neutral current (calculated)current_n 30153 0x0098 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 30047 0x002E int16 × 0.001
Phase 2 power factorpower_factor_l2 30048 0x002F int16 × 0.001
Phase 3 power factorpower_factor_l3 30049 0x0030 int16 × 0.001
System power factorpower_factor_total 30050 0x0031 int16 × 0.001
Energy 5 registers
Name and key Reference Address Type Byte order Unit Scale
Total imported active energyimport_active_energy 30053 0x0034 int32 CDAB kWh × 0.1
Total imported reactive energyimport_reactive_energy 30055 0x0036 int32 CDAB kvarh × 0.1
Total exported active energyexport_active_energy 30079 0x004E int32 CDAB kWh × 0.1
Hour counterrun_hours 30091 0x005A int32 CDAB h × 0.01
Hour counter, negativerun_hours_negative 30093 0x005C int32 CDAB h × 0.01
Status 3 registers
Name and key Reference Address Type Byte order Unit Scale
Phase sequencephase_sequence 30051 0x0032 int16
Programming lockprogramming_lock 30773 0x0304 uint16
Wrong connection statuswrong_connection_status 44358 0x1105 bitfield16
Harmonics 9 registers
Name and key Reference Address Type Byte order Unit Scale
Phase 1 current THDthd_current_l1 30131 0x0082 int32 CDAB % × 0.01
Phase 2 current THDthd_current_l2 30133 0x0084 int32 CDAB % × 0.01
Phase 3 current THDthd_current_l3 30135 0x0086 int32 CDAB % × 0.01
Phase 1 line to neutral voltage THDthd_voltage_l1_n 30139 0x008A int32 CDAB % × 0.01
Phase 2 line to neutral voltage THDthd_voltage_l2_n 30141 0x008C int32 CDAB % × 0.01
Phase 3 line to neutral voltage THDthd_voltage_l3_n 30143 0x008E int32 CDAB % × 0.01
Line 1 to line 2 voltage THDthd_voltage_l1_l2 30147 0x0092 int32 CDAB % × 0.01
Line 2 to line 3 voltage THDthd_voltage_l2_l3 30149 0x0094 int32 CDAB % × 0.01
Line 3 to line 1 voltage THDthd_voltage_l3_l1 30151 0x0096 int32 CDAB % × 0.01
Info 5 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 320481 0x5000 string
Production yearproduction_year 320488 0x5007 uint16
Instrument secondary addresssecondary_address 320737 0x5100 uint32 CDAB
Setup 15 registers
Name and key Reference Address Type Byte order Unit Scale
Passwordpassword 44097 0x1000 uint16
Measuring systemmeasuring_system 44099 0x1002 uint16
Current transformer ratioct_ratio 44100 0x1003 uint32 CDAB × 0.1
Voltage transformer ratiovt_ratio 44102 0x1005 uint32 CDAB × 0.1
Pulse output durationpulse_duration 44115 0x1012 uint16
Energy per pulsepulse_weight 44129 0x1020 uint16 kWh × 0.01
Wrong connection detectionwrong_connection_enable 44357 0x1104 uint16
THD calculationthd_enable 44359 0x1106 uint16
Start current for hour countinghour_counter_start_current 44360 0x1107 int32 CDAB A × 0.001
Type of applicationapplication 44865 0x1300 uint16
RS485 instrument addressmodbus_address 48193 0x2000 uint16
RS485 baud ratebaud_rate 48194 0x2001 uint16
RS485 parityparity 48195 0x2002 uint16
RS485 stop bitsstop_bits 48196 0x2003 uint16
Reset energy meters and hour countersreset_meters 416385 0x4000 uint16

Source documents

View this map on GitHub (YAML)

Read it by name

Read the EM210 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": {
    "em210-1": {
      "protocol": "modbus-tcp",
      "host": "192.168.10.40",
      "unit_id": 1,
      "map": "carlo-gavazzi/em210"
    }
  }
}

Ask your assistant

Read voltage_l1_n, voltage_l2_n, voltage_l3_n from em210-1.

The tool call it makes

read_named(device: "em210-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