Using CitectSCADA > Configuring and Processing Alarms > Multi-digital Alarms > Multi-digital Alarm Properties

Multi-digital Alarm Properties

Multi-digital Alarms have the following properties.

Alarm Tag

The name of the alarm. The name needs to be unique to the cluster. Alarm Tag names need to adhere to the Tag name syntax. If the name is not unique or is not syntactically correct it may not be recognized. If you have many tags, use a naming convention (see Using structured tag names). This makes it easier to find and debug your tags.

Note: Where Cluster Name is left blank, the name needs to be unique to every defined cluster.

Cluster Name

The name of the cluster that runs this alarm. If the Cluster Name is not set, then this alarm will run on every defined cluster.

Alarm Name

The name of the physical device associated with the alarm.This property is optional, it is only used when details of the alarm are displayed on the screen or logged to a device.

Alarm Desc

The description of the alarm. This can include variable data. This property is optional, it is only used when details of the alarm are displayed on the screen or logged to a device.

Var Tag A/Var Tag B/Var Tag C

The digital variables used to define eight states. Each state represents a different combination of tag values.

In the following example, the digital variables RFP3_TOL, BIT_1, and MCOL304 are specified for Tags A, B, and C.

Var Tag A

RFP3_TOL

Var Tag B

BIT_1

Var Tag C

MCOL_304

States and Descriptions

The following eight states represent any possible tag value combinations (8 characters maximum for description and 1 character for state). The tags are represented in the order Tag C, Tag B, Tag A.

For each state, there are two fields on the Multi-Digital Alarms dialog. In the first field you can enter a description (for example Healthy or Stopped), with a maximum of eight characters.

In the second field, you indicate whether the state will trigger an alarm. A value of 1 indicates an alarm state, 0 indicates no alarm will be triggered.

Realarm (1 char.)

Indicates what happens when there is a transition from one alarm state to another. A value of 1 in this field causes a new time and State Description {State_Desc,n} to be recorded when the states change. With a value of 0, only the time and State Description of the first alarm state is recorded in the Alarm Summary.

ON Function (254 Chars.)

A Cicode function that is executed when a Multi-Digital Alarm becomes active, for example

ON Function

STOP_PROCESS = 1;

The digital variable STOP_PROCESS is set to ON when the alarm is triggered.

Note: Do not put a Cicode blocking function in this field. The alarm system executes ON or OFF actions within the polling loop. A blocking function will affect the polling of alarms, and may result in slow or delayed alarm processing.

UNINTENDED EQUIPMENT OPERATION

Do not put a Cicode blocking function in this field. A blocking function will affect the polling of alarms, and may result in slow or delayed alarm processing.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

A special case of this command occurs when the Alarm ON Function is self-referring, with a form such as TAG1 = TAG1 + 1. This command will not work properly since tags are not reread before processing the Alarm On function (for performance reasons). This particular command will therefore initially set the value of TAG1 to 1 rather than incrementing it.

To correctly run a command of this type in the Alarm ON Function, use TaskNew() to run your own Cicode function to perform the tag command:

ON Function

TaskNew("MyFunc","Data",5);

OFF Function (254 Chars.)

A Cicode function that is executed when a Multi-Digital Alarm becomes inactive. For example,

OFF Function

ENABLE_PROCESS = 1;

The digital variable ENABLE_PROCESS is set to ON when an alarm in this category is reset.

Note: Do not put a Cicode blocking function in this field. The alarm system executes ON or OFF actions within the polling loop. A blocking function will affect the polling of alarms, and may result in slow or delayed alarm processing.

UNINTENDED EQUIPMENT OPERATION

Do not put a Cicode blocking function in this field. A blocking function will affect the polling of alarms, and may result in slow or delayed alarm processing.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Category

The alarm category number or label. This property is optional. If you do not specify a category, the alarm defaults to Category 0.

Help

The name of the graphics page that displays when the AlarmHelp() function is called by a user-defined command. This property is optional. If you don’t specify a help page, no action occurs when the AlarmHelp() function is called.

Privilege

The privilege necessary by an operator to acknowledge or disable the alarm.

Note: If you assign an acknowledgment privilege to an alarm, do not assign a privilege to the command(s) that acknowledge the alarm. If you do assign a different privilege to the commands, then an operator needs to have both privileges to acknowledge the command.

Area

The area to which the alarm belongs. If an operator does not have access to an area, the alarm is not visible on the alarm display. For example, if you enter Area 1 here, operators needs to have access to Area 1 (plus any necessary privileges) to acknowledge or disable this alarm.

Comment

Any useful comment.

Suppression

The number of the Suppression Group to which the alarm belongs. This is an integer value between 0–65535. Alarms in the same group display the same value in this field.

This property is used in conjunction with Suppression Level.

Note: To assign a name to a Suppression Group, define the name as a label with an integer value.

Level (Suppression Level)

The level of an alarm within its Suppression Group (integer value). This is a value between 0 and 255, where a lower level represents a higher priority.

This property enables an active alarm to suppress lower priority alarms within the same Suppression Group. When this occurs, only the higher priority (lower level) alarms are displayed. Alarms with lower priorities (higher levels) will only activate and display when the higher priority (lower level) alarms become inactive.

If two alarms of different priorities in the same Suppression Group are triggered at the same time, both will display in the alarm list. This is because at the time they activated, the higher priority alarm was not already active and so could not suppress the lower priority alarm.

If your intent is for higher priority alarms to activate before lower priority alarms in spite of other factors, store the higher priority alarms closer to the beginning of the Alarms database. The database is scanned from beginning to end for triggered alarms, and if higher priority alarms are higher in the database, they will activate first and be able to suppress any lower priority alarms within the Suppression Group.

Extended forms fields

The following fields are implemented with extended forms (press F2).

Custom Filter1...Custom Filter8

A user-defined string for filtering active alarms (maximum 64 characters).

Used in a custom Cicode query function as search criteria, the custom alarm filter enables operators to identify and display a sub-set of active alarms.

Notes:

Paging

A read/write property that indicates whether the alarm will be paged. When the value is 1 (TRUE) the alarm will be paged. The default value is 0 (FALSE). See Alarm Paging Properties. This property can be read using alarm tag browsing and read or modified when tag properties are enabled using the tag name "myCluster.myAlarm.paging".

Paging Group

A read only text string that indicates the paging group to which the alarm belongs. Maximum length is 80 characters. See your third-party paging system documentation for information on how to use this Paging Group string. This property can be read using alarm tag browsing or when tag properties are enabled read using the tagname "myCluster.myAlarm.paginggroup". For example, assign the value of PagingGroup to a variable:

myString = myCluster.Alarm_1.paginggroup

See Also