MBMap Registry
  1. Devices
  2. Schneider Electric
  3. PM2100 / PM2200

Schneider Electric PM2100 / PM2200 Modbus register map

Also covers PM2120, PM2130, PM2220, PM2230

Power meter

  • Verified
  • 2,418 registers
  • Modbus RTU
  • Revision 4 · 2026-11-10
  • Identity: model, serial number

Verified: Tested on a real device.

Communication

Protocol
Modbus RTU
Unit ID
1
Serial
19200 8N1 · 19200 baud, 8 data bits, none 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
2418 holding registers
Groups
12
Revision
4 · 2026-11-10
Added
()
File
maps/schneider-electric/pm2100.mbmap.json · 603 KB · history
SHA-256
75467e73f743d1954da9f01e8fb2071a26cb5f41ad9b02aade2e50e0eb85b88f
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.

Registers
RoleRegisterAddressTypeValues
Model Meter Model holding 50 string[20]
Serial number Serial Number holding 130 uint32 ABCD

Sources and notes

Source: Schneider Electric, PM2000 series firmware, revision history and Modbus register map, LCD v01.05.03

  • Addresses are the register numbers of the register list (Modicon numbering, 1-based): the address on the wire is the register number minus 1.
  • Registers marked RWC in the register list are changed through the command interface, so they are listed as read-only.
  • Values the meter cannot provide read as the N/A value of their data type (0xFFFF, 0xFFFFFFFF, 0x8000 or a float NaN).
  • Power factor registers are four-quadrant values from -2 to 2, not plain power factors: 0° = 1, 90° = 0, 180° = -1, 270° = 2. Above 1, the power factor is 2 minus the value and leading; below -1 it is -2 minus the value and leading; otherwise it is the value, lagging (unity at ±1).
  • The register list does not state the order of the two registers of a 32-bit value; this map uses the order of the PM5000 family (most significant register first). If the values look wrong on a device, try little word order.
  • Registers that exist only on some of the models say so in their description.
  • Tested on two PM2130, both firmware 1.2.1.34 (register 1637 reads 1021), read over a Modbus TCP gateway, November 2026: on the first all 2418 registers read without errors, 367 of them as the N/A value (registers of other models, such as the phase energies of the PM2220 / PM2230, the multi-tariff energies, and unused setup). Checked: identification, setup, currents, voltages, frequency, power (L1 + L2 + L3 active power = total on both, -46.36 kW and 120.40 kW), power factor, and the 64-bit accumulated energies; 32-bit floats read correctly with most significant register first. On the second, 2412 registers read; alarm log entries 16 and 17 (11307-11315) got no response from the gateway. Both meters answer FC17 with illegal function.
  • The integer power factors at 3196 and 3197 are sign-magnitude: bit 15 is the sign and bits 0-14 are thousandths (0x814F = -0.335 with the float at -0.336; on the second meter 3196 read 0x03AA = 0.938 and 3197 0x83AA, the float copy at 3194 being negative). The map reads the magnitude only; the sign is not decoded. Not tested: the models other than the PM2130.
AreaAddressNameTypeAccessUnitScaleDescription
HR 30 string[20] R
HR 50 string[20] R
HR 70 string[20] R
HR 90 uint16 R
HR 91 uint64 ABCD R Bitmap. Range: 0x0000 – 0xFFFF. Bitmap indicating base hardware options detected Bit 01 = HMI Bit 02 = Modbus Serial Communications Port Bit 03 = Modbus Ethernet Communications Port Bit 04 = Digital Inputs Bit 05 = Digital Outputs Bit 06-16 Not Used
HR 95 uint64 ABCD R Bitmap. Range: 0x0000 – 0xFFFF
HR 129 uint16 R (To be prefixed in Serial Number While Displaying)
HR 130 uint32 ABCD R
HR 132 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds)
HR 136 string[5] R
HR 141 uint16 R
HR 142 uint16 R
HR 143 uint16 R
HR 144 uint16 R
HR 145 uint16 R
HR 146 uint16 R
HR 147 uint16 R
HR 148 uint16 R
HR 149 uint16 R
HR 150 uint16 R
HR 151 uint16 R
HR 152 uint16 R
HR 153 uint16 R
HR 154 uint16 R
HR 155 uint16 R
HR 156 uint16 R
HR 157 uint16 R
HR 158 uint16 R
HR 159 uint16 R
HR 160 uint16 R
HR 161 uint16 R
HR 400 uint16 R For PM2130, PM2230 Options slots 1DI1DO - 0x0111 2DI2DO - 0x0122 1AI1AO - 0x0211 2AI2AO - 0x0222 2RO2DI- 0x0422. Only on PM2130, PM2230
HR 403 uint32 ABCD R Only on PM2130, PM2230
HR 405 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds). Only on PM2130, PM2230
HR 409 string[5] R Only on PM2130, PM2230
HR 414 uint16 R This is encoded into a packed binary format. Only on PM2130, PM2230
HR 1637 uint16 R Range: 0 – 32,767. The firmware version takes the following form: XXYYT
HR 1638 uint16 R Range: 00 – 99
HR 1639 uint16 R Range: 0000 – 9999
HR 1640 uint16 R Range: 0000 – 9999
HR 1641 uint16 R Range: 0000 – 9999
HR 1642 uint16 R Range: 0 – 32,767. The firmware version takes the following form: XXYYT
HR 1643 uint16 R Range: 00 – 99
HR 1644 uint16 R Range: 0000 – 9999
HR 1645 uint16 R Range: 0000 – 9999
HR 1646 uint16 R Range: 0000 – 9999
HR 1647 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds)
HR 1669 uint16 R Range: 0 – 32,767. The firmware version takes the following form: XXYYT
HR 1670 uint16 R Range: 00 – 99
HR 1671 uint16 R Range: 0000 – 9999
HR 1672 uint16 R Range: 0000 – 9999
HR 1673 uint16 R Range: 0000 – 9999
HR 1674 uint16 R Range: 0 – 32,767. Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1675 uint16 R Range: 00 – 99. Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1676 uint16 R Range: 0000 – 9999. Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1677 uint16 R Range: 0000 – 9999. Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1678 uint16 R Range: 0000 – 9999. Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1679 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds). Not supported in PM5xxx. Space reserved to preserve NVRAM locations
HR 1701 uint16 R Range: 0 – 32,767. The firmware version takes the following form: XXYYT
HR 1702 uint16 R Range: 00 – 99
HR 1703 uint16 R Range: 0000 – 9999
HR 1704 uint16 R Range: 0000 – 9999
HR 1705 uint16 R Range: 0000 – 9999
HR 1706 uint16 R Range: 0 – 32,767
HR 1707 uint16 R Range: 00 – 99
HR 1708 uint16 R Range: 0000 – 9999
HR 1709 uint16 R Range: 0000 – 9999
HR 1710 uint16 R Range: 0000 – 9999
HR 1711 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds)
HR 1715 uint16 R
HR 1716 uint16 R
HR 1747 uint16 R
HR 1748 uint16 R
HR 1749 uint16 R Range: 0 – 100
HR 1750 uint16 RW
HR 1824 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds)
HR 1828 uint16 R
HR 1829 uint16 R
HR 1830 uint64 ABCD R DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds)
HR 1834 uint32 ABCD R s
HR 1836 uint16 R Range: 0 – 2. 0 = Unknown 1 = Reset command 2 = Power failure
HR 1837 uint16 R year Range: 2000 – 2127
HR 1838 uint16 R month Range: 1 – 12
HR 1839 uint16 R days Range: 1 – 31
HR 1840 uint16 R hours Range: 0 – 23
HR 1841 uint16 R min Range: 0 – 59
HR 1842 uint16 R s Range: 0 – 59
HR 1843 uint16 R ms Range: 0 – 999
HR 1845 uint16 R Range: 0 – 127
HR 1846 uint16 R Range: 1 – 12, 1 – 31
HR 1847 uint16 R Range: 0 – 23, 0 – 59
HR 1848 uint16 R Range: 0 – 59,999
HR 1880 string[4] R
HR 1884 string[4] R
HR 1888 string[4] R
HR 1892 string[4] R
HR 1896 string[4] R
HR 2002 uint32 ABCD R s Increments when average current exceeds the Active Load Timer Setpoint
HR 2004 uint32 ABCD R s
HR 2006 uint32 ABCD R

Help improve this map