Skip to main content
Call Eric:863-698-8266
CURRYCONTROLS.COMControls & Automation Knowledge Hub
How-ToAlarmsPLCSCADAHow-To

How to Add an Alarm

From a request to a working alarm: define it against the philosophy, build the condition in the PLC with deadband and delays, configure the SCADA alarm with priority and message, test it end to end, and record it in the master alarm database.

9 min readUpdated Sep 5, 2026Published Sep 5, 2026By Eric Sullivan

The short answer

How to Add an Alarm

Adding an alarm properly means deciding first whether it is an alarm at all, then defining its setpoint, deadband, delay, priority, and operator action, building the detection in the controller so the condition is evaluated close to the process, configuring the SCADA alarm record with a message that says what to do, testing it from the field to the operator screen and any notification path, and recording it in the master alarm database.

Key points

  • Answer the rationalization questions before configuring anything.
  • Detect in the controller, present in SCADA. The condition must exist when SCADA is down.
  • Deadband and delay are part of the alarm, not an afterthought.
  • The message tells the operator what happened and what to do.
  • Test from the field, and record the alarm in the database with its basis.

What you need

  • The alarm philosophy and the priority matrix
  • The master alarm database, or the spreadsheet standing in for it
  • PLC programming software and SCADA configuration access
  • A way to drive the condition: a calibrator, a simulated value, or a controlled process change
  • Access to the notification system configuration if the alarm will call out

Procedure

  1. 1

    Answer the rationalization questions

    What condition, what causes it, what happens if no one acts, what the operator must do, how long they have, what class it belongs to. If there is no operator action, stop here and configure an event instead. Write the answers down; they go in the database at the end.

  2. 2

    Set the setpoint and its basis

    Choose the value from something defensible: a permit limit less a margin, a manufacturer limit, the operating envelope from a trend, a physical constraint. Record the basis. For a pre-alarm and alarm pair, set both here with different times to respond.

  3. 3

    Set the deadband

    The amount the value must recover past the setpoint before the alarm clears. Typically 1 to 5 percent of range, larger on a noisy signal. Without it, a value sitting at the setpoint generates an alarm every few seconds.

  4. 4

    Set the delays

    An on-delay so a transient does not alarm: seconds for a pressure, tens of seconds for a level, longer for a slow analyzer. An off-delay if the alarm should not clear on a brief recovery. Delays are tuning values and are recorded with the alarm.

  5. 5

    Assign priority

    From the matrix, using the consequence and time to respond decided in step 1. Not from how important the equipment is.

  6. 6

    Build the detection in the controller

    Compare the value to the setpoint with the deadband, through the on-delay timer, and gate it on the signal being valid: a bad-quality input must not generate a process alarm, but must generate its own. Latch the result into a dedicated alarm bit with a clear name. Add any state-based suppression from step 1: the low flow alarm is inhibited when the pump is commanded off.

  7. 7

    Add acknowledgment handling if the platform needs it

    Some systems acknowledge in SCADA only; others carry an acknowledge bit back to the controller for local indication or a horn. Build what the site standard requires, and nothing more.

  8. 8

    Configure the SCADA alarm

    Create the alarm record on the alarm bit: priority, area or group, and the message. The message states the equipment, the condition, and the action in a form that reads at a glance. Set the notification rule if the alarm calls out.

  9. 9

    Test end to end

    Drive the real condition where it is safe, or inject the signal at the field terminals. Confirm the alarm appears with the correct priority and message, that the on-delay holds, that the deadband works on recovery, that acknowledgment behaves, that suppression inhibits it when it should, and that the notification path delivers it to the on-call phone. Test the bad-quality case by disconnecting the input.

  10. 10

    Record it

    Enter the alarm in the master alarm database with every answer from step 1 and every setting from steps 2 to 8. Update the loop sheet or the I/O list. Tell the operators, and add the new alarm to the training record.

What the message should say

PoorBetterWhy
LT-101 HILS-12 wet well level high. Verify pumps running; dispatch if level rising.Names the place, the condition, and the action
Pump faultP-2 fault: check drive display for fault code, reset if clear, alternate to P-1.Tells the operator where to look and what to do next
Comm failCommunication lost to LS-12. Station on local control. Check radio if not restored in 15 min.States the consequence and the time to respond
AlarmNever acceptableA message that says nothing is worse than no alarm

Where alarms should be detected

Detecting the alarm in the controller, rather than as a SCADA limit on a tag, is the general rule. The controller evaluates the condition every scan with the real value, it can gate the alarm on signal quality and process state, it keeps working when SCADA or communications are down, and the same bit can drive a local horn or a hardwired dialer. SCADA limit alarms are acceptable for information alarms on values that exist only in SCADA, such as a calculated total, and for quick temporary alarms during commissioning. They should not be the permanent home of a process alarm.

Verification

  • The alarm appears on the operator screen and in the summary with the intended priority and message when the condition is driven from the field.
  • The on-delay and deadband behave as configured on both edges.
  • A bad-quality input produces the signal alarm and not the process alarm.
  • State-based suppression inhibits and releases correctly.
  • The notification path delivers and escalates as configured.
  • The master alarm database has the complete record.

Frequently asked questions

Can I just set a high limit on the SCADA tag?
For a temporary or information-only alarm, yes. For a process alarm, no: it depends on SCADA being up and the poll being current, it cannot be gated on process state without more configuration, and it does not exist for the local panel or a hardwired dialer. Build it in the controller and present it in SCADA.
How much deadband is right?
Enough that normal noise on the signal cannot re-trigger the alarm after it clears. Look at the trend: the peak-to-peak noise at steady state is the minimum. Two to five percent of range is typical; less on a very clean signal, more on a turbulent level.
Should a new alarm call out?
Only if the rationalization answer says it needs a response when the site is unstaffed and within the time available. Adding notification to every new alarm is how on-call phones end up ignored. Notification is a separate decision recorded with the alarm.
Who approves a new alarm?
The alarm philosophy says. At many utilities, operations approves any new alarm and its priority, and a regulatory or safety class alarm requires a documented change record. A new alarm added at a keyboard without approval is a change that bypasses the system the philosophy set up.

Direct contact

Have a controls question?

Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.