Schneider Electric PM5500 Modbus register map
Also covers PM5560, PM5561, PM5563, PM5570, PM5580
Power meter
- Official
- 4,703 registers
- Modbus RTU
- Revision 3 · 2026-10-18
- Identity: model, serial number
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
- 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
- 4703 holding registers
- Groups
- 14
- Revision
- 3 · 2026-10-18
- Added
- ()
- File
- maps/schneider-electric/pm5500.mbmap.json · 1.0 MB · history
- SHA-256
- 15930723fb8ed980eb1c4969bd250d3bbd475dab6a293a35e2756e2c83678791
- 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
- Schneider Electric, PM5560, PM5561, PM5563, PM5570, PM5580, PM5650, PM5660, PM5661, PM5760 and PM5761 public Modbus register list · version 10 August 2023 spreadsheet PM556x_PublicModbusRegisterList_10th_August-23.xlsx, sheet Register List
Source: Schneider Electric, PM5560, PM5561, PM5563, PM5570, PM5580, PM5650, PM5660, PM5661, PM5760 and PM5761 public Modbus register list
- 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 (registers 5000 and following), 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).
- Registers that exist only on some of the models say so in their description.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 30 | string[20] | R | ||||
| HR | 50 | string[20] | R | ||||
| HR | 70 | string[20] | R | ||||
| HR | 90 | uint16 | R | PM5350 = 15234, PM5350RB = 15283 | |||
| 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 | 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 | 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 | 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 | 1701 | uint16 | R | Range: 0 – 32,767. The firmware version takes the following form: XXYYT | |||
| 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 | 1920 | uint16 | R | Range: 0 – 1. 0 = disabled, 1 = enabled | |||
| HR | 1921 | uint16 | R | Range: 0 – 4. 0 = inactive, 1 = active, For RMICAN 3 = inactive, 4 = active, | |||
| HR | 1922 | uint64 ABCD | R | DATETIME, 4 registers (IEC 870-5-4: year, day/weekday/month, hour/minute, milliseconds) | |||
| HR | 2002 | uint32 ABCD | R | s | Increments when average current exceeds the Active Load Timer Setpoint | ||
| HR | 2004 | uint32 ABCD | R | s | |||
| HR | 2014 | uint16 | R | Range: 1 or 3. Must match Power System Configuration Enumeration | |||
| HR | 2015 | uint16 | R | Range: 2 – 4. Must match Power System Configuration Enumeration | |||
| HR | 2016 | uint16 | R | Range: 0 – 13 PM5350: 0 - 12 | |||
| HR | 2017 | uint16 | R | Hz | Range: 50, 60, 400 PM5350: 50, 60. PM5350 does not support 400Hz | ||
| HR | 2018 | float32 ABCD | R | V | Range: 0 – (2xVT Primary or 2,000,000) | ||
| HR | 2020 | float32 ABCD | R | A | Range: 0 – (4xCT Primary or 50,000) | ||
| HR | 2022 | float32 ABCD | R | Four-quadrant power factor. Range: +/- 0.0 – 2.0 | |||
| HR | 2024 | uint16 | R | Range: 0 – 1 | |||
| HR | 2025 | uint16 | R | Range: Depends on Power System | |||
| HR | 2026 | float32 ABCD | R | V | Range: VT Secondary – 1,000,000 | ||
| HR | 2028 | uint16 | R | V | Range: 100, 110, 115, 120 | ||
| HR | 2029 | uint16 | R | Range: Depends on Power System | |||
| HR | 2030 | uint16 | R | A | Range: 1 – 32,767 | ||
| HR | 2031 | uint16 | R | A | Range: 1 , 5 | ||
| HR | 2032 | uint16 | R | A | Range: 1 – 32,767 | ||
| HR | 2033 | uint16 | R | A | Range: 1, 5 | ||
| HR | 2034 | uint16 | R | Range: 1 – 3. If 1 CT, value is meter terminal connected If 2 CT, value is meter terminal not connected 1 = Phase A, 2 = Phase B, 3 = Phase C | |||
| HR | 2035 | uint16 | R | Range: 1 – 3. Must match CT Location | |||
| HR | 2036 | uint16 | R | Range: 0 –4. 0 = Direct Connect 1 = Delta (2 VT) 2 = Wye (3 VT) 3 = L-N (1 VT) 4 = L-L (1 VT) 5 = L-L W/N (2 VT) | |||
| HR | 2037 | uint16 | R | Range: 0 – 1. 0 = Default Mapping; 1 = Remapping in Use | |||
| HR | 2038 | uint16 | R | Range: 10 – 31. Add 1 if reversed | |||
| HR | 2039 | uint16 | R | Range: 10 – 31. Add 1 if reversed | |||
| HR | 2040 | uint16 | R | Range: 10 – 31. Add 1 if reversed | |||
| HR | 2041 | uint16 | R | Range: 10 – 41. Add 1 if reversed | |||
| HR | 2042 | uint16 | R | Range: 10 – 41. Add 1 if reversed | |||
| HR | 2043 | uint16 | R | Range: 10 – 41. Add 1 if reversed | |||
| HR | 2044 | uint16 | R | Range: 10 – 41. Add 1 if reversed | |||
| HR | 2045 | uint16 | R | Range: 10 – 41. Add 1 if reversed | |||
| HR | 2048 | float32 ABCD | R | A | Entered by the user for use in calculation of Total Demand Distortion. 0 = Calculation performed using peak demand of 3-phase average current | ||
| HR | 2050 | float32 ABCD | R | A | Range: 0 – (10 * CT Ratio) | ||
| HR | 2126 | uint16 | R | Range: 0 – 2. 0 = Disable, 1 = Active Alarm (default), 2 = Energy | |||
| HR | 2129 | uint16 | R | mSec | Range: 10, 25, 50, 100, 150, 200, 300, 500, 1000. Only on PM5580, PM5560, PM5563 | ||
| HR | 2130 | uint16 | R | Range: 0 – 18 PM5350 / PM5500: 0 - 9 | |||
| HR | 2131 | uint16 | R | Range: 0 – 99. 0 = No association 1 - 2 = Digital Output 99 = LED A digital output shall be permitted to be associated with only 1 energy value. If the Energy Channel is not 0, a valid digital output association must be made | |||
| HR | 2132 | float32 ABCD | R | FLOAT32 or INT32U, depending on the unit configured. Range: 1E-10 – 1E10. If the Energy Channel is not 0, a non-zero pulse weight must be entered. In PM5500 and PM5350 R2 it is an INT32U. The range is 1-9999999, the default value is 1, and the units are pulses / k_h | |||
| HR | 2134 | uint16 | R | Range: 0 – 18 | |||
| HR | 2135 | uint16 | R | Range: 0 – 99 | |||
| HR | 2136 | float32 ABCD | R | FLOAT32 or INT32U, depending on the unit configured. Range: 1E-10 – 1E10. If the Energy Channel is not 0, a non-zero pulse weight must be entered. In PM5500 and PM5350 R2 it is an INT32U. The range is 1-9999999, the default value is 1, and the units are pulses / k_h | |||
| HR | 2138 | uint16 | R | Range: 0 – 18 | |||
| HR | 2139 | uint16 | R | Range: 0 – 99 | |||
| HR | 2140 | float32 ABCD | R | FLOAT32 or INT32U, depending on the unit configured. Range: 1E-10 – 1E10. If the Energy Channel is not 0, a non-zero pulse weight must be entered. In PM5500 and PM5350 R2 it is an INT32U. The range is 1-9999999, the default value is 1, and the units are pulses / k_h | |||
| HR | 2300 | uint16 | R | Range: 0 - 6. 0 to 6 0= Auto, 1= Kilo, 2= Mega, 3= Giga, 4= Tera, 5=Peta, 6=Exa. Only on PM5561 | |||
| HR | 2400 | uint16 | R | Bitmap. Range: 0x0000 – 0x000F | |||
| HR | 2401 | uint16 | R | Bitmap. Range: 0x0000 – 0x000F | |||
| HR | 2402 | uint16 | R | Bitmap. Range: 0x0000 – 0x000F | |||
| HR | 2403 | uint16 | R | Bitmap. Range: 0x0000 – 0x000F | |||
| HR | 2420 | uint16 | R | Bitmap. See PTI document for definition | |||
| HR | 2421 | uint16 | R | Bitmap. 0 = Not Detected; 1 = Detected | |||
| HR | 2422 | uint16 | R | Bitmap | |||
| HR | 2423 | uint16 | R | Bitmap | |||
| HR | 2440 | uint16 | R | Bitmap | |||
| HR | 2441 | uint16 | R | Bitmap | |||
| HR | 2700 | float32 ABCD | R | kWh | |||
| HR | 2702 | float32 ABCD | R | kWh | |||
| HR | 2704 | float32 ABCD | R | kWh | |||
| HR | 2706 | float32 ABCD | R | kWh | |||
| HR | 2708 | float32 ABCD | R | kvarh | |||
| HR | 2710 | float32 ABCD | R | kvarh | |||
| HR | 2712 | float32 ABCD | R | kvarh | |||
| HR | 2714 | float32 ABCD | R | kvarh |
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).