3. Alarm Examples

The examples shown in this section illustrate some of the more powerful features of the alarm monitoring and message generation. The configuration tool screen shots have been condensed to call attention to only those parameters necessary to obtain the results illustrated.

3.1. Example: Tank Level Percentage

Messages may contain “variables”. One of the more interesting variables is {opt\a\b}. This means text option. If the alarm is active, then text string “a” is included in the message, otherwise text string “b” is included. In this example, the message will say “Low” if the alarm is active, and “Ok” otherwise.

The {val} variable can be used to include the data point or object’s actual value at that point in time. But sometimes the actual number is less meaningful than a relative value. In this example, the {%60} means the message will include a percentage which will be the object’s actual value divided by the number given in the variable. The number following “%” in the variable can be any number. In this example, the object’s actual value would have been 2.4 to generate a message saying 4%. If the fuel level on the backup generator is down to 4%, somebody needs to get moving!

3.2. Example: Simple On-Off

Sometimes we don’t care about level as a percentage, we just want to know if something is on or off. This example illustrates that. In this example, we want to know about it if our fan stops running. The object is defined as Boolean/bit, and our alarm is active any time that bit is not 1 - a 1 usually implies “on” or running.

3.3. Example: Enumerated State

There are times when the notification we desire is not strictly a matter of high/low or on/off. We want to know when something changes state, and there may be multiple states. One example might be a 3-position switch that is on-off-auto. Or a speed setting of off-low-medium-high. It is possible to use a collection of cascaded objects to generate notifications, one per setting. We refer to this type of alarm as an enumerated alarm.

The first object in the sequence will be configured to query some remote device to obtain the present value of the switch setting in question. The remaining objects will simply refer to the previous object using the “virtual link”. We also select the option “Notify Active Only”. Normally you would receive a message when the alarm transitions to active, and another message with the alarm transitions to inactive. With the “Notify Active Only” selected, you will only receive a notification when the alarm transitions to active. Since we have cascaded the same data point to multiple objects, and each object has its own “alarm” setting, we only want to know about the active transitions.

In the example illustrated here, you will receive the “Switch Not in Auto” notification when switch transitions to a value of 0, “Switch is in Auto” when the switch object transitions to a value of 1, and “Switch is in Override” when the switch transitions to a value of 2. On startup, the value of zero is treated as a transition for purposes of an “equal to zero” test.

3.4. Example: Alarm Escalation

The alarm escalation has been mentioned previously. Here we illustrate the settings necessary to implement that escalation. The alarm settings such as test and threshold are made the same as with any other alarm. The only additional requirement in configuring the object’s alarm parameters is that you select “Require Ack”. This means the alarm notification will potentially repeat indefinitely until acknowledged by a user known to the VP3-TM, i.e., found in the phone book.

The more important settings for alarm escalation are found in the group configuration. The Repeat time is a timeout in seconds. If the alarm is not acknowledged within this amount of time, the notification will be sent again to everyone in that group.

The Delay is an optional timeout in seconds that causes this group’s notifications to be delayed. The delay time for a group should always be greater than the repeat time for the previous group.  If the alarm has been acknowledged before the delay time expires, then this group is never notified at all.

So here is what is going to happen in this example. When the alarm occurs, Jack and Tom will be notified immediately. They’ve got 10 minutes to acknowledge the alarm. They will get a reminder after 5 minutes. Suppose they don’t acknowledge the alarm. At 10 minutes, Jack and Tom will get another reminder notification, but now Jim is also notified. He’s the supervisor and he’s probably going to be on the phone looking for Jack and Tom. Jim has the option of acknowledging the alarm himself, but he forgets. Another 10 minutes go by and nobody has acknowledged the alarm yet. Now Pete is going to get his first notification while everybody else gets another reminder. Pete is the big boss, and he’s going to be unhappy because he should never have to be notified. But hey, that’s why we have escalation capability in the first place - keep those guys in line.

How do you acknowledge the alarm? It’s easy. If acknowledgement is required, there will be a number in brackets at the start of the message. Simple reply to the text with “Ack a/b” where a/b are the numbers in the message being acknowledged. The acknowledgement must come from a phone number in the phone book, and the a/b numbers must match before the acknowledgement will be registered.

Copyright © 2019 Control Solutions Minnesota, Inc.