Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

AlarmHighestPriority

  • Last UpdatedJul 18, 2023
  • 3 minute read

Returns the alarm priority and/or state of the current highest priority alarm for the given equipment in conjunction with the selected filter criteria.

Syntax

LONG AlarmHighestPriority(INT Mode [, STRING EquipmentFilter] [, STRING FilterCriteria] [, LONG KeepAliveSeconds] [, INT CachedMode] [, INT IncludingReference])

Mode

0 - return the priority of the highest priority alarm.

1 - return the alarm state of the highest priority alarm.

2 - return the results of mode 0 and 1 combined into a two-byte integer result. Use LowByte() to extract the priority of the highest priority alarm and use HighByte() to extract the alarm state of the highest priority alarm.

3 - return the current setting for the alarm server's Highest Priority Order field ("Priority, Alarm State" or "Alarm State, Priority").

4- Same as mode 0. Alarm Priorities where Show on Indicator is set to False are excepted.

5- Same as mode 1. Alarm Priorities where Show on Indicator is set to False are excepted.

6- Same as mode 2. Alarm Priorities where Show on Indicator is set to False are excepted.

For more information about the field Show on Indicator refer to the topic Configure Display Properties for an Alarm Priority.

EquipmentFilter:

A comma-separated list of equipment names to filter alarms prior to applying the filter specified in the FilterCriteria argument. Each equipment name may be a part of full equipment name from the root. For example, "Region.Plant" will count alarms with equipment names literally starting with "Region.Plant" that includes "Region.PlantA" and "Region.Plant.AreaB". If it is needed to count children of a particular equipment tree only, the equipment name should end with a period('.'). A comma in between equipment expressions is regarded as an OR operator. If an empty string is specified, return Highest Priority for all Alarms.

FilterCriteria:

A filter name OR filter text. See the topic Implement Alarm Filters Using Cicode for more information about filter syntax.

KeepAliveSeconds:

Optional length of time (in seconds) for which the count will remain in memory. Default is 30 seconds.

The CachedMode parameter affects the behavior of this parameter. Refer to the section below for more information.

CachedMode:

Optional flag that causes the current cached value to be supplied even when the value is being refreshed. This makes the function non-blocking. If the property has not yet been cached, an error is set.

0 - Do not force cached read. Cicode is blocking

1 - Force cached read. Cicode is non-blocking

Default value is 1 (true).

A priority value in the cache is accessed when its filter criteria matches the filter criteria in a subsequent call, and the priority value's KeepAliveSeconds duration is extended. A priority will stay in the cache for 'at least' the duration specified by KeepAliveSeconds, and may stay in the cache for an unspecified period of time before being discarded.

The period set for an existing priority will be overridden in the event a longer duration is set using KeepAliveSeconds.

A priority that is added to the cache is not immediately available for reading, so a foreground call to AlarmHighestPriority that causes a new count to be added will return a value of -1 and an error of 345 (Data not ready).

IncludingReference:

0 - Do not include alarms belonging to referenced equipment in AlarmHighestPriority for current equipment

1 - Include alarms belonging to referenced equipment in AlarmHighestPriority for current equipment.

Set to 1 by default.

Type:

The rule used to determine the relative priority of alarms (currently fixed to 0).

Return Value

For Mode 0, return the priority ID of the current highest priority alarm.

For Mode 1, return the alarm state of the current highest priority alarm:

  • 1 - On and Unacknowledged

  • 2 - Off and Unacknowledged

  • 3 - On and Acknowledged

  • 4 - Disabled

For Mode 3, return the current setting for the alarm server's Highest Priority Order field:

  • 0 - Priority, Alarm State

  • 1 - Alarm State, Priority

Example

INT nPriority;

INT nState;

INT nCombined;

INT nSetting;

// Priority of highest priority alarm in Plant.Area.Room* equipment and all referenced equipment (default non-blocking Cicode).

nPriority = AlarmHighestPriority(0, "Plant.Area.Room");

// Alarm state of highest priority alarm in Plant.Area.Room* equipment and all referenced equipment (default non-blocking Cicode).

nState = AlarmHighestPriority(1, "Plant.Area.Room");

// State and Priority of highest priority alarms in Plant.Area.Room*, Plant.Area.Flat* equipment and all referenced equipment with category 10 as a two-byte integer (non-blocking Cicode).

nCombined = AlarmHighestPriority(2, "Plant.Area.Room, Plant.Area.Flat", "Category=10", 1, 1);

nPriority = LowByte(nCombined);

nState = HighByte(nCombined);

// Current setting for the alarm server's Highest Priority Order field

nSetting = AlarmHighestPriority(3);

AlarmCount, AlarmCountEquipment, AlarmCountList

See Also

Alarm Functions

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in