Tag Alarm Properties
Alarm Property Reference
The table in this section provides a description of alarm properties.
Alarms in Scripting
When interacting with the tags system in via scripting, such as with the system.tag.configure function, alarms are represented as a JSON array of JSON objects, where each object contains the configurations for a single alarm. Thus, any scripting names here are assumed to exist under the alarms array.
Reference Table
Main
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Name | name | Identifier of the alarm. Combined with the location of the alarm, this will be the unique alarm ID. For dynamic values, used Label or Display Path. | String | OPC, Query, Expression, Derived, Reference, Memory |
Enabled | enabled | This boolean determines whether or not the alarm will be evaluated. A disabled alarm's condition will not be evaluated, and thus will not generate any alarm events. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Priority | priority | The priority or severity of this alarm. Alarm priorities can be examined by many other systems in Ignition, including the visualization modules, pipelines, and even scripting. Valid values include:Diagnostic Low Medium High Critical | String | OPC, Query, Expression, Derived, Reference, Memory |
Timestamp Source | timestampSource | Indicates where the timestamp for the alarm event should come from: the system time of when the event was generated (i.e., the Gateway's time), or the timestamp of the value that triggered the the event (i.e., the timestamp of the value from the OPC server). Valid values include:System )Value ) | String | OPC, Query, Expression, Derived, Reference, Memory |
Label | label | An optional name that will be used for display purposes. Provides a dynamic alternative to the static name property. If left blank, the name will be used. | String | OPC, Query, Expression, Derived, Reference, Memory |
Display Path | displayPath | Optional text that will be used for display and browsing purposes. If this is blank, this property will show the path to the Tag and the name of the alarm instead. | String | OPC, Query, Expression, Derived, Reference, Memory |
Ack Mode | ackMode | Dictates how acknowledgement works for the alarm.Unused ) - Any alarm event that is generated will automatically be marked as acknowledged.Auto ) - The alarm is acknowledged automatically when the alarm becomes cleared.Manual ) - The alarm is never set to be acknowledged by the system, and it is up to the user to manually acknowledge alarms. | String | OPC, Query, Expression, Derived, Reference, Memory |
Notes | notes | A place for any free-form documentation about the alarm that can be displayed to users. | String | OPC, Query, Expression, Derived, Reference, Memory |
Ack Notes Required | ackNotesReqd | If this setting is true, the operators will be required to provide some explanation when the alarm is acknowledged. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Shelving Allowed | shelvingAllowed | If this setting is false, the shelving feature will be unavailable for this alarm. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Alarm Mode Settings
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Mode | mode | This setting controls what condition this alarm is evaluating. The available modes are as follows:
| String | OPC, Query, Expression, Derived, Reference, Memory |
Setpoint/Low Setpoint | setpointA | Used to determine if the alarm is active by comparing this value to the the tag value.Some modes under the Mode property allow for multiple setpoints (i.e., a low setpoint and a high setpoint). In these cases, this property is considered to be the Low setpoint.Note: Setpoints must be numerical values, not string representations of numbers. If a string is passed to a setpoint then it will be converted to a numeric value of 0. | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Inclusive | inclusiveA | If true, the Setpoint value is used inclusively for the condition to alarm. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
High Setpoint | setpointB | The high value used to initiate an alarm when the alarm mode calls for two setpoints. Available for modes: Between Setpoint, Outside Setpoints.Note: Setpoints must be numerical values, not string representations of numbers. If a string is passed to a setpoint then it will be converted to a numeric value of 0. | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
High Inclusive | inclusiveB | If true, the High Setpoint value is used inclusively for the condition to alarm. Available for modes: Between Setpoint, Outside Setpoints. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Any Change | anyChange | If true, will alarm on each value change given the alarm mode conditions are met.Note: This alarm will never be "active" because each active event is paired with a matching clear event, instantly. Available for modes: Above Setpoint, Below Setpoint, Between Setpoints, and Outside Setpoints. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
On Zero | bitOnZero | If true, will alarm when the specified bit is not high (when the bit is 0). | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Bit Position | bitPosition | The position of the bit, starting at 0 that will be watched. Available for modes: Bit State. | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Is Active | activeCondition | When this property is active, the alarm will be active. Typically has a binding of some sort that will be used to determine when the alarm goes active. If the expression evaluates to True, the alarm is active. If the expression evaluates to False, the alarm is not active. | Boolean | OPC, Query, Expression, Derived, Reference, Memory |
Deadbands and Time Delays
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Deadband | deadband | The value for the deadband, interpreted according to the Deadband mode.Note: All alarms are only evaluated after the Tag's value changes, which means that the Tag's own deadband will be considered first.When the deadband is positive, an active alarm condition needs to clear its setpoint(s) by the amount of the deadband for the alarm to clear. For example, suppose you had a Between Setpoints alarm with a low setpoint of 50 and a high setpoint of 70, and with a deadband of 2. The alarm will go active if the value is between 50 and 70, but will only clear if the value falls below 48 or rises above 72. | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Deadband Mode | deadbandMode | Defines how the deadband value is used.Absolute ) - The deadband setting is considered to be an absolute value.Percent ) - The actual deadband is calculated as a percent of the Tag's engineering unit span. | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Active Delay | timeOnDelaySeconds | The time, in seconds, before the alarm will be considered active after the alarm's condition becomes true. Also known as a "rising edge time deadband." | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Clear Delay | timeOffDelaySeconds | The time, in seconds, before an active alarm will be considered clear after the alarm's condition becomes false. Also known as a "falling edge time deadband." | Numeric | OPC, Query, Expression, Derived, Reference, Memory |
Notification Properties
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Active Pipeline | activePipeline | The name of an alarm notification pipeline to put this alarm into when it becomes active in order to send out active alarm messages. Many alarms may share a single pipeline. | String | OPC, Query, Expression, Derived, Reference, Memory |
Clear Pipeline | clearPipeline | The name of an alarm notification pipeline to put this alarm into when it becomes cleared in order to send out cleared messages. | String | OPC, Query, Expression, Derived, Reference, Memory |
Ack Pipeline | ackPipeline | The name of the alarm notification pipeline to put this alarm into when the alarm has been acknowledged. | String | OPC, Query, Expression, Derived, Reference, Memory |
Email Notification Properties
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Custom Subject | CustomEmailSubject | A string that will be used as the subject line of an email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead. | String | OPC, Query, Expression, Derived, Reference, Memory |
Custom Message | CustomEmailMessage | A string that will be used as the body of this alarm's email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead. | String | OPC, Query, Expression, Derived, Reference, Memory |
SMS Notification Properties
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
Custom Message | CustomSmsMessage | If specified, will be used for the SMS message. If blank, the message defined in the notification block will be used. | String | OPC, Query, Expression, Derived, Reference, Memory |
Associated Data
Property Name | JSON/Scripting Name | Description | Datatype | Applicable Tag Type |
---|---|---|---|---|
User Defined Data | Associated Data are custom alarm properties that can be added to any alarm. These properties will often be bound to other Tags that represent associated contextual data that may be related to the alarm. A snapshot of the values of these properties will be taken when the alarm becomes active. These values will be attached to the alarm event as it moves through the rest of the alarming system, meaning that the values will be available from the alarm status system, the alarm journal system, and in the alarm notification system. | String | OPC, Query, Expression, Derived, Reference, Memory |
Runtime Alarm Metric Properties
The Alarms property under a tag in the Tag Browser contains properties that report the current state of alarms on the tag.
Property Name | Description |
---|---|
ActiveAckCount | The number of alarms on the Tag that are both active and acknowledged. |
ActiveUnackCount | The number of alarms on the Tag that are both active and unacknowledged. |
ClearUnackCount | The number of alarms on the Tag that are both clear and unacknowledged. |
HasActive | True, if the Tag has at least one active alarm. False, if there are zero alarms. |
HasUnacknowledged | True, if the Tag has at least one unacknowledged alarm. False, if there are zero unacknowledged alarms. |
HighestAckedName | The Name of the highest acknowledged alarm, ranked by Priority. |
HighestAckedPriority | The highest Priority of all acknowledged alarms on the Tag. |
HighestActiveName | The Name of the highest active alarm, ranked by Priority. |
HighestActivePriority | The highest Priority of all active alarms on the Tag. |
HighestUnackedName | The Name of the highest unacknowledged alarm, ranked by Priority. |
HighestUnackedPriority | The highest Priority of all unacknowledged alarms on the Tag. |
LastActiveTime | A timestamp representing the last time an alarm went active on the Tag. |
ShelvedCount | The number of currently shelved alarms on the Tag. |
Runtime Alarm Metrics for Individual Alarms
In addition to the metrics above, each alarm configured on a tag has further properties that are available. These properties are located after ShelvedCount. For each alarm on a tag, additional expandable items will be visible in the property editor. The name on these items will match the name of their associated alarm.
In the image below, the parent tag has two alarms configured, one named High Setpoint Alarm, the other named Low Setpoint Alarm. Because the tag has two alarms, we see two expandable entries towards the bottom of the image, with names that match the names of the alarms.
Expanding these items will reveal additional properties, as listed in the table below.
Property Name | Description |
---|---|
AckTime | If the most recent alarm event for this alarm has been acknowledged, then this property will show a timestamp representing when acknowledgement occurred. If the most recent alarm event has not yet been acknowledged, the value of this property will be null. |
AckUser | If the most recent alarm event for this alarm has been acknowledged, then this property will show the username that acknowledged the alarm event. Otherwise the value of this property we be null. If the alarm event was acknowledged by the system, such as when the Alarm Mode is set to Auto, then the property will show a null value.If the user that acknowledged the alarm event was authenticated via a User Source, then the value will follow the pattern below, where X is the name of the User Source, and Y is the name of the user.
|
AckUserName | If the most recent alarm event for this alarm has been acknowledged, then this property will show the username that acknowledged the alarm event. Otherwise the value of this property we be an empty string.If the alarm event was acknowledged by the system, such as when the Alarm Mode is set to Auto, then the property will show an empty string.This property is effectively a simplified version of AckUser, containing only the username. |
ActiveTime | Shows a timestamp representing when the most recent alarm event became active. |
ClearTime | Shows a timestamp representing when the most recent alarm event transitioned from an active state to a clear state. |
DisplayPath | Represents the value of the Display Path property on the alarm. |
DisplayPathOrSource | Shows the display path if one has been configured. Otherwise shows the source path. |
Enabled | Represent whether or not this alarm is enabled. |
EventState | Represents the most recent state transition. Values and their numerical state are listed below: |
EventTime | A timestamp representing when the event last changed state. |
EventValue | Represents the last value that made the alarm event transition to either active or cleared. |
IsAcked | A boolean representing whether or not the most recent alarm event has been acknowledged. |
IsActive | A boolean representing whether or not the most recent alarm event is active. |
IsClear | A boolean representing whether or not the most recent alarm event is cleared. |
IsShelved | A boolean representing whether or not the alarm has been shelved. |
Label | A string representing the Label property on the alarm. Shows a null value if a Label wasn't defined. |
Name | The name of the alarm. |
Priority | The priority of the alarm. |
SetpointA | When the Mode property on the alarm has a single setpoint, this property shows the setpoint value. When the Mode property has multiple setpoints, this represents the Low Setpoint property. |
SetpointB | When the Mode property on the alarm has a single setpoint, this property is hidden. When the Mode property has multiple setpoints, this represents the High Setpoint property. |
Source | The source path of the alarm. |
State | The state of the alarm. |
Binding
Many alarm properties are bindable, which means they can be bound to other Tags in the system, or expressions. For example, you might bind the enabled property to another Tag which represents whether or not your process is running, thereby, disabling the alarm when production is stopped. Another example is you might bind the setpoint of an alarm to a Tag that operators can manipulate, thereby, letting the setpoint be changed at runtime. For more information, see Configuring Alarms.
To bind an alarm property of a Tag, click on the binding icon, and the binding UI will slide in from the right.
From here, you can select the binding type (No Binding, Tag, Expression, or UDT Parameter, if applicable).
Binding to an Expression can reference many useful values such as the Tag's value and other settings of the alarm.
When you configured the binding to your liking, click the Commit button.