Schneider Electric Acti9 iEM3000 (iEM3150 / iEM3155 / iEM3250 / iEM3255 / iEM3350 / iEM3355) Modbus register map
DIN rail three-phase energy meters with Modbus RS-485: iEM3150/3155 (63 A direct), iEM3250/3255 (CT), iEM3350/3355 (125 A direct)
- Verified
- 81 registers
- Modbus RTU
- Revision 2
- Identity: model, serial number
Verified: Tested on a real device.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 19200 8E1 · 19200 baud, 8 data bits, even parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 81 holding registers
- Groups
- 12
- Translation tables
- 3
- Revision
- 2
- Added
- ()
- File
- maps/schneider-electric/iem3000.mbmap.json · 16 KB · history
- SHA-256
- ee8fe1b83ed3b2a4bfa7650561e67527a108eb301e570f9ed254a112af7c1f0c
- Manufacturer
- se.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 | Meter model | holding 50 | string[20] | |
| Serial number | Serial number | holding 130 | uint32 ABCD |
Sources and notes
Source: Schneider Electric, "iEM3100 / iEM3200 / iEM3300 series User Manual", DOCA0005EN-16; https://www.productinfo.schneider-electric.com/iem3100_iem3200_iem3300/
- Schneider Electric Acti9 iEM3000 energy meters with Modbus RS-485 (iEM3150/3155, iEM3250/3255, iEM3350/3355).
- Addresses are the manual's register numbers (address on the wire = register - 1).
- The meter only supports FC03 (read) and FC16 (write). Settings marked WC in the manual are changed through the command interface (registers 5250+), so they are listed here as read-only.
- Rows marked "not on iEM3x50" only exist on the iEM3155 / iEM3255 / iEM3355.
- Tested on an iEM3250 and an iEM3155, both hardware revision 1.0.0 and firmware 14002, read over a Modbus TCP gateway, November 2026: all 81 registers read without errors on each. Checked: identification (name, model, manufacturer, serial number), setup, communication, currents, voltages, frequency, power, power factor, the 64-bit energy counters and their float copies (iEM3155: 127432214 Wh = 127432.21875 kWh), and the phase energies. On the iEM3155, L1 + L2 + L3 active power (2.5512 kW) equals the total, and active / apparent power (2.5512 / 4.0854) gives the power factor 0.6245 that the meter reports.
- On the iEM3250 the rows marked "not on iEM3x50" read NaN (floats) or 0xFFC00000; on the iEM3155 they read values (reactive and apparent power, energy export, the reactive phase energies, the four rates, which were 0 because multi-tariff is disabled). Both meters answer FC17 with illegal function.
- Not verified: the meaning of diagnostic codes 204 and 205 (code 205 was active on both meters, and 204 also on the iEM3250), and Digital input status (8906), which read 0x00008000 on the iEM3155 and 0xFFC00000 on the iEM3250: the 32-bit value does not fit the description of bit 1 given for it, and the state of the input was not known.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 30 | string[20] | R | ||||
| HR | 50 | string[20] | R | ||||
| HR | 70 | string[20] | R | ||||
| HR | 130 | uint32 ABCD | R | ||||
| HR | 136 | string[5] | R | ||||
| HR | 1637 | uint16 | R | DLF format X.Y.ZTT | |||
| HR | 45000 | bool bit 0 | R | ||||
| HR | 45000 | bool bit 1 | R | ||||
| HR | 45000 | bool bit 2 | R | ||||
| HR | 45000 | bool bit 3 | R | ||||
| HR | 45000 | bool bit 4 | R | ||||
| HR | 45000 | bool bit 5 | R | ||||
| HR | 45000 | bool bit 6 | R | ||||
| HR | 45000 | bool bit 7 | R | ||||
| HR | 45000 | bool bit 8 | R | ||||
| HR | 2014 | uint16 | R | ||||
| HR | 2015 | uint16 | R | ||||
| HR | 2016 | uint16 | R | Set with the command interface | |||
| HR | 2017 | uint16 | R | Hz | Set with the command interface | ||
| HR | 2030 | uint16 | R | A | iEM3250/3255 only | ||
| HR | 2031 | uint16 | R | A | iEM3250/3255 only | ||
| HR | 6501 | uint16 | R | Set with the command interface | |||
| HR | 6502 | uint16 | R | Set with the command interface | |||
| HR | 6503 | uint16 | R | One stop bit | |||
| HR | 3000 | float32 ABCD | R | A | |||
| HR | 3002 | float32 ABCD | R | A | |||
| HR | 3004 | float32 ABCD | R | A | |||
| HR | 3010 | float32 ABCD | R | A | |||
| HR | 3020 | float32 ABCD | R | V | |||
| HR | 3022 | float32 ABCD | R | V | |||
| HR | 3024 | float32 ABCD | R | V | |||
| HR | 3026 | float32 ABCD | R | V | |||
| HR | 3028 | float32 ABCD | R | V | |||
| HR | 3030 | float32 ABCD | R | V | |||
| HR | 3032 | float32 ABCD | R | V | |||
| HR | 3036 | float32 ABCD | R | V | |||
| HR | 3054 | float32 ABCD | R | kW | |||
| HR | 3056 | float32 ABCD | R | kW | |||
| HR | 3058 | float32 ABCD | R | kW | |||
| HR | 3060 | float32 ABCD | R | kW | |||
| HR | 3068 | float32 ABCD | R | kvar | Not on iEM3x50 | ||
| HR | 3076 | float32 ABCD | R | kVA | Not on iEM3x50 | ||
| HR | 3084 | float32 ABCD | R | Four-quadrant encoding: 0..1 Q1, 1..2 Q4, -1..0 Q2, -2..-1 Q3 | |||
| HR | 3192 | float32 ABCD | R | Plain -1..+1 value; recent firmware of iEM3x55 only | |||
| HR | 3194 | float32 ABCD | R | Recent firmware of iEM3x55 only | |||
| HR | 3110 | float32 ABCD | R | Hz | |||
| HR | 4191 | uint16 | R | Not on iEM3x50 | |||
| HR | 3204 | int64 ABCD | R | Wh | Cannot be reset | ||
| HR | 3208 | int64 ABCD | R | Wh | Not on iEM3x50 | ||
| HR | 3220 | int64 ABCD | R | varh | Not on iEM3x50 | ||
| HR | 3224 | int64 ABCD | R | varh | Not on iEM3x50 | ||
| HR | 3256 | int64 ABCD | R | Wh | |||
| HR | 3272 | int64 ABCD | R | varh | Not on iEM3x50 | ||
| HR | 3518 | int64 ABCD | R | Wh | |||
| HR | 3522 | int64 ABCD | R | Wh | |||
| HR | 3526 | int64 ABCD | R | Wh | |||
| HR | 3558 | int64 ABCD | R | Not on iEM3x50 | |||
| HR | 4196 | int64 ABCD | R | Wh | Not on iEM3x50 | ||
| HR | 4200 | int64 ABCD | R | Wh | Not on iEM3x50 | ||
| HR | 4204 | int64 ABCD | R | Wh | Not on iEM3x50 | ||
| HR | 4208 | int64 ABCD | R | Wh | Not on iEM3x50 | ||
| HR | 45100 | float32 ABCD | R | kWh | Same counter as 3204 | ||
| HR | 45102 | float32 ABCD | R | kWh | Not on iEM3x50 | ||
| HR | 45104 | float32 ABCD | R | kvarh | Not on iEM3x50 | ||
| HR | 45106 | float32 ABCD | R | kvarh | Not on iEM3x50 | ||
| HR | 45108 | float32 ABCD | R | kWh | |||
| HR | 45110 | float32 ABCD | R | kvarh | Not on iEM3x50 | ||
| HR | 45112 | float32 ABCD | R | kWh | |||
| HR | 45114 | float32 ABCD | R | kWh | |||
| HR | 45116 | float32 ABCD | R | kWh | |||
| HR | 45118 | float32 ABCD | R | Not on iEM3x50 | |||
| HR | 45120 | float32 ABCD | R | kWh | Not on iEM3x50 | ||
| HR | 45122 | float32 ABCD | R | kWh | Not on iEM3x50 | ||
| HR | 45124 | float32 ABCD | R | kWh | Not on iEM3x50 | ||
| HR | 45126 | float32 ABCD | R | kWh | Not on iEM3x50 | ||
| HR | 45128 | float32 ABCD | R | kvarh | iEM3x55 with 1PH4W multi L-N firmware | ||
| HR | 45130 | float32 ABCD | R | kvarh | iEM3x55 with 1PH4W multi L-N firmware | ||
| HR | 45132 | float32 ABCD | R | kvarh | iEM3x55 with 1PH4W multi L-N firmware | ||
| HR | 8906 | uint32 ABCD | R | Bit 1: 0 = open, 1 = closed. iEM3x55 only | |||
| HR | 45005 | uint16 | R | iEM3x55 only | |||
| HR | 45011 | float32 ABCD | R | kW | iEM3x55 only |
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).