Skip to main content
Version: 7.9

Pipeline - Escalation

Inductive University

Pipeline - Escalation

Watch the video

How to Setup Escalation Procedures

It is possible to setup escalation procedures in alarm notification pipelines in Ignition. The following example will create a pipeline that notifies operators three times. If a user does not acknowledge the alarm after the third time, the alarm escalates to the Production Supervisor’s on-call roster.

The following example requires that two separate on-call rosters have been configured ("Production Supervisors" and "Operators"), as well as an email notification profile.

  1. In the Project Browser under the Alarm Notification Pipelines, create a New Alarm Pipeline called ‘Escalate’.

  2. In order to keep track of how many times the operators get notified, create a counter using the Set Property block inside your pipeline. Drag the Set Property Block to the Pipeline Workspace and connect the START block to the IN of the Set Property block. In the Pipeline Block Editor, set the Property Name to ‘numCalls’ and initialize the Property Value to ‘0’.

    Pipeline Escalation Step .png

  3. Drag the Notification Block to the Pipeline Workspace and connect the OUT from the Set Property block to the IN of the Notification block.

    In the Pipeline Block Editor, set the Notification to use 'Email' and set the Contacts to use the 'Operators' on-call roster.

    Pipeline Escalation Step 3

  4. A Delay Block will be added so the operators have some time to respond to the alarm before another notification is immediately sent out.

    Drag in the Delay Block and connect the OUT from the Notification block to the IN of the Delay block. In the Pipeline Block Editor, set the Delay property for '300' seconds. It will give the operators 5 minutes to respond to the alarm before going to the next block.

    Pipeline Escalation Step 4.png

  5. If the alarm is still active and not acknowledged, the counter will increment by 1. In order to increment the counter, drag in another Set Property Block and connect the OUT of the Notification block to the IN of the Set Property block. You can right click on the Set Property block to reverse the orientation.

    note

    A Note on Syntax
    The Set Property Block's Property Value uses Ignition's Expression language. More information on the Expression language can be found on the Expression Overview and Syntax page.

    In the Pipeline Block Editor, set the Property Name to ‘numCalls'. In the Property Value Expression type in, ‘{numCalls} + 1’. In this expression, use the curly braces to refer to that variable so the counter gets incremented by 1.

    Pipeline Escalation Step 5.png

  6. The Expression Block will check to see if '‘numCalls’ is < 3'. Drag in an Expression Block to your pipeline workspace and right click on the Expression block to reverse the orientation. Connect the OUT of the Set Property block to the IN of the Expression block.

    Since the value of ‘numCalls is less than 3, the alarm event will follow the ‘True’ path. Connect the ‘True’ output to the Operator Notification block.

    Pipeline Escalation Step 6.png

  7. If the 'numCalls is > 3', the alarm event will follow the ’False’ path and it will escalate to the Production Supervisors.

    Drag in another Notification Block and reverse the block orientation. In the Pipeline Block Editor, set the Notification to use ‘Email’ and set the Contacts to use the ‘Production Supervisors’ on-call roster.

    Connect the ‘False’ pin to the IN of the Production Supervisors Notification block.

    Pipeline Escalation Step 7.png

As you can see, when the Escalate Pipeline sets the ‘numCalls’ variable to a value of 0, it’s going to notify the Operators on-call roster through email that the alarm is active. It will wait 5 minutes, and if the alarm is still active, it will increment the counter by 1. This will repeat until the ‘numCalls’ is > 3. After the 3rd time, if the alarm is still active and in the pipeline, then the Production Supervisors will be notified. Keep in mind, that if the alarm at any point meets the dropout conditions, it will not go to the next block of the pipeline.

tip

You can also use the Jump Block as your escalation instead of a second Notification Block. This will allow you to jump into another complete pipeline when nobody answers.