Controls — ST alarm sequencer
| Field | Detail |
|---|---|
| Primary artifact(s) | controls/water/st/alarms.st |
| Spec | RO-SPEC-001 §5.6 ; WIRE-001 — |
Summary
Central rising-edge latch + HMI_ACK_ALARMS clear path for all ALM_* InternalLatch tags in tags.csv. VFD aggregate covers DI run/fault MO1 plus Modbus MB_FAULT_WORD_V10x. Packs ANN_ALM_WORD0 (15 bits) plus summary BOOLs for CM5 alarm-table linkage.
ANN_ALM_WORD0 bit | Latch tag |
|---|---|
| 0–7 | ALM_PT101_HI … ALM_UV_LAMP_FLT |
| 8–14 | ALM_TDS_DEVIATION … ALM_BLOCK_ICE_ON_UV_FLT |
Ack rules: critical/warn/info clear on ack pulse; ALM_ENCL_OT_FAULT also needs TT-200 < latch SP − 5 °F; ALM_UV_LAMP_FLT (safety) needs fault cleared and HMI_DISINFECT_CHKCOMPLETE. VFD ack issues one-scan Modbus reset pulse (cmd_vfd_reset_pulse → holding 48195 / 2002h).
Sibling tasks remain set-only for: ALM_ENCL_OT_FAULT (cooling), ALM_T102_LEVEL_CRITICAL (fill SM), ALM_BLOCK_ICE_ON_UV_FLT (ice demand).
Test
Simulator: toggle DI_VFD101_RUN_FLT / DI_VFD102_RUN_FLT / DI_VFD103_RUN_FLT; force analogs above/below alarm setpoints; press HMI_ACK_ALARMS; verify ANN_ALM_WORD0 bit map and that safety UV alarm survives ack alone (sim-alarms-ack-wave.md).
Open items
- Link every
ALM_*to HMI CSV (remaining rows vsalarm-strings.csv) - Wire Pulsar dry contacts →
uv_lamp_*_rawplaceholders - FT-101 pulse-loss watchdog →
ALM_FEED_LOW_FLOW - Commission
ct101_hi_lim_us_cmvs CT-101 span
Reviewer sign-off
- Alarm sequencer reviewed against RO-SPEC-001 §5.6 — _______________