Skip to content

Alarm Management

The alarm system detects, records, and notifies abnormal conditions in variable values. Alarms are organized in groups, and each group is bound to a project.

Alarm Groups

An alarm group is a container that organizes alarm definitions and sets common behavior parameters.

Menu: Runtime → Alarms → Alarm Groups → New Group

FieldRequiredDescription
NameYesGroup name
Scan Time (ms)YesAlarm check period (min: 100ms)
PriorityYesPriority level (1-255)
DescriptionNoDescription
FieldDescription
On ScriptScript to run when an alarm fires
Off ScriptScript to run when an alarm clears
Ack ScriptScript to run when an alarm is acknowledged
On (No Ack) ColorFired, not acknowledged color
On (Ack) ColorFired, acknowledged color
Off (No Ack) ColorCleared, not acknowledged color
Off (Ack) ColorCleared, acknowledged color
Hidden on MonitorHide on alarm monitor

Alarm events can be sent directly to a network printer:

FieldDescription
Printer IPPrinter IP address
Printer PortPrinter port number
Print When OnPrint when fired
Print When OffPrint when cleared
Print When AckPrint when acknowledged

Monitors threshold values of numeric variables.

ThresholdDescriptionExample
High-HighVery high (critical)Temperature > 90°C
HighHigh (warning)Temperature > 70°C
LowLow (warning)Pressure < 2 bar
Low-LowVery low (critical)Pressure < 1 bar

A separate alarm definition is created for each threshold. Hysteresis (deadband) value prevents alarm chattering.

Monitors state changes of Boolean variables.

ConditionDescription
ON = AlarmAlarm fires when value is true
OFF = NormalAlarm clears when value is false

Examples: Motor fault signal, door open contact, emergency stop button.

Define custom alarm conditions using JavaScript expressions.

// Alarm condition dependent on multiple variables
var power = ins.getVariableValue("ActivePower_kW").value;
var temp = ins.getVariableValue("Temperature_C").value;
return power > 500 && temp > 70; // alarm if both are high

Normal → Fired → Acknowledged → Off
TransitionTriggered ByDescription
Normal → FiredSystemAlarm condition is met
Fired → AcknowledgedOperatorOperator acknowledged the alarm
Fired/Ack → OffSystemAlarm condition is no longer met
Fired → Force OffOperatorAlarm is force-cleared
StateDefaultMeaning
Fired + No AckRed flashingAttention required
Fired + AckRed solidAware, still active
Off + No AckYellowCleared but not seen
Off + AckNormalCompleted

Menu: Runtime → Alarm Tracking → Alarm Monitor

Alarm Monitor

Displays active alarms in real time. From this screen, operators can:

  • View alarms
  • Acknowledge alarms
  • Force-clear alarms (Force Off)

Menu: Visualization → Alarm Tracking

Queries alarm history by date range. Each alarm record contains:

FieldDescription
Alarm nameWhich alarm fired
Fire timeWhen it fired
Off timeWhen it cleared
Acknowledged byWho acknowledged it
DurationHow long it lasted
ValueValue at the time of firing

// Last fired alarms
var alarms = ins.getLastFiredAlarms(0, 10);
// → [] (empty array if no active alarms)
// Alarm history by date range
var end = ins.now();
var start = ins.getDate(end.getTime() - 86400000);
var history = ins.getLastFiredAlarmsByDate(start, end, true, 100);
// Deactivate alarm group (maintenance mode)
ins.deactivateAlarmGroup("Temperature_Alarms");
// Reactivate after maintenance
ins.activateAlarmGroup("Temperature_Alarms");

Detailed API: Alarm API → | REST API →