Configuring Alarms
Alarms are conditions that are evaluated when the value of the Tag changes. When the condition becomes true, the alarm is said to be active. When it becomes false, the alarm is said to be clear. Alarms may also be acknowledged. This flags the alarm in Ignition so the acknowledgement state of each alarm can be made visible throughout Ignition.
Alarms can be configured on Tags or OPC items in SQL Bridge (Transaction Groups). You can also put alarms on System Tags that Ignition inherently provides such as the Gateway Performance and CPU Usage.
Dataset type tags are not supported by the Tag History system.
Alarm Names and Forward Slashes​
Alarm names can make use of forward slashes ( "/" ). However the alarm name property throughout Ignition is designed to only show characters after the rightmost forward slash. Assume you name an alarm with the following:
one/two/three
The alarm name property (as seen on the various alarm table components, Tag Browser, and various alarm scripting functions) will omit "one" and "two", leaving the alarm name as:
three
This behavior can be confusing, but is easily avoided by not using forward slashes in alarm names.
Alarm Properties​
Similar in concept to properties on Vision components, alarm settings, also known as alarm properties, allow you to modify the behavior of each alarm. Each alarm will have its own alarm properties such as a unique Name, Priority, Display Path, Notes, and many other properties, some of which are optional. Descriptions of each alarm property can be found on the Tag Alarm Properties page.
Aside from viewing alarm properties from the Tag Editor, you can also examine them from the Tag Browser. If you expand a tag that has an alarm on it, you'll find an Alarms item:
From here we can expand the Alarms item. We'll find several data points that represent the state of any alarms on the Tag. In addition, can find runtime information for each alarm on the Tag. In the image below, the Tag has an alarm named "Ramp high". We can expand that tag to learn more about that alarm.
These sub properties are simply attributes on a tag, so Tag Bindings can be used to retrieve their realtime value. In the image below, we see a Perspective Tag Binding pointing to the State attribute of an alarm.
Alarm Modes and Setpoints​
There are many different conditions that can be set up on an alarm. Alarm Mode Settings is where you define the actual conditions when the alarm goes 'true.' Some of the various Alarm Modes are shown in the image below.
Each alarm is configured with one mode, and usually one or more Setpoints. Modes determine the method in which alarm activity is evaluated, while Setpoints are the thresholds or limits that determine when a Tag is within the alarm state. Both properties work in together to determine when alarms become active, as well as when they are cleared.
For example, when Mode is set to "Above Setpoint", the Setpoint attribute is compared to the Tag's value. When the Tag value is above the the Setpoint value, the alarm becomes active. Once the value of the Tag is less than the Setpoint value, the alarm will transition to a cleared state.
For a complete list of Alarm Modes and their descriptions, refer to the Reference Table on the Tag Alarm Properties page.
Alarming on Individual Bits​
Additionally, alarms can become active by bit state. A common practice for PLC programming is to store alarm conditions as series of bits inside the PLC and expose them to the world as an integer value. Each bit is essentially a binary value. A series of 8 bits, for example, could be represented as an 8-bit integer. This integer value can be monitored by Ignition's OPC-UA server as an integer value as a Tag. This Tag can then have as many alarms as the integer has bits by monitoring the integer's bit state. Using the Bit Position Mode, multiple alarms in Ignition can be configured to monitor the state of each bit.
The following table shows binary and decimal equivalents:
Binary | Decimal |
---|---|
10001110 | 142 |
In this case, the Tag would be an integer with a value of 142. This Tag would have eight alarms. Each one of these alarms become active in accordance with its Boolean value.
Create Alarms on an Integer Tag Value​
- Edit a Tag that has an integer value.
- Scroll down to Alarms, and next to 'No alarms,' click on the Edit icon to create an alarm.
- Click the Add icon to add a new alarm to the Tag.
- Fill in the appropriate properties, for example, enter the Name, Priority, and other properties as appropriate.
- From the Mode section dropdown, select Bit State and enter a value for the Bit Position.
- Click Commit to save the alarm. Repeat the same process for the remainder of the bits.
Deadband and Time Delays​
The value for the deadband is interpreted by the Deadband Mode. 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 we have a "Between Setpoints" alarm with a Low Setpoint of 45 and a High Setpoint of 65, and with a Deadband of 3. The alarm will go active if the value is between 45 and 65, but will only clear if the value falls below 42 or rises above 68.
In other situations, a Tag may frequently enter and leave an alarm state, but only for a brief moment. Normally an alarm would be generated each time the alarm condition was met, but the Active Delay attribute will prevent any alarms from being generated until the value on the Tag has stayed in an alarm state for a set period of time.
To learn more about deadband and time delays, refer to the Reference Table on the Tag Alarm Properties page.
Associated Data​
You can extend the list of alarm properties by adding your own Associated Data or custom properties to an alarm you already have configured. These values can be static or dynamic. Static properties are excellent for filtering alarms. Dynamic properties can be driven by another Tag, or evaluated with an expression. Regardless of the type, the Associated Data property values will be attached to the alarm event, viewed in real-time, and recorded in the Alarm Journal system.
Configuring Alarms​
Configure an Alarm
Watch the videoAlarms can be configured on any Tag type: Memory Tag, Query Tag, Expression Tag, as well as Tags inside of a UDT.
Configuring an Alarm on a Memory Tag​
Let's use a simple Memory Tag with an Integer data type and create an alarm.
- In the Tag Browser, double click a memory Tag (i.e. Level) to open the Tag Editor.
- Scroll down to Alarms, and next to 'No alarms,' click on the Edit icon to create an alarm, and the alarm UI will slide in from the right.
- Click the Add icon in the bottom left corner of the window, or double click New Alarm item to add a new alarm to the Tag.
- Configure the following alarm settings:
- Name: Fault Levels
- Priority: Critical
- Alarm Mode: Outside Setpoints
- Low Setpoint: 20 (when the Low Setpoint is below 20, an alarm is triggered)
- Low Inclusive: true (alarm is triggered when the low setpoint is equal to 20 or below)
- High Setpoint: 85 (when the High Setpoint is above 85, an alarm is triggered)
- High Inclusive: true (when the High Setpoint is equal to or above 85, an alarm is triggered)
- Click Commit to save your alarm, or Revert to cancel.
- Click OK to save your Tag edits.
- Ignition will start monitoring the alarm immediately. Notice that the Alarm icon will appear in the Traits column of the Tag Browser next to the name of the Tag. This means that at least one alarm is configured on this Tag.
Configuring Alarms on Tags in a UDT​
Congifure Alarm in UDT
Watch the videoAlarms can be configured on Tags inside a UDT so when you create instances of that UDT, the alarms will automatically be configured.
In this example, we have a Motor UDT that contains two Tags: Amps and HOA. Let's configure an alarm on the Amps Tag.
- In the Tag Browser, double click on a UDT (i.e., Motor) to open the Tag Editor.
- In the Type Structure area, click on a Tag (i.e., Amps).
- Scroll down to Alarms, and next to No alarms, click on the Edit icon to create an alarm.
- Click the Add icon.
- For this example, we entered the following:
- Name: Low Amps
- Priority: High
- Alarm Mode: Below Setpoint
- Setpoint: 30
- Inclusive: true (an alarm is triggered when the low setpoint is equal to 30 or below)
- Click Commit to save your alarm.
- Click OK to save the UDT. Now you're ready to create instances of the UDT. Once you create your UDT instances, Ignition will start monitoring the alarm immediately. note
The Alarm icon will appear in the Traits column of the Tag Browser next to the name of the Tag in the UDT instance. (Notice how you see the name of the Motor UDT next to the Amps Tag of the Motor 6 instance.)
Updates to the UDT and Overriding Alarm Settings​
If the alarm in the UDT is updated, the instance will automatically receive the updates and be refreshed. It's not uncommon that you may need to make alarm attribute values unique for particular instances, in which case, you can override alarm settings. Click the override button on the alarm UI of the Tag Editor making it green and edit the alarm properties and/or their values To learn more, refer to Overriding Properties in UDT Instances.
Configuring Multiple Alarms on a Single Tag​
Tags can have multiple alarms configured, each with unique setpoints and other configurations. The number of alarms that you can configure is virtually unlimited and will never exceed the bounds of reasonable design consideration. Adding additional alarms is just as easy as adding the first alarm. Simply click on the Add icon in the alarm UI and start configuring the new alarm. This way separate alarms can monitor different setpoints, so Tags can have alarms for high setpoints and low setpoints.
Alarm Property Bindings​
Many alarm properties are bindable, which means they can be bound to other Tags in the system, expressions and even a UDT parameter. 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. Or, you might bind the setpoint of an alarm to a Tag that operators can manipulate, thereby letting the setpoint be changed at runtime.
This example shows how to bind an alarm property from the Tag Browser in Perspective.
- Double click on your Tag to open the Tag Editor.
- Click on the Edit icon next to Configured Alarms to see your configured alarms. (If you don't have any alarms, create an alarm using the steps in the Configuring an Alarm on a Tag.)
- Select the alarm and the screen will refresh with all the alarm properties.
- From here, find the alarm property you want to add a binding to and click on the binding icon. The binding UI will slide in from the right.
- Select the binding type (No Binding, Tag, Expression, or UDT Parameter, if applicable). The image below shows an example of an Expression binding. Notice that the expression can reference many useful values such as the Tag's value and other settings of the alarm. Enter your expression.
- Once you configured the binding to your liking, click Commit, or Revert if you decide to cancel.
- Click OK to save the changes to the Tag.
For more information on property bindings see, Property Bindings in Perspective and Property Bindings in Vision.
Alarms in Transaction Groups​
Alarms can also be added to OPC items in Transaction Groups. This means alarms can be used without ever creating a Tag in Ignition. Simply edit an OPC item, and an Alarming section will appear in the Tag Editor window. From here, adding an alarm to the item is similar to adding an alarm to an Ignition tag.
Transferring System Tag Alarm Configurations​
Although you cannot import or export System Tag configurations and alarms through the Tag Browser, you can use scripting to extract the System Tags and configurations into a JSON format. You can then take the .json file, move it to a different system, and configure the System Tags using the .json file. See the Exporting and Importing System Tag Alarm page for examples on how to do this.