Alarms in PLCnext Technology
Use Case
The wastewater basin in the sewage plant is about to overflow, a sluice blocks, or an important drive overheats? On all these events you must get an immediate and reliable message from your system control.
Especially for this purpose we introduced the Alarms Dispatcher
in PLCnext Technology. It enables you to send alarms to other applications running on your PLCnext Control, whether it be a C++, Simulink®models, program code in IEC 61131-3 languages, or an embedded OPC UA® Server application.
The PLCnext alarms model is oriented towards the OPC UA Alarms & Conditions specification, with all states defined (including acknowledge
and confirm
). Therefore, PLCnext alarms are directly accessible for any compatible OPC UA® client.
Alarms can be parameterized for priority and request to be confirmed by user. So when alarms are set up properly, no upcoming emergency in the plant gets past you.
Concept
Alarm function blocks
Every application in C++, IEC 61131-3 languages, or Simulink® can register an alarm in PLCnext, in addition to alarms coming with the PLCnext Runtime.
If an alarm state changes then a notification is sent; its NotificationName
always begins with Arp.Services.Alarms.Log.*. For more details see Alarms notifications. Those notifications will also appear in the Notification Logger. For this, each alarm needs an AlarmID
that is unique within the controller.
Note: From firmware version 2023.6, alarm notifications are logged into a separate alarms archive. Find that archive in this directory on your controller: /opt/plcnext/projects/Default/Services/NotificationLogger/alarms.config.
For details to this alarm type, see:
Configurable alarms
This type of alarms in PLCnext Technology is a new approach where alarms can be configured by means of the PLCnext Engineer programming software. This feature gets available with PLCnext Engineer software release 2024.0.1 LTS (note the precise version number!) which will provide a Alarm Server node in PLANT view, an AlarmProgram
type and a configuration editor.
For details to this alarm type, see PLCnext Engineer online help.
Comparison of both types of alarms
Alarm function blocks
- Are available from firmware 2019.0 LTS.
- Need to be programmed as a function block. All changes need to be done in the code base.
- Alarms can be utilized by OPC UA and subscription of their notifications. Acknowledging and confirming is done via OPC UA, or by calling the function block from the PLC program.
Configurable alarms
- Are available from PLCnext Engineer software release 2024.0.1 LTS with firmware release 2024.0 LTS.
- Alarms can be created and changed just by configuration in an editor, e.g. by means of boolean variables. A C++
AlarmProgram
instance needs to run with the task providing the variables that are to be supervised by the alarming. - Retrieving, acknowledging and confirming alarms is done by HMI and REST API.