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:

How alarm function blocks can be programmed
Alarm function blocks concept

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.

 


• Published/reviewed: 2024-09-24   ☀  Revision 073 •