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.
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 |
|---|---|---|---|---|
| phase_shift_normal_emergency | 11 | I16 | 0.1 | deg x 10 |
| normal_frequency | 12 | U16 | 0.01 | Hz x 100 |
| emergency_frequency | 13 | U16 | 0.01 | Hz x 100 |
| source_and_relay_status | 14 | U16 | 1 | Boolean |
| engine_exerciser_and_external_status | 15 | U16 | 1 | |
| normal_voltage_phase_ab | 16 | U16 | 0.1 | Volt x 10 |
| normal_voltage_phase_bc | 17 | U16 | 0.1 | Volt x 10 |
| normal_voltage_phase_ca | 18 | U16 | 0.1 | Volt x 10 |
| normal_voltage_unbalance | 19 | U16 | 1 | % |
| emergency_voltage_phase_ca | 22 | U16 | 0.1 | Volt x 10 |
| nominal_voltage_code | 24 | U16 | 1 | |
| nominal_config_status | 25 | U16 | 1 | |
| transfer_switch_amp_rating_code | 26 | U16 | 1 | |
| controller_state | 40 | U16 | 1 | |
| controller_status_state_data | 41 | U16 | 1 | |
| phase_a_current | 58 | U16 | 1 | A |
| phase_b_current | 59 | U16 | 1 | A |
| phase_c_current | 60 | U16 | 1 | A |
| normal_voltage_dropout | 118 | U16 | 1 | % |
| normal_voltage_pickup | 119 | U16 | 1 | % |
| normal_over_voltage_trip | 120 | U16 | 1 | % |
| normal_frequency_dropout | 121 | U16 | 1 | % |
| normal_frequency_pickup | 122 | U16 | 1 | % |
| normal_over_frequency_trip | 123 | U16 | 1 | % |
| emergency_voltage_dropout | 125 | U16 | 1 | % |
| emergency_voltage_pickup | 126 | U16 | 1 | % |
| emergency_over_voltage_trip | 127 | U16 | 1 | % |
| emergency_frequency_dropout | 128 | U16 | 1 | % |
| emergency_frequency_pickup | 129 | U16 | 1 | % |
| emergency_over_frequency_trip | 130 | U16 | 1 | % |
| total_time_e_acceptable | 155 | U32BE | 1 | Min |
| total_time_n_acceptable | 157 | U32BE | 1 | Min |
| total_days_energized | 159 | U16 | 1 | days |
| total_ts_transfers | 160 | U16 | 1 | transfers |
| total_ts_transfers_source_failures | 161 | U16 | 1 | transfers |
| total_time_load_connected_to_normal | 176 | U32BE | 1 | Min |
| total_time_load_connected_to_emergency | 178 | U32BE | 1 | Min |
| ats_total_transfer_time | 198 | U16 | 0.1 | 0.1 Sec |
| wiring notes | Registers 40102, 40103, and 40104 are accessed via RS485 port only. |
| max registers/read | 125 |
| response timeout | 50 ms |
| protocol notes | The maximum number of bytes contained within one packet of communications is 255. Maximum allowable write data registers are 10. |
| serial register | 40093 |
| firmware register | 40028 |
| doc revision | 381339-310 C |
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
Device not here? Upload its manual and get a checked map back. It's free.
Want it confirmed against your own device? Order hardware verification. If it doesn't check out, you don't pay.
Building on a lot of devices? License the library — machine-readable maps, the firmware matrix, and API access.