Raritan PX2/PX3 PDU
Register map(s) for this device, with a note of how far each has been checked. Addresses are
0-based, as on the wire. Scale and byte order are confirmed only at the hardware-verified rung.
coherence-checked
Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.
| point | address (0-based) | type | scale | unit |
| register_set_version | 0 | U16 | 1 | |
| number_of_inlets | 1 | U16 | 1 | |
| number_of_overcurrent_protectors | 2 | U16 | 1 | |
| number_of_outlets | 3 | U16 | 1 | |
| number_of_transfer_switches | 4 | U16 | 1 | |
| peripheral_sensor_1_type | 2048 | U16 | 1 | |
| peripheral_sensor_1_state | 2049 | U16 | 1 | |
| peripheral_sensor_1_reading | 2050 | F32BE | 1 | |
| transfer_switch_active_inlet | 8193 | U16 | 1 | |
| transfer_switch_preferred_inlet | 8194 | U16 | 1 | |
| transfer_switch_phase_sync_angle | 8200 | F32BE | 1 | degrees |
| inlet_1_rms_voltage | 12296 | F32BE | 1 | V |
| inlet_1_rms_current | 12298 | F32BE | 1 | A |
| inlet_1_active_power | 12306 | F32BE | 1 | W |
| inlet_1_apparent_power | 12308 | F32BE | 1 | VA |
| inlet_1_power_factor | 12310 | F32BE | 1 | |
| inlet_1_line_frequency | 12322 | F32BE | 1 | Hz |
| ocp_1_rms_current | 16394 | F32BE | 1 | |
| outlet_1_rms_voltage | 32776 | F32BE | 1 | |
| outlet_1_rms_current | 32778 | F32BE | 1 | |
| outlet_1_active_power | 32786 | F32BE | 1 | |
| outlet_1_apparent_power | 32788 | F32BE | 1 | |
| outlet_1_power_factor | 32790 | F32BE | 1 | |
| outlet_1_line_frequency | 32802 | F32BE | 1 | |
link settings as documented (unverified): TCP; FC 01,03,05,06,15,16,22,43; The Modbus service can be enabled in the Network Services section of the Device Settings menu in the web UI.
bench facts as documented (unverified)
| protocol notes | Data types which span multiple 16-bit registers are big-endian. |
| FC 43 device ID | supported |
field reports — community-sourced, unverified (checked 2026-06-11)
- Software packages using the 5-digit Modbus addressing convention (which only supports up to register 9999) cannot access the inlet and outlet register blocks because they are located outside of this range (starting at 12288 and 32768 respectively). A 6-digit addressing convention must be used. [source]
- Attempting to read registers outside of a defined block (e.g., block boundaries for inlets, outlets, or overcurrent protectors) will result in an Illegal Data Address (0x02) exception rather than returning zero or ignoring the request. [source]
- confirmed: Modbus service can be enabled in the Network Services section of the Device Settings menu in the web UI — confirmed by Raritan PX2/PX3 Modbus Interface manual [2.1.1]
- confirmed: Supported Modbus function codes are 1, 3, 5, 6, 15, 16, 22, 43 — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: Data types which span multiple 16-bit registers are big-endian — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: register_set_version @ 0, number_of_inlets @ 1, number_of_overcurrent_protectors @ 2, number_of_outlets @ 3, number_of_transfer_switches @ 4 — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: peripheral_sensor_1_type @ 2048, peripheral_sensor_1_state @ 2049, peripheral_sensor_1_reading @ 2050 — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: transfer_switch_active_inlet @ 8193, transfer_switch_preferred_inlet @ 8194, transfer_switch_phase_sync_angle @ 8200 — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: inlet_1_rms_voltage @ 12296, inlet_1_rms_current @ 12298, inlet_1_active_power @ 12306, inlet_1_apparent_power @ 12308, inlet_1_power_factor @ 12310, inlet_1_line_frequency @ 12322 — confirmed by Raritan PX2/PX3 Modbus Interface manual
- confirmed: ocp_1_rms_current @ 16394 — confirmed by Raritan PX2/PX3 Modbus Interface manual
The trust ladder
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
- generated — A prompt produced it. Unproven — anyone can regenerate this.
- structure-verified — Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
- coherence-checked — Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.
- hardware-verified (software-key) x1 — Matched a real device with operator-attested readings as ground truth — the only rung that confirms word order + scaling on the wire.