APC by Schneider Electric · PDU
Easy Rack PDU 3P Metered Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 0 | 1 | Version High byte = firmware version, low byte = hardware version. | UInt16 | - | 1 | R |
| 1 | 1 | Phase A voltage | UInt16 | V | 0.1 | R |
| 2 | 1 | Phase A current | UInt16 | A | 0.01 | R |
| 3 | 1 | Phase A active power | UInt16 | W | 1 | R |
| 4 | 1 | Phase A reactive power | UInt16 | var | 1 | R |
| 5 | 1 | Phase A apparent power | UInt16 | VA | 1 | R |
| 6 | 1 | Phase A power factor The document prints the unit of this row as '(Thousandths) %'. | UInt16 | % | 0.001 | R |
| 7 | 2 | Phase A energy Occupies registers 7 and 8. | UInt32 | kWh | 0.001 | R |
| 9 | 1 | Phase B voltage | UInt16 | V | 0.1 | R |
| 10 | 1 | Phase B current | UInt16 | A | 0.01 | R |
| 11 | 1 | Phase B active power | UInt16 | W | 1 | R |
| 12 | 1 | Phase B reactive power | UInt16 | var | 1 | R |
| 13 | 1 | Phase B apparent power | UInt16 | VA | 1 | R |
| 14 | 1 | Phase B power factor The document prints the unit of this row as '(Thousandths) %'. | UInt16 | % | 0.001 | R |
| 15 | 2 | Phase B energy Occupies registers 15 and 16. | UInt32 | kWh | 0.001 | R |
| 17 | 1 | Phase C voltage | UInt16 | V | 0.1 | R |
| 18 | 1 | Phase C current | UInt16 | A | 0.01 | R |
| 19 | 1 | Phase C active power | UInt16 | W | 1 | R |
| 20 | 1 | Phase C reactive power | UInt16 | var | 1 | R |
| 21 | 1 | Phase C apparent power | UInt16 | VA | 1 | R |
| 22 | 1 | Phase C power factor The document prints the unit of this row as '(Thousandths) %'. | UInt16 | % | 0.001 | R |
| 23 | 2 | Phase C energy Occupies registers 23 and 24. | UInt32 | kWh | 0.001 | R |
| 25 | 1 | All phases active power | UInt16 | W | 1 | R |
| 26 | 1 | All phases reactive power | UInt16 | var | 1 | R |
| 27 | 1 | All phases apparent power | UInt16 | VA | 1 | R |
| 28 | 1 | All phases power factor The document prints the unit of this row as '(Thousandths) %'. | UInt16 | % | 0.001 | R |
| 29 | 2 | All phases energy Occupies registers 29 and 30. | UInt32 | kWh | 0.001 | R |
| 31 | 1 | Frequency The document's unit cell for this row reads '(Thousandths) %'; the scale is thousandths, and hertz is the only reading that makes sense for a PDU frequency. | UInt16 | Hz | 0.001 | R |
| 32 | 1 | Temperature | UInt16 | °C | 0.1 | R |
| 33 | 1 | Humidity | UInt16 | %RH | 0.1 | R |
| 34 | 1 | Phase A voltage alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 35 | 1 | Phase A current alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 36 | 1 | Phase B voltage alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 37 | 1 | Phase B current alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 38 | 1 | Phase C voltage alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 39 | 1 | Phase C current alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 40 | 1 | Temperature alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 41 | 1 | Humidity alarm status 0 = normal, 1 = higher than the high threshold, 2 = lower than the low threshold. | UInt16 | - | 1 | R |
| 42 | 1 | Hardware status 0 = error, 1 = normal. Bit 0 = EEPROM status, bit 1 = W25Q status, bit 2 = reserved, bit 3 = network status, bit 4 = temperature/humidity sensor status, bit 5 = metering module status. | Hex | - | 1 | R |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
MIRROR-SOURCED. Schneider Electric does not serve this register map from se.com (its FAQ on Modbus support in rack PDUs only says to search the site for 'PDU Modbus'), so this seed is built from the widely mirrored copy of the vendor document 'Modbus Register Map: Easy Rack PDU 3P Metered', Schneider document 990-91441 (two pages), read from Sonepar's document host; SHA-256 06e68e6bd7fe4a36ebfb7be3533a7a1710a8c9bea7a59ae5a5b02cd376962362. The document's own notes govern the decoding: 16-bit values are big-endian, INT32/UINT32 put the most significant word at n+0, reads may use function code 3 or 4, writes function code 16 (or 6 for single registers), and 'Modbus over TCP is supported'. The 'Absolute Starting Register Number (Decimal)' column is the wire address (its own note: 0 equals Modicon register 40001), so the addresses here are zero-based. The document states no TCP port and no unit ID: port 502 and unit ID 1 are placeholders, and the PDU's configured Modbus address must be used instead. The output rows of every phase are metered per phase on this model; outlet-level metering is not part of this map. Reserved rows 0013h-001Ch are not seeded. The frequency and power-factor rows keep the document's scale (thousandths) although its unit cells read '(Thousandths) %' for both. Source: 'Modbus Register Map: Easy Rack PDU 3P Metered', 990-91441. Which units this map applies to: Schneider's FAQ FAQ000279078 lists the APC rack PDUs whose part numbers start with AP88XX, AP89XX, AP78XXB, AP79XXB, APDU99XX, APDU11XXXX, EPDU1XXXX or EPDU2XXXX as Modbus-capable, requires NMC2 firmware 6.x or later or NMC3, and states that NMC1 units and the APDU10XXXX series have no Modbus at all; the same FAQ points readers at the 'PDU Modbus' and 'Easy PDU Modbus' documents in Schneider's download portal instead of serving a link.