Skip to main content
Version: 8.1

Alarm Associated Data

Associated data lets you attach additional context values to an alarm event. Every alarm in Ignition already carries built-in properties as it moves through Ignition, such as active time, clear time, who acknowledged it, acknowledgement time, priority, and display path. Associated data (also called custom properties) extends this list with values of your own.

Associated data values can be static or dynamic:

  • Static values are fixed and work well for filtering alarms.
  • Dynamic values are bound to a tag or expression and update accordingly.

Either way, the value is attached to the alarm event as it moves through Ignition and is available from Alarm Status, the Alarm Journal, and Alarm Notification.

Creating Associated Data​

You can add associated data to any existing alarm, or create a new alarm first. The steps below add one static property and one dynamic property to an alarm. This example uses the WriteableInteger1 OPC tag from the Sample_Tags provider and its built-in Lo alarm, but any alarm-capable tag will work. Ignition records associated data with each alarm event as it occurs, so add your properties before the events you want them to appear on; existing history is not updated retroactively.

  1. Right-click your tag and select Edit Tag.

  2. In the Tag Editor, scroll to Alarms and click the Edit icon.

  3. Select your alarm to open the alarm editor.

  4. Click the Add icon above the alarm properties. A new property named New Data is added at the bottom of the list.

  5. Double-click the property name and rename it to StaticData.

  6. Set its value to Folsom Plant and press Enter.

  7. Click the Add icon again to add a second property.

  8. Rename the new New Data property to DynamicData.

  9. Click the Binding icon and bind the property to a tag. This example binds to the Ramp0 OPC tag.

  10. Click Commit to confirm the binding, then click OK to save the tag.

When the alarm goes active, Ignition stores the associated data values with the alarm event. To view them in the Alarm Status Table, select the alarm and click the gray arrow at the end of its row to open Alarm Details. The associated data appears under the On Active and On Clear sections, alongside the event properties.

Retrieving Associated Data in Scripts​

Associated data values are always stored as strings. When you retrieve a value for use in an expression or a script, typecast it to the data type you need:

To read an associated data value from an alarm event in a script, call alarmEvent.get("PropertyName"), then cast the returned string to the type you need.

Alarm Grouping​

Inductive University

Alarm Grouping

Watch the video

Grouping alarms is an important design concept. Instead of viewing every alarm in a single list, you often want to see alarms for a specific plant area or set of equipment.

There are several ways to group alarms: organizing tags into a folder hierarchy, using the Display Path field in the alarm configuration, or using associated data. Associated data is the most flexible and recommended approach, and it is common practice to base alarm groupings on it.

Creating an Alarm Grouping​

This example reuses the WriteableInteger1 tag from the previous example and adds a Group property that can be used for filtering and notification.

  1. Right-click your tag and select Edit Tag.

  2. In the Tag Editor, scroll to Alarms, click the Edit icon, and select your alarm.

  3. Click the Add icon above the alarm properties.

  4. Rename the new New Data property to Group and set a value that represents the group, such as Production.

  5. Click Commit to save your alarm edits, then click OK.

The alarm now always carries the Group designation, which you can use for filtering or in alarm pipeline notifications.

To filter the Alarm Journal on this new property, enable and edit the filterAlarm extension function:

  1. Right-click the Alarm Journal component and select Configure Scripts....

  2. Under Extension Functions, click filterAlarm and select the Enabled checkbox.

  3. Edit the script to check your associated data property and value. For example:

    filterAlarm scripting function
    group = alarmEvent.get("Group")
    if group == "Production":
    return True
    return False

  4. Open the Alarm Journal Table component and filter on your associated data. The table now displays only the alarms associated with the Production group.