Discrete alarms are triggered by individual bits of a PLC word tag; analog alarms are triggered when a numeric tag crosses a configured limit. Assign each alarm to an alarm class that decides whether acknowledgement is required and how it is displayed, then place an alarm view on the screen with a permanent line for the highest priority message.
- Group fault bits into words in the PLC so one HMI trigger tag can carry sixteen discrete alarms.
- Alarm text should name the device, the condition and the first thing to check, not repeat the tag name.
- Acknowledgement is a design decision: not every message needs it, and everything needing it must be visible until it is done.
How HMI Alarms Are Triggered
WinCC on a panel does not scan the machine. It watches tags. Everything therefore depends on how the PLC presents fault information.
The usual approach is a fault word: a WORD or DWORD in a data block where each bit represents one condition. Bit 0 might be motor overload, bit 1 no feedback, bit 2 emergency stop active. The panel monitors the word, and each bit becomes a discrete alarm with its own message text.
This is far more efficient than one HMI tag per fault. One word covers sixteen alarms with a single connection, communication load stays low, and the numbering in the PLC matches the numbering in the alarm list, which makes fault finding much faster.
Build the fault word carefully. Latch conditions that must not disappear before an operator sees them, and keep a separate first-out bit that records which fault stopped the machine. The logic behind this is covered in PLC interlocks and permissives.
Configuring Discrete Alarms
Open HMI alarms → Discrete alarms in the project tree and add one row per fault bit.
| Column | What to enter |
|---|---|
| ID | A unique number; keep it aligned with your PLC fault numbering |
| Alarm text | Device, condition and first check, in plain language |
| Alarm class | Errors, Warnings or a class you have defined |
| Trigger tag | The fault word from the PLC data block |
| Trigger bit | The bit position inside that word |
| Acknowledgement tag | Optional word written back to the PLC when acknowledged |
Writing alarm text that helps
Compare two messages for the same bit. "M1_FLT true" tells the operator nothing. "Conveyor 1 motor overload tripped, check thermal relay in panel MCC-2" tells them the device, the condition and where to go. Text is where alarm systems succeed or fail.
You can embed live values in a message using output fields inside the alarm text, which is useful for showing the measured value that caused a trip.
Analog Alarms and Limit Monitoring
Analog alarms watch a numeric tag and trigger when it crosses a limit. Open HMI alarms → Analog alarms and configure the trigger tag, the limit value and the limit mode.
- Higher: triggers when the value rises above the limit, for high temperature or pressure.
- Lower: triggers when the value falls below the limit, for low level or low flow.
- Delay: the value must stay past the limit for this long before the message appears.
- Dead band: a percentage or absolute hysteresis so a value hovering on the limit does not flood the list.
Delay and dead band are the two settings that decide whether the alarm system is usable. Without them, a signal sitting exactly at its limit generates hundreds of come-and-go messages in a shift, and operators stop reading the list. The reasoning behind these choices is expanded in SCADA alarm management.
Set four limits on important measurements where it makes sense: low low, low, high and high high, each in a different alarm class, so an early warning looks different from a trip condition.
Configure a full alarm system in class
Practical Siemens HMI and WinCC sessions covering fault words, alarm classes, archives and acknowledgement.
Alarm Classes, Acknowledgement and the Alarm View
An alarm class defines behaviour for a whole group of messages: display colours for came, went and acknowledged states, whether acknowledgement is required, and whether the message is archived.
| Class | Acknowledgement | Typical use |
|---|---|---|
| Errors | Required | Trips and faults that stop production |
| Warnings | Not required | Conditions that need attention but not a stop |
| System | Not required | Panel and communication diagnostics |
| Operating messages | Not required | Mode changes, batch start and end events |
Acknowledgement can be written back to the PLC using an acknowledgement tag, which lets the control program require an operator action before a fault is reset. That is a much better pattern than allowing an automatic reset that hides the fault before anyone reads it.
Placing the alarm view
Add a full alarm view on a dedicated alarm screen with columns for time, alarm class, text and status, and enable filtering so an operator can show only unacknowledged errors. Then add a single-line alarm view to the screen template so the highest priority active message is visible on every screen in the project.
Keep an alarm history available as well, so a supervisor can see what happened during the night shift rather than only what is active now.
Hands-On Lab: Configure Discrete and Analog Alarms
Hands-on- TIA Portal with WinCC Comfort and a panel or simulation
- A PLC data block with a fault word and one analog process value
- Simulated signals only; do not force live plant equipment
- Estimated time: 40 minutes
Create the fault word
Add a WORD tag in the PLC interface DB and set bits 0 to 3 from simulated fault conditions.
Configure four discrete alarms
Add one alarm per bit with clear text, assigned to the Errors class.
Add an analog alarm
Configure a high limit on the process value with a delay of two seconds and a dead band.
Add the alarm view
Place a full alarm view on an alarm screen and a single-line view on the template.
Test acknowledgement
Acknowledge an error from the alarm view and confirm the acknowledgement tag changes in the PLC.
Every fault bit has readable text, the analog alarm uses delay and dead band, errors require acknowledgement, and the acknowledgement is visible to the PLC program.
Frequently asked questions
What is the difference between a discrete alarm and an analog alarm?
A discrete alarm is triggered by a single bit of a tag, normally a bit in a PLC fault word. An analog alarm is triggered when a numeric tag crosses a configured limit value.
Why group faults into a word instead of using individual bits?
One word tag carries up to sixteen alarms over a single connection, which reduces communication load and keeps the alarm numbering aligned between the PLC program and the HMI alarm list.
What does the dead band on an analog alarm do?
It adds hysteresis so a value hovering around its limit does not repeatedly trigger and clear. Combined with a delay time it is the main defence against alarm flooding.
Should every alarm require acknowledgement?
No. Reserve acknowledgement for conditions that need an operator decision, usually trips and faults. Warnings and operating messages that clear themselves are better left without it.
