Skip to content

Alarm Groups

An alarm group organises alarm definitions and sets the behaviour that applies across all of them: the scan period, the priority, the scripts to run on alarm events, the colours used in the monitor, and the printer settings. Each group belongs to a project.

Every alarm definition must belong to a group, so the group has to exist before any alarm can be defined.

The Alarm Groups screen

FieldTypeRequiredDescription
nameString (≤100)YesGroup name
dscString (≤255)NoDescription
scanTimeInMillisInteger (≥100)YesHow often the alarm conditions are evaluated (ms)
severityEnumYesUrgency level — see below
projectIdStringYesThe project it belongs to

scanTimeInMillis applies to the whole group — individual alarms do not get their own period. Lowering it to catch a fast-moving signal increases the evaluation load for every alarm in that group, which is why signals of different speeds are commonly split across separate groups.

The alarm group form — scan period, severity, scripts, colours and printer fields

Urgency is one of four named levels. The alarm list is ordered by severity by default, most urgent first.

LevelMeaningOPC UA equivalent
HighThe highest — what an operator attends to first800
MediumCritical but secondary500
LowInformational / warning300
DiagnosticNot an operator alarm — a fault-diagnosis record100

Diagnostic is excluded from operator metrics. Use it for records that have to be kept but are not an operator’s concern; they then do not distort alarm-load measurements.

The level is also published to the OPC UA server as a severity value, so clients connecting from outside see the same prioritisation.

The strip along the bottom of the screen shows how the defined groups are distributed across the levels, as percentages, next to the recommended distribution (5 / 15 / 80): roughly 5% of alarms High, 15% Medium, 80% Low.

That ratio is not arbitrary — making every alarm “high” removes prioritisation altogether. If everything is urgent, nothing is. The distribution strip shows how far a growing set of definitions has drifted from that balance.

References to scripts that run automatically on alarm events. All three are optional.

FieldRuns when
onScriptIdThe alarm fires
offScriptIdThe alarm clears
ackScriptIdThe alarm is acknowledged

Each expects a script of type RepeatableScript. Typical uses: sending a notification, writing to another variable, informing an external system.

These set the row background in the alarm monitor. Colours are stored as hex in #RRGGBB form.

FieldUsed when
onNoAckColorAlarm is ON, not yet acknowledged
onAckColorAlarm is ON, acknowledged
offNoAckColorAlarm is OFF, not acknowledged
offAckColorAlarm is OFF, acknowledged

There are four colours because state and acknowledgement are independent of each other: an acknowledged alarm can still be ON, and a cleared alarm can still be unacknowledged. The colour is how an operator tells the two apart.

Alarm events can be sent straight to a network printer. Which events get printed is chosen individually.

FieldDescription
printerIpPrinter IP address
printerPortPrinter port number (0-65535)
printWhenOnPrint when the alarm fires
printWhenOffPrint when it clears
printWhenAckPrint when it is acknowledged
printWhenCommentPrint when a comment is added

An alarm group can be switched off temporarily — used during maintenance to avoid the flood of alarms the work itself produces. While a group is disabled, the definitions inside it are not evaluated.

This can also be done from a script; see Alarm API.