Carlo Gavazzi EM24-IS Modbus register map
Also searched as: EM24-IS SFA · EM24-IS SFB · EM24DINAV23XISSFA · EM24DINAV53XISSFA · EM24DINAV23XISSFB · EM24DINAV53XISSFB
30 Modbus registers of the Carlo Gavazzi EM24-IS, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from EM24-IS SFA and SFB versions Communication Protocol (Revision 2.0).
EM24-IS SFA and SFB three-phase DIN-rail meters with RS485 Modbus RTU; a reduced EM24 map of scaled integers, low word first.
- Device type
- Energy meter
- Registers
- 30
- 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.
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.
- Many EM24-DIN addresses (power, demand, tariff and phase energies) are reserved on these models and are not listed.
- Serial settings are 8 data bits, no parity, 1 stop bit; only the baud rate is selectable.
- SFA and SFB models support only the 3Pn measuring system.
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 4 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
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 1 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Total imported active energyimport_active_energy | 30063 | 0x003E | int32 | CDAB | kWh | × 0.1 |
Status 3 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 | |||
Front selector statusfront_selector_status | 30773 | 0x0304 | uint16 |
Info 2 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Version and revision codefirmware_version | 30771 | 0x0302 | uint16 | |||
Serial numberserial_number | 34865 | 0x1300 | string |
Setup 8 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Passwordpassword | 44353 | 0x1100 | uint16 | |||
Measuring systemmeasuring_system | 44355 | 0x1102 | uint16 | |||
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 |
Source documents
- EM24-IS SFA and SFB versions Communication Protocol , Carlo Gavazzi, Revision 2.0 (accessed 2026-11-09)
Read it by name
Read the EM24-IS 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-is"
}
}
} 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.