Swegon GOLD RX/PX/CX/SD air handling unit (Gen E/F)
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.
structure-verified
Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
| point | address (0-based) | type | scale | unit |
| sa_air_flow | 3 | U16 | 1 | |
| ea_air_flow | 5 | U16 | 1 | |
| sa_duct_pressure | 7 | U16 | 0.1 | |
| ea_duct_pressure | 9 | U16 | 0.1 | |
| sa_ahu_filter_pressure_level | 26 | U16 | 0.1 | |
| ea_ahu_filter_pressure_level | 28 | U16 | 0.1 | |
| sa_fan_level | 36 | U16 | 0.01 | |
| ea_fan_level | 37 | U16 | 0.01 | |
| sa_fan_speed | 38 | U16 | 1 | |
| ea_fan_speed | 39 | U16 | 1 | |
| sa_voltage | 40 | U16 | 1 | |
| ea_voltage | 41 | U16 | 1 | |
| sa_fan_current | 42 | U16 | 0.001 | |
| ea_fan_current | 43 | U16 | 0.001 | |
| sa_fan_power | 44 | U16 | 0.001 | |
| ea_fan_power | 45 | U16 | 0.001 | |
| sa_fan_kwh | 46 | U16 | 1 | |
| ea_fan_kwh | 47 | U16 | 1 | |
| sa_temperature | 63 | I16 | 0.01 | °C |
| ea_temperature | 65 | I16 | 0.01 | °C |
| outdoor_temperature | 72 | I16 | 0.01 | °C |
| heat_exchanger_regulator_level | 90 | U16 | 0.01 | % |
| reheat_regulator_level | 93 | U16 | 0.01 | % |
| cool_regulator_level | 100 | U16 | 0.01 | % |
| rhx_operation_level | 104 | U16 | 0.01 | % |
| operation_level | 591 | U16 | 1 | |
| sa_low_speed_air_flow_set_point | 2 | U16 | 1 | |
| ea_low_speed_air_flow_set_point | 3 | U16 | 1 | |
| sa_high_speed_air_flow_set_point | 4 | U16 | 1 | |
| ea_high_speed_air_flow_set_point | 5 | U16 | 1 | |
| sa_low_speed_pressure_set_point | 18 | U16 | 0.1 | |
| ea_low_speed_pressure_set_point | 19 | U16 | 0.1 | |
| sa_high_speed_pressure_set_point | 20 | U16 | 0.1 | |
| ea_high_speed_pressure_set_point | 21 | U16 | 0.1 | |
| sa_temperature_set_point | 131 | I16 | 0.01 | % |
| ea_room_temperature_set_point | 134 | I16 | 0.01 | mBar |
link settings as documented (unverified): RTU/TCP; FC 01,02,03,04,05,06,08,15,16
bench facts as documented (unverified)
| firmware applicability | Applicable to program version 1.09 and newer versions |
field reports — community-sourced, unverified (checked 2026-06-11)
- confirmed: comms framing: RTU, TCP — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document [1.3.1]
- confirmed: comms function_codes: 1, 2, 3, 4, 5, 6, 8, 15, 16 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document
- confirmed: firmware_applicability: Applicable to program version 1.09 and newer versions — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document
- confirmed: sa_air_flow @ 3 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document (lists SA Air flow at 3x0004, which is 0-based address 3)
- confirmed: ea_air_flow @ 5 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document (lists EA Air flow at 3x0006, which is 0-based address 5)
- confirmed: sa_duct_pressure @ 7 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document (lists SA Duct pressure at 3x0008, which is 0-based address 7)
- confirmed: ea_duct_pressure @ 9 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document (lists EA Duct pressure at 3x0010, which is 0-based address 9)
- confirmed: sa_ahu_filter_pressure_level @ 26 — confirmed by Swegon's official 'Modbus RTU/TCP GOLD RX/PX/CX/SD, GENERATION E/F' protocol document (lists SA AHU filter pressure level at 3x0027, which is 0-based address 26)
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.