DEIF AGC genset controller (Modbus H2/H9)
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 |
| generator_voltage_l1_l2 | 501 | U16 | 1 | |
| generator_voltage_l2_l3 | 502 | U16 | 1 | |
| generator_voltage_l3_l1 | 503 | U16 | 1 | |
| generator_voltage_l1_n | 504 | U16 | 1 | |
| generator_voltage_l2_n | 505 | U16 | 1 | |
| generator_voltage_l3_n | 506 | U16 | 1 | |
| generator_frequency_l1 | 507 | U16 | 0.01 | |
| generator_frequency_l2 | 508 | U16 | 0.01 | |
| generator_frequency_l3 | 509 | U16 | 0.01 | |
| generator_current_l1 | 513 | U16 | 1 | |
| generator_current_l2 | 514 | U16 | 1 | |
| generator_current_l3 | 515 | U16 | 1 | |
| generator_power_l1 | 516 | I16 | 1 | |
| generator_power_l2 | 517 | I16 | 1 | |
| generator_power_l3 | 518 | I16 | 1 | |
| generator_power_total | 519 | I16 | 1 | |
| generator_reactive_power_total | 523 | I16 | 1 | |
| generator_apparent_power_total | 527 | U16 | 1 | |
| generator_power_factor | 538 | I16 | 0.01 | |
| busbar_voltage_l1_l2 | 539 | U16 | 1 | |
| busbar_voltage_l2_l3 | 540 | U16 | 1 | |
| busbar_voltage_l3_l1 | 541 | U16 | 1 | |
| busbar_frequency_l1 | 545 | U16 | 0.01 | |
| absolute_run_hours | 554 | U32BE | 1 | |
| rpm | 576 | U16 | 1 | |
link settings as documented (unverified): RTU/ASCII; baud 9600/19200; FC 01,02,03,04,15,16; Modbus protocol type can be changed from RTU to ASCII in menu 7510. Option H2 provides RS-485, Option H9 provides RS-232.
bench facts as documented (unverified)
| terminals | Option H2 (AGC/GPC/GPU/PPM/PPU): Terminals 29 (DATA+ A), 30 (DATA GND), 31 (DATA- B), 33 (DATA+ A), 35 (DATA- B). Option H2 (AGC 100): Terminals 49 (DATA- B), 50 (DATA GND), 51 (DATA+ A). Option H9: Terminals 30 (DATA GND), 32 (TxD), 34 (RxD). |
| A/B polarity | DATA+ (A), DATA- (B) |
| connector | Screw terminals |
| wiring notes | Terminals 29 and 33 are internally connected, as are 31 and 35. |
| protocol notes | If communication fails, the unit will operate according to the last received data. |
| identification notes | Covers AGC-3, AGC 100, GPC-3/GPU-3 Hydro, GPU-3/PPU-3, and PPM-3. |
| doc revision | 4189340442Z |
field reports — community-sourced, unverified (checked 2026-06-11)
- A signed vs. unsigned 16-bit integer interpretation mismatch can cause PLCs (like CompactLogix) reading Modbus data from DEIF controllers to display incorrect negative values for registers exceeding 32767 (such as kWh readings at register 537). [source]
- In AGC 200 controllers, the unit could reboot unexpectedly if a Modbus command was sent while 'inhibit modbus commands' was active (corrected in firmware 4.52.0). [source]
- Incorrect alarm status on Modbus if two analogue input PCBs (Option M15) were present (corrected in Standard Application Software series 3.10.1 / AGC Application Software series 4.50.0). [source]
- confirmed: Baud rates [9600, 19200], framing [RTU, ASCII], parity N, stop bits 1 — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Option H2 provides RS-485, Option H9 provides RS-232. Modbus protocol type can be changed from RTU to ASCII in menu 7510 — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Terminals 29 and 33 are internally connected, as are 31 and 35 — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Option H2 (AGC/GPC/GPU/PPM/PPU) terminals: 29 (DATA+ A), 30 (DATA GND), 31 (DATA- B), 33 (DATA+ A), 35 (DATA- B) — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Option H2 (AGC 100) terminals: 49 (DATA- B), 50 (DATA GND), 51 (DATA+ A) — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Option H9 terminals: 30 (DATA GND), 32 (TxD), 34 (RxD) — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: If communication fails, the unit will operate according to the last received data — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
- confirmed: Register map addresses (e.g., generator_voltage_l1_l2 @ 501, generator_current_l1 @ 513, absolute_run_hours @ 554, rpm @ 576) — confirmed by DEIF Option H2 and H9 Modbus communication manual (4189340442Z)
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.