Ad Hoc Alarms

(Ad hoc, from Latin meaning, "For this". Created solely for a specific purpose.)

Ad hoc alarms are intended for alarm conditions that may not be known ahead of time and thus cannot be commissioned. VTScada provides one example: the Roster check box widget, used for testing a Roster.

Ad hoc alarms may or may not be associated with tags. They are fully functioning alarms that can be activated, cleared, acknowledged, shelved and disabled, but will never appear on the Configured list. It is up to the caller of AdHoc() to manage the life of the alarm. If an ad hoc alarm is activated, it is up to the caller to clear (normalize) the alarm at some point.

Ad hoc alarms can be activated and cleared on client workstations, whereas commissioned alarms are only activated / cleared on the current server for their alarm database, or on an isolated workstation.

Note that ad hoc alarms are never purged.

Ad hoc alarms are evaluated using the function \AlarmManager\AdHocAlarm()

Comparison to regular alarms:

With a regular alarm, all workstations must be aware of the alarm criteria, description, priority, etc, with which they will commission the alarm. All workstations must be aware of the value the alarm is watching, and they must all attempt to evaluate the alarm whenever the value changes. Usually only the primary server's evaluation of the alarm will result in the alarm becoming active or normal, though the backup server would take over this roll if the primary was offline. If any client workstation becomes isolated from the server and it sees the value change, it will be able to activate or clear the alarm, and will eventually synchronize with the server and work out the current state of the alarm.

 

Any situation that can't meet the criteria of a regular alarm might need to use an ad hoc alarm. This might be the case if a PLC reports alarm events, where each event cannot be associated ahead of time to a particular tag and the alarm needs to be acknowledged by the user.

Another example might be where not all workstations (especially the server) are aware of the value being watched, and thus only a particular client can activate the alarm.