In a system an Object might have multiple Alarms associated with it. These Alarms might be directly Referenced by an Object or they might have no direct References from the Object to the Alarm. Alarms might also be related to Objects that are nested under the Object. When the Object is represented in a graphic in a plant, it is often important to be able to see if there is an active Alarm associated with it. This indication could just be a flashing value or flashing image or a change in color of the image.

image034.png

Figure 30 - AlarmSummary equipment example

For example if there is a tank (illustrated in Figure 30). The tank might have a level meter, a temperature gauge and a pressure gauge. It might also have a flow meter on both an inlet and an outlet. The tank might also have a pressure release valve. The information model that might result from this equipment is illustrated in Figure 31

image035.png

Figure 31 - AlarmSummary Equipment Object Example

All of these sub-objects might have unique alarms associated with them, such as limit alarms on the temperature and levels, maybe rate of change alarm as well as limit alarms on the pressure. Maybe some advanced Alarms that are associated with the tank for an invalid state (in the inlet flow > 0 and the outlet flow is > 0). Maybe a discrete alarm on the pressure release valve, i.e. when it is open it is an alarm. The overall alarm state of the Tank might need to be displayed on a graphic or maybe the LevelTransmitter’s value needs to indicate that there is an alarm associated with the value.

An instance of AlarmStateVariableType can be assigned to any Object or Variable. The instance will provide a summary of the Alarms associated with the parent Variable or Object (the Source of the HasComponent Reference for this instance)

Table 142 – AlarmStateVariableType definition

Attribute

Value

BrowseName

AlarmStateVariableType

DataType

AlarmMask

ValueRank

-1 (-1 = Scalar)

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 10000-5.

HasProperty

Variable

HighestActiveSeverity

UInt16

PropertyType

Mandatory

HasProperty

Variable

HighestUnackSeverity

UInt16

PropertyType

Mandatory

HasProperty

Variable

ActiveCount

UInt32

PropertyType

Mandatory

HasProperty

Variable

UnacknowledgedCount

UInt32

PropertyType

Mandatory

HasProperty

Variable

UnconfirmedCount

UInt32

PropertyType

Mandatory

HasProperty

Variable

Filter

ContentFilter

PropertyType

Mandatory

ConformanceUnits

A & C Summary

HighestActiveSeverity – the highest Severity of any active Alarm.

HighestUnackSeverity – the highest Severity of any Unacknowledged Alarm

ActiveCount – a count of the number of active Alarms

UnacknowledgedCount – a count of the number of Unacknowledged Alarms

UnconfirmedCount – a count of the number of Unconfirmed Alarms. If alarm confirmation is not supported this count shall be zero.

Filter – provides a ContentFilter that can be used to restrict what alarms are processed as part of the AlarmStateVariableType. If no filter is required the ContentFilter can be null.

This OptionSet defines flags indicating the summary of alarm states.

The AlarmMask values are formally defined in Table 143.

Table 143 – AlarmMask values

Value

Bit No.

Description

Active

0

This bit is set if there are active Alarms

Unacknowledged

1

This bit is set if there are Unacknowledged Alarms

Unconfirmed

2

This bit is set if there are Unconfirmed Alarms

The AlarmMask representation in the AddressSpace is formally defined in Table 144.

Table 144 – AlarmMask definition

Attribute

Value

BrowseName

AlarmMask

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the UInt16 type defined in 10000-5

0:HasProperty

Variable

0:OptionSetValues

0:LocalizedText[]

0:PropertyType

ConformanceUnits

A & C Summary