Carlo Gavazzi EM24-IS Modbus register map
Also covers EM24-DIN PFA, EM24-DIN PFB, EM24-DIN X
Three-phase energy analyzer (DIN rail) with RS485 Modbus RTU (IS output option)
- Official
- 104 registers
- Modbus RTU
- Revision 2 · 2026-10-17
- Identity: model, firmware
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- CDAB · bytes big-endian, words low first (word swap)
- Addresses
- 0-based
- Max read
- 11 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 41 holding registers, 63 input registers
- Groups
- 6
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/carlo-gavazzi/em24-is.mbmap.json · 22 KB · history
- SHA-256
- 234ab559f0f0e940f8678b80537e6b8fa764749afd900a93043504ec31f903af
- Manufacturer
- gavazziautomation.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Model | Carlo Gavazzi identification code | input 11 | uint16 | 71 = EM24-DIN AV9 / AV2, 72 = EM24-DIN AV5, 73 = EM24-DIN AV6 |
| Firmware | Revision code | input 771 | uint16 |
Sources and notes
- EM24-DIN PFA, PFB & X models Communication Protocol · version Version 4 Revision 0, 2012-12-03
Source: Carlo Gavazzi, "EM24-DIN PFA, PFB & X models Communication Protocol", version 4 revision 0 (2012-12-03)
- FC03 or FC04 read (the same values), FC06 writes one register; at most 11 registers per read.
- 32-bit values are low word first (bytes high first in each word).
- Overflow (EEEE on the display) reads 7FFFh in the high word of the variable.
- Status and identity registers (0x0300–0x0304, 0x000B) must be read one word at a time.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 0 | int32 CDAB | R | V | ×0.1 | ||
| IR | 2 | int32 CDAB | R | V | ×0.1 | ||
| IR | 4 | int32 CDAB | R | V | ×0.1 | ||
| IR | 6 | int32 CDAB | R | V | ×0.1 | ||
| IR | 8 | int32 CDAB | R | V | ×0.1 | ||
| IR | 10 | int32 CDAB | R | V | ×0.1 | ||
| IR | 12 | int32 CDAB | R | A | ×0.001 | ||
| IR | 14 | int32 CDAB | R | A | ×0.001 | ||
| IR | 16 | int32 CDAB | R | A | ×0.001 | ||
| IR | 18 | int32 CDAB | R | W | ×0.1 | ||
| IR | 20 | int32 CDAB | R | W | ×0.1 | ||
| IR | 22 | int32 CDAB | R | W | ×0.1 | ||
| IR | 24 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 26 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 28 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 30 | int32 CDAB | R | var | ×0.1 | ||
| IR | 32 | int32 CDAB | R | var | ×0.1 | ||
| IR | 34 | int32 CDAB | R | var | ×0.1 | ||
| IR | 36 | int32 CDAB | R | V | ×0.1 | ||
| IR | 38 | int32 CDAB | R | V | ×0.1 | ||
| IR | 40 | int32 CDAB | R | W | ×0.1 | ||
| IR | 42 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 44 | int32 CDAB | R | var | ×0.1 | ||
| IR | 46 | int32 CDAB | R | W | ×0.1 | ||
| IR | 48 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 50 | int16 | R | ×0.001 | Negative = lead (C), positive = lag (L) | ||
| IR | 51 | int16 | R | ×0.001 | |||
| IR | 52 | int16 | R | ×0.001 | |||
| IR | 53 | int16 | R | ×0.001 | |||
| IR | 54 | int16 | R | Meaningful only in 3-phase systems | |||
| IR | 55 | int16 | R | Hz | ×0.1 | ||
| IR | 56 | int32 CDAB | R | W | ×0.1 | ||
| IR | 58 | int32 CDAB | R | VA | ×0.1 | ||
| IR | 60 | int32 CDAB | R | A | ×0.001 | ||
| IR | 62 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 64 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 66 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 68 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 70 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 72 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 74 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 76 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 78 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 80 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 82 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 84 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 86 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 88 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 90 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 92 | int32 CDAB | R | kWh | ×0.1 | ||
| IR | 94 | int32 CDAB | R | kvarh | ×0.1 | ||
| IR | 96 | int32 CDAB | R | h | ×0.01 | ||
| IR | 98 | int32 CDAB | R | Weight ×10, ×100 or ×1000 per the digital input format setting (0x1133–0x1135) | |||
| IR | 100 | int32 CDAB | R | ||||
| IR | 102 | int32 CDAB | R | ||||
| IR | 768 | bool bit 0 | R | 1 = open, 0 = closed; read this register alone | |||
| IR | 768 | bool bit 1 | R | ||||
| IR | 768 | bool bit 2 | R | ||||
| IR | 769 | uint16 | R | ||||
| IR | 772 | uint16 | R | ||||
| IR | 11 | uint16 | R | Read alone, one word at a time: the same address is the high word of Voltage L3-L1 | |||
| IR | 770 | uint16 | R | x = D or L | |||
| IR | 771 | uint16 | R | ||||
| HR | 4864 | uint16 | R | ASCII: high byte first letter, low byte second | |||
| HR | 4865 | uint16 | R | ||||
| HR | 4866 | uint16 | R | ||||
| HR | 4867 | uint16 | R | ||||
| HR | 4868 | uint16 | R | ||||
| HR | 4869 | uint16 | R | ||||
| HR | 4870 | uint16 | R | ||||
| HR | 4352 | uint16 | RW | ||||
| HR | 4353 | uint16 | RW | A, B, C, G on PFA only; E, F, H on PFB only; all on X | |||
| HR | 4354 | uint16 | RW | PFA and PFB support only 3Pn | |||
| HR | 4355 | uint16 | RW | min | |||
| HR | 4356 | uint16 | RW | ||||
| HR | 4357 | uint16 | RW | ||||
| HR | 4358 | uint16 | RW | ||||
| HR | 4359 | uint16 | RW | ||||
| HR | 4360 | uint16 | RW | ||||
| HR | 4361 | uint16 | RW | ||||
| HR | 4362 | uint16 | RW | ||||
| HR | 4363 | uint16 | RW | 8 data bits, no parity, 1 stop bit, fixed | |||
| HR | 4364 | uint16 | RW | ||||
| HR | 4365 | uint16 | RW | ||||
| HR | 4366 | uint16 | RW | ||||
| HR | 4385 | uint16 | RW | ||||
| HR | 4386 | uint16 | RW | ||||
| HR | 4387 | uint16 | RW | ||||
| HR | 4388 | uint16 | RW | ||||
| HR | 4389 | uint16 | RW | ||||
| HR | 4390 | uint16 | RW | ||||
| HR | 4391 | uint16 | W | Low byte 5Ah, high byte the tariff 0–3 (tariff 1–4); only when no digital input selects tariffs | |||
| HR | 4403 | uint16 | RW | ||||
| HR | 4404 | uint16 | RW | ||||
| HR | 4405 | uint16 | RW | ||||
| HR | 4396 | uint32 CDAB | RW | ×0.1 | |||
| HR | 4398 | uint32 CDAB | RW | ×0.1 | |||
| HR | 4871 | uint32 CDAB | R | ||||
| HR | 12288 | uint16 | W | ||||
| HR | 12289 | uint16 | W |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).