Alarm handling in the PLC
Generating alarms correctly in the controller: limits with delay and deadband, latching and acknowledgement, alarm words for HMI/SCADA, suppression and first-out.
Where alarms are born
The PLC detects the condition; the HMI/SCADA displays, acknowledges, logs and escalates it. Good alarms start with good detection logic.
Analog limit with on-delay and deadband
(* High alarm at 85 °C, clears below 83 °C, must persist 5 s *)
IF Temp > 85.0 THEN HighRaw := TRUE;
ELSIF Temp < 83.0 THEN HighRaw := FALSE; END_IF; (* deadband 2 K *)
tHigh(IN := HighRaw, PT := T#5S);
AlmTempHigh := tHigh.Q AND SignalValid; (* no alarm from a broken sensor *)
A deadband (hysteresis) and an on-delay stop chattering alarms that flood the operator.
Latching and acknowledgement
ISA-18.2 distinguishes alarm states: active/unacknowledged, active/acknowledged, cleared/unacknowledged. Many HMIs implement acknowledgement themselves; the PLC must then provide the raw condition and, for trips, its own latch that the equipment logic uses. Do not let an acknowledgement on the HMI reset a trip — reset is a separate, deliberate action.
Alarm words
Pack alarms into WORD/DWORD bit fields (AlarmWord1.%X0 := AlmTempHigh;) so the HMI/SCADA reads them efficiently and alarm texts are assigned per bit. Keep a document mapping every bit to text, priority and response.
Rationalization
- Every alarm needs an operator action; otherwise it is an event or a message.
- Suppress consequential alarms: when a pump trips, "low flow" downstream is expected (state-based suppression).
- Record the first-out of a trip group.
- Separate diagnostic alarms (sensor fault, communication loss) from process alarms.
Connections
Open in Knowledge Graph →Loading the map…
Sources
Updated 2026-10-02