-

Alarming

PLCnext Engineer allows you to configure an alarming system. The alarming system provides a tool for notifying the operator about alarms originated in the alarm source (for example, protocol, application program, PLCnext component).

Alarms are used to display warning messages informing the operator about faulty or abnormal conditions and deviations, or status changes in the alarm source that could cause problems and require the response of the operator. Whenever the value of, for example a variable, exceeds a threshold value or a pattern of a digital signal matches a preconfigured pattern, an alarm becomes active and a message is displayed during process operation to notify the operator of a problem.

The alarm configuration is stored in an alarm array. The alarm array is filled with the alarm information queried from the alarm source (for example, protocol, application program, PLCnext component).

The alarms configured in PLCnext Engineer can be visualized to the operator via user-defined HMI elements. To get access to the elements of the alarm array, i.e. the global list of alarms, their properties and values, the HMI symbol list in PLCnext Engineer provides a specific data source type, named 'AlarmView'. Using this data source type, the operator can interact with the alarming system (watch, acknowledge, confirm etc. alarms).

Further Info
For details on the interaction between the alarming system configured in the application program and the HMI visualization, see the topic "HMI Alarming".

This topic contains the following sections:

'Alarms' editor

The definition of the alarms, the selection of the signal to be monitored and the configuration of the basic properties of the alarms are configured in the 'Alarm Server | Alarms' editor. You open this editor via the 'Alarm Server' node in the PLANT.

Alarm properties

For each alarm the following properties can be defined in the 'Alarms' editor:

PropertyDescription
Alarm IDUnique name of the alarm within the controller used to identify the alarm (must not contain blanks or special characters).
Port / Variable NameMandatory scalar data value that is monitored in order to detect an alarm condition (value in the format <PLCnext component name>/<element name>). The combobox contains all possible data values.

Examples:

  • Port = Arp.Io.AxlC/0.IN00
  • Variable = Arp.Plc.Eclr/PartCounter
An alarm will be generated when the monitored value exceeds the configured limit. For example, if the 'Out of Range' limit has 'HighHigh' limit set to 100 for an integer type, then the alarm will be generated if the value reaches 101 or greater.
Alarm TypeAlarm type of the alarm. Depending on the selected alarm type, various alarm properties are read-only.

You can select between the following alarm types:

  • 'Bit Pattern'

    The alarm is generated when the pattern of the digital signal entered in the 'Port / Variable Name' column matches the bit mask of the (mandatory) alarm state value entered in the 'Value' column. Each bit of the bit mask is compared with the digital signal value. For the alarm type, the 'Port / Variable Name' must be of the data type ANY_BIT (BOOL, BYTE, WORD, DWORD, LWORD).

  • 'Boolean'

    Digital alarm used to monitor digital process values. The alarm is generated based on the (mandatory) alarm state value entered in the 'Value' column (see below). The alarm state value is compared with the monitored data value. When the comparison between the two values is TRUE, the alarm is triggered.

  • 'Maximum'

    Analog alarm (level alarm) used to monitor analog process values. The analog process value is compared to the (mandatory) 'HighHigh' limit. If the value exceeds the 'HighHigh' limit, the alarm is triggered. The alarm remains active until the value drops below the 'HighHigh' limit.

    A delay time ('HighHigh On Delay' / 'HighHigh Off Delay') can be additionally defined (see the descriptions below).

  • 'Minimum'

    Analog alarm (level alarm) used to monitor analog process values. The analog process value is compared to the (mandatory) 'LowLow' limit. If the value drops below the 'LowLow' limit, the alarm is triggered. The alarm remains active until the value exceeds the 'LowLow' limit.

    A delay time ('LowLow On Delay' / 'LowLow Off Delay') can be additionally defined (see the descriptions below).

  • 'Out Of Range'

    The limit alarm is generated when the monitored value goes below a configured 'Low' or 'LowLow' level or above a configured 'High' or 'HighHigh' level.

Source NameName of the module that is the source of the alarm (for example, protocol, PLC program, PLCnext component).
LowLowThe alarm will be triggered when the value of the monitored data value (literal or port) is lower than or equal to the 'LowLow' limit. The limit value must match the data type of the monitored data value.
LowLow On DelayOn delay time, in seconds, valid for the 'LowLow' alarm.

If set then the value of the monitored data value (literal or port) has to be above the alarm threshold ('LowLow' limit) for the duration of 'On Delay' before the alarm is triggered.

You can use the on delay time to avoid unnecessary notification of the operator when the monitored value temporarily exceeds the alarm limit.
LowLow Off DelayOff delay time, in seconds, valid for the 'LowLow' alarm.

If set then the alarm is kept on (remains in the active state) even the value of the monitored data value (literal or port) falls below the alarm threshold ('LowLow' limit). The alarm will not be reset until the monitored data value is lower than the alarm threshold for the duration of 'Off Delay'.
LowThe alarm will be triggered when the value of the monitored data value (literal or port) is lower than or equal to the 'Low' limit. The limit value must match the data type of the monitored data value.
Low On DelayOn delay time, in seconds, valid for the 'Low' alarm.

See the description of the 'LowLow On Delay' property above.
Low Off DelayOff delay time, in seconds, valid for the 'Low' alarm.

See the description of the 'LowLow Off Delay' property above.
HighThe alarm will be triggered when the value of the monitored data value (literal or port) is higher than or equal to the 'High' limit. The limit value must match the data type of the monitored data value.
High On DelayOn delay, in seconds, valid for the 'High' alarm.

See the description of the 'LowLow On Delay' property above.
High Off DelayOff delay time, in seconds, valid for the 'High' alarm.

See the description of the 'LowLow Off Delay' property above.
HighHighThe alarm will be triggered when the value of the monitored data value (literal or port) is higher than or equal to the 'HighHigh' limit. The limit value must match the data type of the monitored data value.
HighHigh On DelayOn delay valid for the 'HighHigh' alarm.

See the description of the 'Low On Delay' property above.
HighHigh Off DelayOff delay valid for the 'HighHigh' alarm.

See the description of the 'Low Off Delay' property above.
ValueMandatory value for the the alarm types 'Bit Pattern' and 'Boolean' (see above).

For the 'Boolean' alarm type, enter a boolean enumeration value (allowed values: TRUE, BOOL#1, BOOL#TRUE, FALSE, BOOL#0, BOOL#FALSE). The 'Port / Variable Name' value is compared to the entered 'Value' in order to trigger the alarm. When the value of the monitored digital variable matches the value, the alarm is triggered.

For the 'Bit Pattern' alarm type, enter a bit mask that is used for testing. The bit mask is compared with the pattern of the monitored digital signal. When the comparison between the two bit patterns is TRUE, the alarm is triggered.
Value On DelayOn delay time, in seconds, valid for the 'Out Of Range' alarm (value alarm).

See the description of the 'LowLow On Delay' property above.
Value Off DelayOff delay time, in seconds, valid for the 'Out Of Range' alarm (value alarm).

See the description of the 'LowLow Off Delay' property above.
PriorityAlarm priority that informs the operator of the urgency of the alarm. 1 represents the lowest alarm priority (informative), 1000 the highest alarm priority (fatal error).

Typically, a severity of 1 would indicate an event which is informational in nature, while a value of 1000 would indicate an event of catastrophic nature, which could potentially result in loss of life.
MessageText description of the alarm event that will be shown to the operator in the HMI application when the alarm is active. The description can be localized (translated into other languages) using the 'Alarm Server | Resources' editor.

See topic "Localization of Alarm Messages and Descriptions" for details.
DescriptionShort description of the alarm condition that will be shown to the operator in the HMI application when the alarm is active. The description can be localized (translated into other languages) using the 'Alarm Server | Resources' editor.

See topic "Localization of Alarm Messages and Descriptions" for details.
Access RightsConfigures the action(s) that the operator must take when an alarm is active.

The following actions can be configured:

  • 'Acknowledge Required'

    The operator must acknowledge the alarm to set the alarm to the acknowledged state. Acknowledged means the operator is aware of the alarm, i.e., has seen the alarm condition.

    Checked by default.

  • 'Confirm Required'

    The operator must confirm the alarm to set the alarm to the confirmed state. Confirmed means the operator has solved the problem that caused the alarm.

  • 'Suppression Allowed'

    The alarm can be suppressed. Alarm suppression means the alarm will not be shown to the operator, but the alarm is still present in the system.

Suppress Condition Variable NameOnly available if the 'Suppression Allowed' action is activated (see the description above).

Condition based on a process value (variable or port) of type Boolean that will suppress the alarm so that it is not shown to the operator.

The alarm continues to function as before. Only the state Suppressed is additionally set, so that the client does not display this alarm or displays it differently.
EnabledIf checked, the evaluation of the alarm will be processed (checked by default), i.e., the 'Port / Variable Name' value is monitored for an abnormal condition. When unchecked the alarm is excluded in the alarm configuration file.

Editing and organizing alarm definitions

Note
To create a valid alarm configuration, a program instance of type 'AlarmProgram' (available by default) must be assigned to a task in the 'Tasks and Events' editor.

Add an alarm

  1. Assign a program instance of type 'AlarmProgram' to a task in the 'Tasks and Events' editor.
  2. In the 'Alarms' editor, enter the alarm ID in an empty 'Alarm ID' cell and press <Enter>. Alternatively, click the toolbar button .
  3. In the 'Port / Variable' column, select the data value to be monitored (value in the format <PLCnext component name>/<element name>; e.g., Arp.Plc.Eclr/SampleIntegerVariable).
  4. Select the 'Alarm Type' in the 'Alarm Type' column. The 'Alarm Type' must match the data type of the 'Port / Variable'. For example, a 'Boolean' alarm type expects a 'Port / Variable' of type BOOL. Depending on the selected type, different alarm properties will be enabled/disabled.

    (When your alarm defintion has an error, an error message appears in the 'Error List' in the MESSAGES window.)

  5. Configure the alarm properties. (Regard the 'Error List' in the MESSAGES window for any invalid configurations.)

Organize alarms

You can use alarm groups to organize the configured alarms. To create an alarm group, click the button on the toolbar.

Further Info
Alarm messages and descriptions can be localized, i.e., translated into other languages allowing you to create multilingual alarm messages. For details on this procedure, see the topic "Localization of Alarm Messages and Descriptions".

Importing/Exporting alarms

To export the alarm definitions to a .csv file, click the button on the toolbar.

Note
If you edit the exported csv file with an external tool, you must make sure that the editor used does not change the column separators (semicolons) or the file encoding. For example, MS Excel may be set to modify csv files so that they cannot be reimported.

To import alarm definitions from a .csv file, click the button on the toolbar. In the file open dialog, select the .csv file you want to import and click 'Open'.