Figure 14informally describes the AlarmConditionType, its sub-types and where it is in the hierarchy of Event Types.

image017.png

Figure 14– AlarmConditionType Hierarchy Model

The AlarmConditionTypeextends the AcknowledgeableConditionTypeby introducing an ActiveState, SuppressedStateand ShelvingState. It also adds the ability to set a delay time, re-alarm time, Alarmgroups and audible Alarmsettings. The Alarm model is illustrated in Figure 15. This illustration is not intended to be a complete definition. It is formally defined in Table 42and Table 43.

image018.png

Figure 15– Alarm Model

Table 42– AlarmConditionType definition

Attribute

Value

BrowseName

AlarmConditionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the AcknowledgeableConditionTypedefined in clause 5.7.2

HasComponent

Variable

ActiveState

LocalizedText

TwoStateVariableType

Mandatory

HasProperty

Variable

InputNode

NodeId

PropertyType

Mandatory

HasComponent

Variable

SuppressedState

LocalizedText

TwoStateVariableType

Optional

HasComponent

Variable

OutOfServiceState

LocalizedText

TwoStateVariableType

Optional

HasComponent

Object

ShelvingState

ShelvedStateMachineType

Optional

HasProperty

Variable

SuppressedOrShelved

Boolean

PropertyType

Mandatory

HasProperty

Variable

MaxTimeShelved

Duration

PropertyType

Optional

HasProperty

Variable

AudibleEnabled

Boolean

PropertyType

Optional

HasComponent

Variable

AudibleSound

AudioDataType

AudioVariableType

Optional

HasComponent

Variable

SilenceState

LocalizedText

TwoStateVariableType

Optional

HasProperty

Variable

OnDelay

Duration

PropertyType

Optional

HasProperty

Variable

OffDelay

Duration

PropertyType

Optional

HasComponent

Variable

FirstInGroupFlag

Boolean

BaseDataVariableType

Optional

HasComponent

Object

FirstInGroup

AlarmGroupType

Optional

HasComponent

Variable

LatchedState

LocalizedText

TwoStateVariableType

Optional

HasAlarmSuppressionGroup

Object

<AlarmGroup>

AlarmGroupType

OptionalPlaceholder

HasProperty

Variable

ReAlarmTime

Duration

PropertyType

Optional

HasComponent

Variable

ReAlarmRepeatCount

Int16

BaseDataVariableType

Optional

HasComponent

Method

Reset

Defined in 5.8.5

Optional

HasComponent

Method

Reset2

Defined in 5.8.65.8.5

Optional

HasComponent

Method

Silence

Defined in 5.8.7

Optional

HasComponent

Method

Suppress

Defined in 5.8.8

Optional

HasComponent

Method

Suppress2

Defined in 5.8.9

Optional

HasComponent

Method

Unsuppress

Defined in 5.8.10

Optional

HasComponent

Method

Unsuppress2

Defined in 5.8.11

Optional

HasComponent

Method

RemoveFromService

Defined in 5.8.12

Optional

HasComponent

Method

RemoveFromService2

Defined in 5.8.13

Optional

HasComponent

Method

PlaceInService

Defined in 5.8.14

Optional

HasComponent

Method

PlaceInService2

Defined in 5.8.15

Optional

HasComponent

Method

GetGroupMemberships

Defined in 5.8.16

Optional

HasSubtype

ObjectType

DiscreteAlarmType

HasSubtype

ObjectType

LimitAlarmType

HasSubtype

ObjectType

DiscrepancyAlarmType

ConformanceUnits

A & C Alarm

Table 43– AlarmConditionType Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

ActiveState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

ActiveState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

SuppressedState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

SuppressedState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

OutOfServiceState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

OutOfServiceState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

SilenceState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

SilenceState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

LatchedState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

LatchedState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

The emptyOthers” column indicates that no ModellingRuleapplies.

The AlarmConditionTypeinherits all Propertiesof the AcknowledgeableConditionType. The following states are sub-states of the True EnabledState.

ActiveState/Idwhen set to True indicates that the situation the Conditionis representing currently exists. When a Conditioninstance is in the inactive state (ActiveState/Idwhen set to False) it is representing a situation that has returned to a normal state. The transitions of Conditionsto the inactive and Activestates are triggered by Serverspecific actions. Subtypes of the AlarmConditionTypespecified later in this document will have sub-state models that further define the Activestate. Recommended state names are described inA.1. In the event of a restart of an AlarmManager, the AlarmManagershall recover the ActiveState.

The InputNode Propertyprovides the NodeIdof the Variablethe Valueof which is used as primary input in the calculation of the Alarmstate. If this Variableis not in the AddressSpace, a NULL NodeIdshall be provided. In some systems, an Alarmmay be calculated based on multiple Variables Values; it is up to the system to determine which Variable’s NodeIdis used.

SuppressedState, OutOfServiceStateand ShelvingStatetogether allow the suppression of Alarmson display systems. These three suppressions are generally used by different personnel or systems at a plant, i.e. automatic systems, maintenance personnel and Operators.

SuppressedStateis used internally by a Serverto automatically suppress Alarmsdue to system specific reasons. For example, a system may be configured to suppress Alarmsthat are associated with machinery that is in a state such as shutdown. For example, a low level Alarmfor a tank that is currently not in use might be suppressed. Recommended state names are described in A.1. In the event of a restart of an AlarmManager, the AlarmManagershould recover the SuppressedState. If the system cannot determine if the alarm is Suppressed, the state shall be set to false (not Suppressed).

OutOfServiceStateis used by maintenance personnel to suppress Alarmsdue to a maintenance issue. For example, if an instrument is taken out of service for maintenance or is removed temporarily while it is being replaced or serviced the item would have the OutOfServiceState set. Recommended state names are described in A.1. In the event of a restart of an AlarmManager, the AlarmManagershould recover the OutOfServiceState.If the system cannot determine if the alarm is OutOfService, the state shall be set to false (not OutOfService).

ShelvingStatesuggests whether an Alarmshall (temporarily) be prevented from being displayed to the user. It is quite often used by Operatorsto block nuisance Alarms. The ShelvingStateis defined in 5.8.17.

When an Alarmhas any or all of the SuppressedState, OutOfServiceStateor ShelvingStateset to True, the SuppressedOrShelvedproperty shall be set True and this Alarmis then typically not displayed by the Client. State transitions associated with the Alarmdo occur, but they are not typically displayed by the Clients as long as the Alarmremains in any of the SuppressedState, OutOfServiceStateor Shelvedstate.

The optional Property MaxTimeShelvedis used to set the maximum time that an Alarm Conditionmay be shelved. The value is expressed as duration. Systems can use this Propertyto prevent permanent Shelvingof an Alarm.If this Propertyis present, it will be an upper limit on the duration passed into a TimedShelve Methodcall. If a value that exceeds the value of this Propertyis passed to the TimedShelve Method, then a Bad_ShelvingTimeOutOfRangeerror code is returned on the call. If this Propertyis present, it will also be enforced for the OneShotShelvedstate, in that an Alarm Condition will transition to the Unshelvedstate from the OneShotShelvedstate if the duration specified in this Propertyexpires following a OneShotShelveoperation without a change of any of the other items associated with the Condition.

The optional Property AudibleEnabledis a Boolean that indicates if the current state of this Alarmincludes an audible Alarm.

The optional Property AudibleSoundcontains the sound file that is to be played if an audible Alarmis to be generated. This file would be play/generated as long as the Alarmis active and unacknowledged, unless the silence StateMachineis included, in which case it may also be silenced by this StateMachine.

The SilenceStateis used to suppress the generation of audible Alarms. Typically, it is used when an Operatorsilences all Alarmson a screen, but needs to acknowledge the Alarmsindividually. Silencing an Alarmshall silence the Alarmon all systems (screens) that it is being reported on. Not all Clientswill make use of this StateMachine, but it allows multiple Clientsto synchronize audible Alarmstates. Acknowledging an Alarmshall automatically silence an Alarm. In the event of a restart of an AlarmManager, the AlarmManagershould recover the SilenceState. If the system cannot determine if the Alarmis silenced, it shall set the SilenceState, based on the AcknowledgeState.If it is Acknowledged, it is silenced, If it has not been Acknowledged, it shall not be silenced.

The OnDelayand OffDelay Propertiescan be used to eliminate nuisance Alarms. The OnDelayis used to avoid unnecessary Alarms when a signal temporarily overshoots its setpoint, thus preventing the Alarmfrom being triggered until the signal remains in the Alarmstate continuously for a specified length of time (OnDelaytime). The OffDelayis used to reduce chattering Alarmsby locking the Alarmindication for a certain holding period after the condition has returned to normal. I.e., the Alarmshall stay active for the OffDelaytime and shall not regenerate if it returns to active in that period. If the Alarmremains in the inactive zone for OffDelayit will then become inactive.

The optional variable FirstInGroupFlagis used together with the FirstInGroup object. The FirstInGroup Object is an instance of an AlarmGroupType that groups a number of related Alarms. The FirstInGroupFlagis set on the Alarminstance that was the first Alarmto trigger in a FirstInGroup. If this variable is present, then the FirstInGroupshall also be present. These two nodes allow an alarming system to determine which Alarmin the list was the trigger. It is commonly used in situations where Alarms are interrelated and usually multiple Alarmsoccur. For example, vibration sensors in a turbine, usually all sensors trigger if any one triggers, but what is important for an Operatoris the first sensor that triggered.

The LatchedState Object, if present, indicates that this Alarmsupports being latched. The Alarmwill remain with a retain bit of True until it is no longer active, is acknowledged, is confirmed (if ConfirmedStateis provided) and is reset. The Reset Method,if called while active has no effect on the Alarmand is ignored and an error of Bad_InvalidState is return on the call. The Objectindicates the current state, latched or not latched. Recommended state names are described in A.1. If this Objectis provided the Reset Methodmust also be provided. In the event of a restart of an AlarmManager, the AlarmManagershall recover the LatchedState.

An Alarminstance may contain HasAlarmSuppressionGroupreference(s) to instance(s) of AlarmGroupType (or subtype of it). Each instance is an AlarmSuppressionGroup. When an AlarmSuppressionGroupgoes active, the Servershall set the SuppressedStateof the Alarmcontaining the HasAlarmSuppressionGroupreference to True. When all of referenced AlarmSuppressionGroupsare no longer active, then the Server shall set SuppressedStateto False. A single AlarmSuppressionGroupcan manage multiple Alarms. AlarmSuppressionGroups are used to control Alarmfloods and to help manage Alarms.

ReAlarmTimeif present sets a time that is used to bring an Alarmback to the top of an Alarmlist. If an Alarmhas not returned to normal within the provided time (from when it last was alarmed), the Serverwill generate a new Alarmfor it (as if it just went into alarm). If it has been silenced it shall return to an un-silenced state, if it has been acknowledged it shall return to unacknowledged. The Alarmactive time is set to the time of the re-alarm.

ReAlarmRepeatCountif present counts the number times an Alarmwas re-alarmed. Some smart alarming system would use this count to raise the priority or otherwise generate additional or different annunciations for the given Alarm. The count is reset when an Alarmreturns to normal.

Silence Methodcan be used to silence an instance of an Alarm. It is defined in 5.8.7.

Suppressand Suppress2 Methodcan be used to suppress an instance of an Alarm. Most Alarmsuppression occurs via advanced alarming, but this method allows additional access to suppress a particular Alarminstance. Additional details are provided in the definition in 5.8.8and 5.8.9

Unsuppressand Unsuppress2 Methodcan be used to remove an instance of an Alarmfrom SuppressedState. Additional details are provided in the definition in 5.8.10and 5.8.11.

PlaceInServiceand PlaceInService2 Methodcan be used to remove an instance of an Alarmfrom OutOfServiceState. It is defined in 5.8.14and 5.8.15.

RemoveFromServiceand RemoveFromService2 Methodcan be used to place an instance of an Alarmin OutOfServiceState. It is defined in 5.8.12and 5.8.13.

Reset Methodis used to clear a latched Alarm. It is defined in 5.8.5. If this Objectis provided the LatchedState Objectshall also be provided.

More details about the AlarmModel and the various states can be found in Sub clause 4.8. and in Annex E.

The AlarmGroupTypeprovides a simple manner of grouping Alarms. This grouping can be used for Alarmsuppression or for identifying related Alarms. The actual usage of the AlarmGroupTypeis specified where it is used.

Table 44– AlarmGroupType definition

Attribute

Value

BrowseName

AlarmGroupType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FolderTypedefined in 10000-5

AlarmGroupMember

Object

<AlarmConditionInstance>

AlarmConditionType

OptionalPlaceholder

ConformanceUnits

A & C First in Group Alarm

A & C Suppression Group

The instance of an AlarmGroupTypeshould be given a name and description that describes the purpose of the Alarmgroup.

The AlarmGroupTypeinstance will contain a list of instances of AlarmConditionTypeor sub type of AlarmConditionTypereferenced by AlarmGroupMemberreferences. At least one Alarmmust be present in an instance of an AlarmGroupType.

This is a subtype of AlarmGroupTypethat can be used to supress other alarms. This subtype of AlarmGroupextends the AlarmGroupTypeto allow the addition of Variablesthat have a Boolean DataType. The Variablecan be thought of as representing the Idof the ActiveStateof an Alarm, i.e. when any of the included Variableshave a value of true the AlarmSuppressionGroupis active.

Table 45– AlarmSuppressionGroupType definition

Attribute

Value

BrowseName

AlarmSuppressionGroupType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AlarmGroupType

AlarmSuppressionGroupMember

Variable

<DigitalVariable>

Boolean

BaseDataVariableType

OptionalPlaceholder

ConformanceUnits

A & C Suppression Group

The instance of an AlarmSuppressionGroupTypeshould be given a name and description that describes the purpose of the Alarmgroup.

The AlarmSuppressionGroupTypeinstance will contain a list of instances of AlarmConditionTypeor sub type of AlarmConditionTypeor BaseDataVaribleTypewith a DataTypeof Booleanreferenced by AlarmSuppressionGroupMemberreferences. At least one Nodemust be present in an instance of an AlarmGroupType.

TheReset Methodis used reset a latched Alarminstance. It is only available on an instance of an AlarmConditionTypethat exposes the LatchedState. Normally, the NodeIdof the Objectinstance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the Reset Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

Reset();

This method has no arguments.

Methodresult codes in Table 46(defined in Callservice)

Table 46– Reset result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Bad_InvalidState

The Alarminstance was not latched or is still active or still requires acknowledgement / confirmation. For an AlarmInstance to be reset it must have been in Alarm, and returned to normal and have been acknowledged/confirmed prior to being reset.

Table 47specifies the AddressSpacerepresentation for the Reset Method.

Table 47– Reset Method AddressSpace definition

Attribute

Value

BrowseName

Reset

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionResetEventType

Defined in 5.10.11

ConformanceUnits

A & C Latched State

If Auditingis supported, this Methodshall generate an Eventof AuditConditionResetEventTypefor all invocations of the Method.

TheReset2 Methodextends the Reset Method, by adding an optional Comment. For other functionality see the Reset Method definition.

Signature

Reset2(

[in] LocalizedTextComment

);

The parameters are defined in Table 48.

Table 48– Reset2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Condition.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Methodresult codes in Table 49(defined in Callservice)

Table 49– Reset2 result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Bad_InvalidState

The Alarminstance was not latched or is still active or still requires acknowledgement / confirmation. For an AlarmInstance to be reset it must have been in Alarm, and returned to normal and have been acknowledged/confirmed prior to being reset.

Table 50specifies the AddressSpacerepresentation for the Reset2 Method.

Table 50– Reset2 Method AddressSpace definition

Attribute

Value

BrowseName

Reset2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionResetEventType

Defined in 5.10.11

ConformanceUnits

A & C Latched State

If Auditingis supported, this Methodshall generate an Eventof AuditConditionResetEventTypefor all invocations of the Method.

TheSilence Methodis used silence a specific Alarminstance. It is only available on an instance of an AlarmConditionTypethat also exposes the SilenceState. Normally, the NodeIdof the Objectinstance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the Silence Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

Silence();

This method has no arguments.

Methodresult codes in Table 51(defined in Callservice)

Table 51– Silence result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

If the instance is not currently in an audible state, the command is ignored.

Table 52specifies the AddressSpacerepresentation for the Silence Method.

Table 52– Silence Method AddressSpace definition

Attribute

Value

BrowseName

Silence

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionSilenceEventType

Defined in 5.10.10

ConformanceUnits

A & C Silencing

If Auditingis supported, this Methodshall generate an Eventof AuditConditionSilenceEventTypefor all invocations of the Method.

TheSuppress Methodis used to suppress a specific Alarminstance. It is only available on an instance of an AlarmConditionTypethat also exposes the SuppressedState. This Methodcan be used to change the SuppressedStateof an Alarmand overwrite any suppression caused by an associated AlarmSuppressionGroup. This Methodworks in parallel with any suppression triggered by an AlarmSuppressionGroup, in that if the Methodis used to suppress an Alarm, an AlarmSuppressionGroupmight clear the suppression.

Normally, the NodeIdof the object instance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the Suppress Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

Suppress();

Method Result Codes in Table 53(defined in Call Service)

Table 53– Suppress result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectId provided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

Suppress Methodapplies to an Alarminstance, even if it is not currently active.

Table 54specifies the AddressSpacerepresentation for the Suppress Method.

Table 54– Suppress Method AddressSpace definition

Attribute

Value

BrowseName

Suppress

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionSuppressionEventType

Defined in 5.10.4

ConformanceUnits

A & C Suppression by Operator

If Auditingis supported, this Methodshall generate an Eventof AuditConditionSuppressionEventTypefor all invocations of the Method.

TheSuppress2 Methodextends the Suppress Method, by adding an optional Comment. For other functionality see the Suppress Method definition.

Signature

Suppress2(

[in] LocalizedTextComment

);

The parameters are defined in Table 55

Table 55– Suppress2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Condition.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Table 56specifies the AddressSpacerepresentation for the Suppress2 Method.

Table 56– Suppress2 Method AddressSpace definition

Attribute

Value

BrowseName

Suppress2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionSuppressionEventType

Defined in 5.10.4

ConformanceUnits

A & C Suppression2 by Operator

If Auditingis supported, this Methodshall generate an Eventof AuditConditionSuppressionEventTypefor all invocations of the Method.

TheUnsuppress Methodis used to clear the SuppressedStateof a specific Alarminstance. It is only available on an instance of an AlarmConditionTypethat also exposes the SuppressedState. This Methodcan be used to overwrite any suppression cause by an associated AlarmSuppressionGroup. This Methodworks in parallel with any suppression triggered by an AlarmSuppressionGroup, in that if the Methodis used to clear the SuppressedStateof an Alarm, any change in an AlarmSuppressionGroup might again suppress the Alarm.

Normally, the NodeIdof the ObjectInstance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the Unsuppress Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

Unsuppress();

Method Result Codes in Table 57(defined in Call Service).

Table 57– Unsuppress result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

Unsuppress Methodapplies to an Alarminstance, even if it is not currently active.

Table 58specifies the AddressSpacerepresentation for the Suppress Method.

Table 58– Unsuppress Method AddressSpace definition

Attribute

Value

BrowseName

Unsuppress

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionSuppressionEventType

Defined in 5.10.4

ConformanceUnits

A & C Suppression by Operator

If Auditingis supported, this Methodshall generate and event of AuditConditionSuppressionEventTypefor all invocations of the Method.

TheUnsuppress2 Methodextends the Suppress Method, by adding an optional Comment. For other functionality see the Unsuppress Method definition.

Signature

Unsuppress2(

[in] LocalizedTextComment

);

The parameters are defined in Table 59.

Table 59– Unsuppress2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Condition.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Unsuppress2 Methodapplies to an Alarminstance, even if it is not currently active.

Table 60specifies the AddressSpacerepresentation for the Unsuppress2 Method.

Table 60– Unsuppress2 Method AddressSpace definition

Attribute

Value

BrowseName

Unsuppress2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionSuppressionEventType

Defined in 5.10.4

ConformanceUnits

A & C Suppression2 by Operator

If Auditingis supported, this Methodshall generate an Eventof AuditConditionSuppressionEventTypefor all invocations of the Method.

TheRemoveFromService Methodis used to suppress a specific Alarminstance. It is only available on an instance of an AlarmConditionType that also exposes the OutOfServiceState. Normally, the NodeIdof the object instance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the RemoveFromService Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

RemoveFromService();

Methodresult codes in Table61 (defined in Call Service).

Table 61– RemoveFromService result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

Instances that do not expose the OutOfService Stateshall reject RemoveFromServicecalls. RemoveFromService Methodapplies to an Alarminstance, even if it is not currently in the Active State.

Table 62specifies the AddressSpacerepresentation for the RemoveFromService Method.

Table 62– RemoveFromService Method AddressSpace definition

Attribute

Value

BrowseName

RemoveFromService

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionOutOfServiceEventType

Defined in 5.10.12

ConformanceUnits

A & C OutOfService

If Auditingis supported, this Methodshall generate an Eventof AuditConditionOutOfServiceEventTypefor all invocations of the Method.

TheRemoveFromService2 Methodextends the RemoveFromService Method, by adding an optional Comment. For other functionality see the RemoveFromService Method definition.

Signature

RemoveFromService2(

[in] LocalizedTextComment

);

The parameters are defined in Table 63

Table 63– RemoveFromService2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Condition.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Methodresult codes in Table 64(defined in Call Service)

Table 64– RemoveFromService2 result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

Instances that do not expose the OutOfService Stateshall reject RemoveFromService2calls. RemoveFromService2 Methodapplies to an Alarminstance, even if it is not currently in the Active State.

Table 65specifies the AddressSpacerepresentation for the RemoveFromService2 Method.

Table 65– RemoveFromService2 Method AddressSpace definition

Attribute

Value

BrowseName

RemoveFromService2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionOutOfServiceEventType

Defined in 5.10.12

ConformanceUnits

A & C OutOfService2

If Auditingis supported, this Methodshall generate an Eventof AuditConditionOutOfServiceEventTypefor all invocations of the Method.

ThePlaceInService Methodis used to set the OutOfServiceState to False of a specific Alarminstance. It is only available on an instance of an AlarmConditionTypethat also exposes the OutOfServiceState. Normally, the NodeIdof the ObjectInstance is passed as the ObjectIdto the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, Serversshall allow Clientsto call the PlaceInService Methodby specifying ConditionIdas the ObjectId.The Methodcannot be called with an ObjectIdof the AlarmConditionType Node.

Signature

PlaceInService();

Methodresult codes in Table 66(defined in Call Service).

Table 66– PlaceInService result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

The PlaceInService Methodapplies to an Alarminstance, even if it is not currently in the Active State.

Table 67specifies the AddressSpacerepresentation for the PlaceInService Method.

Table 67– PlaceInService Method AddressSpace definition

Attribute

Value

BrowseName

PlaceInService

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionOutOfServiceEventType

Defined in 5.10.12

ConformanceUnits

A & C OutOfService

If Auditingis supported, this Methodshall generate an Eventof AuditConditionOutOfServiceEventTypefor all invocations of the Method.

ThePlaceInService2 Methodextends the PlaceInService Method, by adding an optional Comment. For other functionality see the PlaceInService Method definition.

Signature

PlaceInService2(

[in] LocalizedTextComment

);

The parameters are defined in Table 68.

Table 68– PlaceInService2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Condition.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Methodresult codes in Table 69(defined in Call Service)

Table 69– PlaceInService2 result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

The PlaceInService2 Methodapplies to an Alarminstance, even if it is not currently in the Active State.

Table 70specifies the AddressSpacerepresentation for the PlaceInService2 Method.

Table 70– PlaceInService2 Method AddressSpace definition

Attribute

Value

BrowseName

PlaceInService2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionOutOfServiceEventType

Defined in 5.10.12

ConformanceUnits

A & C OutOfService2

If Auditingis supported, this Methodshall generate an Eventof AuditConditionOutOfServiceEventTypefor all invocations of the Method.

TheGetGroupMemberships Methodis used to find the list of AlarmGroups that this alarm is in.

Signature

GetGroupMemberships(

[out] NodeId[] Group

);

Methodresult codes in Table71 (defined in Call Service)

Table 71– GetGroupMemberships result codes

Result Code

Description

Bad_MethodInvalid

The MethodIdprovided does not correspond to the ObjectIdprovided. See 10000-4for the general description of this result code.

Bad_NodeIdInvalid

Used to indicate that the specified ObjectIdis not valid or that the Methodwas called on the AlarmConditionType Node.

See 10000-4for the general description of this result code.

Comments

The GetGroupMemberships Methodapplies to an Alarminstance, even if it is not currently in the Active State.

Table 72specifies the AddressSpacerepresentation for the GetGroupMemberships Method.

Table 72– GetGroupMemberships Method AddressSpace definition

Attribute

Value

BrowseName

GetGroupMemberships

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

OutputArguments

Argument[]

PropertyType

Mandatory

ConformanceUnits

A & C GetGroupMemberships

The ShelvedStateMachineTypedefines a sub-state machine that represents an advanced Alarm filtering model. This model is illustrated in Figure 17.

The state model supports two types of Shelving: OneShotShelvingand TimedShelving. They are illustrated in Figure 16. The illustration includes the allowed transitions between the various sub-states. Shelvingis an Operatorinitiated activity.

In OneShotShelving, a user requests that an Alarmbe Shelvedfor its current Activestate or if not Activeits next Activestate. This type of Shelvingis typically used when an Alarmis continually occurring on a boundary (i.e. a Conditionis jumping between High Alarmand HighHigh Alarm, always in the Activestate). The OneShotShelvingwill automatically clear when an Alarmreturns to an inactive state. Another use for this type of Shelvingis for a plant area that is shutdown i.e. a long running Alarmsuch as a low level Alarmfor a tank that is not in use. When the tank starts operation again the Shelvingstate will automatically clear.

In TimedShelving, a user specifies that an Alarmbe shelved for a fixed time period. This type of Shelvingis quite often used to block nuisance Alarms. For example, an Alarmthat occurs more than 10 times in a minute may get shelved for a few minutes. The Alarmis shelved for the time period, no matter how many transitions the Alarmhas between Activestate and Inactivestate.

In all states, the Unshelvecan be called to cause a transition to the Unshelve state; this includes Un-shelvinganAlarmthat is in the TimedShelvestate before the time has expired and the OneShotShelvestate without a transition to an inactive state.In the event of a restart of an AlarmManager, the AlarmManagershould recover the ShelvedStateMachine.If the system cannot determine if the state of the ShelvedStateMachinefor a given alarm instance, the ShelvedStateMachineshall be set to Unshelved.

All but two transitions are caused by Methodcalls as illustrated in Figure 16. The “Time Expired” transition is simply a system generated transition that occurs when the time value defined as part of the “Timed Shelved Call” has expired. The “Any Transition Occurs” transition is also a system generated transition; this transition is generated when the Conditiongoes to an inactive state.

image019.png

Figure 16– Shelve state transitions

The ShelvedStateMachineTypeincludes a hierarchy of sub-states. It supports all transitions between Unshelved, OneShotShelvedand TimedShelved.

The state machine is illustrated in Figure 17and formally defined in Table 73.

image020.png

Figure 17– ShelvedStateMachineType model

Table 73– ShelvedStateMachineType definition

Attribute

Value

BrowseName

ShelvedStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FiniteStateMachineType defined in 10000-16

HasProperty

Variable

UnshelveTime

Duration

PropertyType

Mandatory

HasComponent

Object

Unshelved

StateType

HasComponent

Object

TimedShelved

StateType

HasComponent

Object

OneShotShelved

StateType

HasComponent

Object

UnshelvedToTimedShelved

TransitionType

HasComponent

Object

TimedShelvedToUnshelved

TransitionType

HasComponent

Object

TimedShelvedToOneShotShelved

TransitionType

HasComponent

Object

UnshelvedToOneShotShelved

TransitionType

HasComponent

Object

OneShotShelvedToUnshelved

TransitionType

HasComponent

Object

OneShotShelvedToTimedShelved

TransitionType

HasComponent

Method

TimedShelve

Defined in Clause 5.8.17.4

Mandatory

HasComponent

Method

OneShotShelve

Defined in Clause 5.8.17.6

Mandatory

HasComponent

Method

Unshelve

Defined in Clause 5.8.17.2

Mandatory

HasComponent

Method

TimedShelve2

Defined in Clause 5.8.17.5

Optional

HasComponent

Method

OneShotShelve2

Defined in Clause 5.8.17.7

Optional

HasComponent

Method

Unshelve2

Defined in Clause 5.8.17.3

Optional

ConformanceUnits

A & C Shelving

UnshelveTimespecifies the remaining time in milliseconds until the Alarmautomatically transitions into the Un-shelvedstate. For the TimedShelvedstate this time is initialised with the ShelvingTimeargument of the TimedShelve Methodcall. For the OneShotShelvedstate the UnshelveTimewill be initialized to the Valueof MaxTimeShelved Propertyif it is present otherwise it is initialized to the maximum Duration.

This FiniteStateMachinesupports three Activestates; Unshelved, TimedShelvedand OneShotShelved. It also supports six transitions. The states and transitions are described in Table 74. This FiniteStateMachinealso supports three Methods; TimedShelve, OneShotShelveand Unshelve.

Table 74– ShelvedStateMachineType Additional References

SourceBrowsePath

References

IsForward

TargetBrowsePath

UnshelvedToTimedShelved

FromState

True

Unshelved

ToState

True

TimedShelved

HasEffect

True

AlarmConditionType

HasCause

True

TimedShelve

HasCause

True

TimedShelve2

UnshelvedToOneShotShelved

FromState

True

Unshelved

ToState

True

OneShotShelved

HasEffect

True

AlarmConditionType

HasCause

True

OneShotShelve

HasCause

True

OneShotShelve2

TimedShelvedToUnshelved

FromState

True

TimedShelved

ToState

True

Unshelved

HasEffect

True

AlarmConditionType

TimedShelvedToOneShotShelved

FromState

True

TimedShelved

ToState

True

OneShotShelved

HasEffect

True

AlarmConditionType

HasCause

True

OneShotShelve

HasCause

True

OneShotShelve2

OneShotShelvedToUnshelved

FromState

True

OneShotShelved

ToState

True

Unshelved

HasEffect

True

AlarmConditionType

OneShotShelvedToTimedShelved

FromState

True

OneShotShelved

ToState

True

TimedShelved

HasEffect

True

AlarmConditionType

HasCause

True

TimedShelve

HasCause

True

TimedShelve2

The component Variablesof the ShelvedStateMachineTypehave additional Attributesdefined in Table 75.

Table 75 ShelvedStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

Unshelved

0:StateNumber

1

TimedShelved

0:StateNumber

2

OneShotShelved

0:StateNumber

3

UnshelvedToTimedShelved

0:TransitionNumber

12

TimedShelvedToUnshelved

0:TransitionNumber

21

TimedShelvedToOneShotShelved

0:TransitionNumber

23

UnshelvedToOneShotShelved

0:TransitionNumber

13

OneShotShelvedToUnshelved

0:TransitionNumber

31

OneShotShelvedToTimedShelved

0:TransitionNumber

32

TheUnshelve Methodsets the instance of AlarmConditionTypeto the Unshelvedstate. Normally, the MethodIdfound in the Shelvingchild of the Conditioninstance and the NodeIdof the Shelvingobject as the ObjectIdare passed to the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, all Serversshall also allow Clientsto call the Unshelve Methodby specifying ConditionIdas the ObjectId where the ConditionIdis the Conditionthat has Shelvingchild.The Methodcannot be called with an ObjectIdof the ShelvedStateMachineType Node.

Signature

Unshelve( );

Method Result Codes in Table 76(defined in Call Service)

Table 76– Unshelve result codes

Result Code

Description

Bad_ConditionNotShelved

See Table 137for the description of this result code.

Table 77specifies the AddressSpacerepresentation for the Unshelve Method.

Table 77– Unshelve Method AddressSpace definition

Attribute

Value

BrowseName

Unshelve

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

TheUnshelve2 Method extends the Unshelve Method, by adding an optional Comment. For other functionality see the Unshelve Method definition.

Signature

Unshelve2(

[in] LocalizedTextComment

);

The parameters are defined in Table 78

Table 78– Unshelve2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Conditions.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Method Result Codes in Table 79(defined in Call Service)

Table 79– Unshelve2 result codes

Result Code

Description

Bad_ConditionNotShelved

See Table 137for the description of this result code.

Table 80specifies the AddressSpacerepresentation for the Unshelve2 Method.

Table 80– Unshelve2 Method AddressSpace definition

Attribute

Value

BrowseName

Unshelve2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving2

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

TheTimedShelve Methodsets the instance of AlarmConditionTypeto the TimedShelvedstate (parameters are defined in Table 81and result codes are described in Table 82). Normally, the MethodIdfound in the Shelvingchild of the Conditioninstance and the NodeIdof the Shelvingobject as the ObjectIdare passed to the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, all Serversshall also allow Clientsto call the TimedShelve Methodby specifying ConditionIdas the ObjectIdwhere the ConditionIdis the Conditionthat has the Shelvingchild.The Methodcannot be called with an ObjectIdof the ShelvedStateMachineType Node.

This Methodcan be called on any ConditionId, even if it is not active. The timer will start on Methodinvocation. The Alarmmay go active and inactive multiple times during this Duration, but it will remain shelved for the Duration, unless it is changed to a different Shelving State.

Signature

TimedShelve(

[in] Duration ShelvingTime

);

The parameters are defined in Table 81

Table 81– TimedShelve parameters

Argument

Description

ShelvingTime

Specifies a fixed time for which the Alarmis to be shelved. The Servermay refuse the provided duration. If a MaxTimeShelved Property exist on the Alarmthan the Shelvingtime shall be less than or equal to the value of this Property.

Method Result Codes (defined in Call Service)

Table 82– TimedShelve result codes

Result Code

Description

Bad_ConditionAlreadyShelved

See Table 137for the description of this result code.

The Alarmis already in TimedShelvedstate and the system does not allow a reset of the shelved timer.

Bad_ShelvingTimeOutOfRange

See Table 137for the description of this result code.

Comments

Shelvingfor some time is quite often used to block nuisance Alarms. For example, an Alarmthat occurs more than 10 times in a minute may get shelved for a few minutes.

In some systems the length of time covered by this duration may be limited and the Servermay generate an error refusing the provided duration. This limit may be exposed as the MaxTimeShelved Property.

Table 83specifies the AddressSpacerepresentation for the TimedShelve Method.

Table 83– TimedShelve Method AddressSpace definition

Attribute

Value

BrowseName

TimedShelve

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

TheTimedShelve Methodextends the TimedShelve Method, by adding an optional Comment. For other functionality see the TimedShelve Method definition.

Signature

TimedShelve2(

[in] Duration ShelvingTime

[in] LocalizedTextComment

);

The parameters are defined in Table 84.

Table 84– TimedShelve2 parameters

Argument

Description

ShelvingTime

Specifies a fixed time for which the Alarmis to be shelved. The Servermay refuse the provided duration. If a MaxTimeShelved Property exist on the Alarmthan the Shelvingtime shall be less than or equal to the value of this Property.

Comment

A localized text to be applied to the Condition.

MethodResult Codes in Table 85(defined in Call Service)

Table 85– TimedShelve2 result codes

Result Code

Description

Bad_ConditionAlreadyShelved

See Table 137for the description of this result code.

The Alarmis already in TimedShelvedstate and the system does not allow a reset of the shelved timer.

Bad_ShelvingTimeOutOfRange

See Table 137for the description of this result code.

Table 86specifies the AddressSpacerepresentation for the TimedShelve2 Method.

Table 86– TimedShelve2 Method AddressSpace definition

Attribute

Value

BrowseName

TimedShelve2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving2

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

TheOneShotShelve Methodsets the instance of AlarmConditionTypeto the OneShotShelvedstate. Normally, the MethodIdfound in the Shelvingchild of the Conditioninstance and the NodeIdof the Shelvingobject as the ObjectIdare passed to the Call Service. However, some Serversdo not expose Conditioninstances in the AddressSpace. Therefore, all Serversshall also allow Clientsto call the OneShotShelve Methodby specifying ConditionIdas the ObjectIdwhere the ConditionIdis the Conditionthat has the Shelvingchild.The Methodcannot be called with an ObjectIdof the ShelvedStateMachineType Node. This Methodcan be called on any ConditionId, even if it is not active.

Signature

OneShotShelve( );

Method Result Codes are defined in Table 87(status code field is defined in CallService)

Table 87– OneShotShelve result codes

Result Code

Description

Bad_ConditionAlreadyShelved

See Table 137for the description of this result code.

The Alarmis already in OneShotShelvedstate.

Table 88specifies the AddressSpacerepresentation for the OneShotShelve Method.

Table 88– OneShotShelve Method AddressSpace definition

Attribute

Value

BrowseName

OneShotShelve

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

TheOneShotShelve2 Method

Signature

OneShotShelve2(

[in] LocalizedTextComment

);

The parameters are defined in Table 89.

Table 89– OneShotShelve2 Method parameters

Argument

Description

Comment

A localized text to be applied to the Conditions.

If the Commentargument is NULL (both locale and text are empty) it will be ignored and any existing comments will remain unchanged. If the comment is to be reset, an empty text with a locale shall be provided.

Method Result Codes are defined in Table 90(status code field is defined in CallService)

Table 90– OneShotShelve2 result codes

Result Code

Description

Bad_ConditionAlreadyShelved

See Table 137for the description of this result code.

The Alarmis already in OneShotShelvedstate.

Table 91specifies the AddressSpacerepresentation for the OneShotShelve2 Method.

Table 91– OneShotShelve2 Method AddressSpace definition

Attribute

Value

BrowseName

OneShotShelve2

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

AlwaysGeneratesEvent

ObjectType

AuditConditionShelvingEventType

Defined in 5.10.7

ConformanceUnits

A & C Shelving2

If Auditingis supported, this Methodshall generate an Eventof AuditConditionShelvingEventTypefor all invocations of the Method.

Alarmscan be modelled with multiple exclusive sub-states and assigned limits or they may be modelled with nonexclusive limits that can be used to group multiple states together.

The LimitAlarmTypeis used to provide a base Typefor AlarmConditionTypeswith multiple limits. The LimitAlarmTypeis illustrated in Figure 18.

image021.png

Figure 18– LimitAlarmType

The LimitAlarmTypeis formally defined in Table 92.

Table 92– LimitAlarmType definition

Attribute

Value

BrowseName

LimitAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AlarmConditionType defined in clause 5.8.2.

HasSubtype

ObjectType

ExclusiveLimitAlarmType

Defined in Clause 5.8.19.3

HasSubtype

ObjectType

NonExclusiveLimitAlarmType

Defined in Clause 5.8.20

HasProperty

Variable

HighHighLimit

Double

PropertyType

Optional

HasProperty

Variable

HighLimit

Double

PropertyType

Optional

HasProperty

Variable

LowLimit

Double

PropertyType

Optional

HasProperty

Variable

LowLowLimit

Double

PropertyType

Optional

HasProperty

Variable

BaseHighHighLimit

Double

PropertyType

Optional

HasProperty

Variable

BaseHighLimit

Double

PropertyType

Optional

HasProperty

Variable

BaseLowLimit

Double

PropertyType

Optional

HasProperty

Variable

BaseLowLowLimit

Double

PropertyType

Optional

HasProperty

Variable

SeverityHighHigh

UInt16

PropertyType

Optional

HasProperty

Variable

SeverityHigh

UInt16

PropertyType

Optional

HasProperty

Variable

SeverityLow

UInt16

PropertyType

Optional

HasProperty

Variable

SeverityLowLow

UInt16

PropertyType

Optional

HasProperty

Variable

HighHighDeadband

Double

PropertyType

Optional

HasProperty

Variable

HighDeadband

Double

PropertyType

Optional

HasProperty

Variable

LowDeadband

Double

PropertyType

Optional

HasProperty

Variable

LowLowDeadband

Double

PropertyType

Optional

ConformanceUnits

A & C Exclusive Limit

A & C Non-Exclusive Limit

Four optional limits are defined that configure the states of the derived limit AlarmTypes. These Propertiesshall be set for any Alarmlimits that are exposed by the derived limit Alarmtypes. These Propertiesare listed as optional but at least one is required. For cases where an underlying system cannot provide the actual value of a limit, the limit Propertyshall still be provided, but will have its AccessLevelset to not readable. It is assumed that the limits are described using the same Engineering Unit that is assigned to the variable that is the source of the Alarm. For Rate of change limit Alarms, it is assumed this rate is units per second unless otherwise specified. The limits shall follow the following inequality HighHigh > High > Low > LowLow. If Deadband properties are provided then:

  • HighHighLimit - HighHighDeadband > HighLimit
  • HighLimit – HighDeadband > LowLimit
  • LowLimit + LowDeadband < HighLimit
  • LowLowLimit + LowLowDeadband < LowLimit

image022.png

Four optional base limits are defined that are used for AdaptiveAlarming. They contain the configured Alarmlimit. If a Serversupports AdaptiveAlarmingfor Alarmlimits, the corresponding base Alarmlimit shall be provided for any limits that are exposed by the derived limit Alarm types. The value of this property is the value of the limit to which an AdaptiveAlarmcan be reset if any algorithmic changes need to be discarded.

The Alarmlimits listed may cause an Alarmto be generated when a value equals the limit or it may generate the Alarmwhen the limit is exceeded, (i.e. the Value is above the limit for HighLimitand below the limit for LowLimit). The exact behaviour when the value is equal to the limit is Serverspecific.

The Variablethat is the source of the LimitAlarmType Alarmshall be a scalar. This LimitAlarmTypecan be subtyped if the Variablethat is the source is an array. The subtype shall describe the expected behaviour with respect to limits and the array values. Some possible options:

  • if any element of the array exceeds the limit an Alarmis generated,
  • if all elements exceed the limit an Alarmis generated,
  • the limits may also be an array, in which case if any array limit is exceeded by the corresponding source array element, an Alarmis generated.

The four optional severity Properties, if defined, provided the severity for each of the limits.

The four optional deadband Properties, if they are defined, are used to delay the return to normal until the value is within the limit by the value of the deadband. For example, if a Value exceeds a HighLimit of 20, and there is a HighDeadband define of 1, the value will remain in alarm until the Value drops below 19. An Alarmdeadband can be used to limit Alarmsin a system where values may bounce or have some noise (i.e. the value is jumping up and down by 0.2). They keep the Alarmfrom being reactivated until it has dropped enough to not retrigger by noise.

In the event of a restart of an AlarmManager, the AlarmManagershall recover the LimitAlarm state, this also applies to all subtypes.

This clause describes the state machine and the base AlarmType behaviour for AlarmConditionTypeswith multiple mutually exclusive limits.

The ExclusiveLimitStateMachineTypedefines the state machine used by AlarmConditionTypesthat handle multiple mutually exclusive limits. It is illustrated in Figure 19.

image023.png

Figure 19– ExclusiveLimitStateMachineType

It is created by extending the FiniteStateMachineType. It is formally defined in Table 93and the state transitions are described in Table 94.

Table 93– ExclusiveLimitStateMachineType definition

Attribute

Value

BrowseName

ExclusiveLimitStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FiniteStateMachineType

HasComponent

Object

HighHigh

StateType

HasComponent

Object

High

StateType

HasComponent

Object

Low

StateType

HasComponent

Object

LowLow

StateType

HasComponent

Object

LowToLowLow

TransitionType

HasComponent

Object

LowLowToLow

TransitionType

HasComponent

Object

HighToHighHigh

TransitionType

HasComponent

Object

HighHighToHigh

TransitionType

ConformanceUnits

A & C Exclusive Limit

Table 94– ExclusiveLimitStateMachineType Additional References

SourceBrowsePath

References

IsForward

TargetBrowsePath

HighHighToHigh

FromState

True

HighHigh

ToState

True

High

HasEffect

True

AlarmConditionType

HighToHighHigh

FromState

True

High

ToState

True

HighHigh

HasEffect

True

AlarmConditionType

LowLowToLow

FromState

True

LowLow

ToState

True

Low

HasEffect

True

AlarmConditionType

LowToLowLow

FromState

True

Low

ToState

True

LowLow

HasEffect

True

AlarmConditionType

The component Variablesof the ExclusiveLimitStateMachineTypehave additional Attributesdefined in Table 95.

Table 95 ExclusiveLimitStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

HighHigh

0:StateNumber

1

High

0:StateNumber

2

Low

0:StateNumber

3

LowLow

0:StateNumber

4

LowToLowLow

0:TransitionNumber

34

LowLowToLow

0:TransitionNumber

43

HighToHighHigh

0:TransitionNumber

21

HighHighToHigh

0:TransitionNumber

12

The ExclusiveLimitStateMachineTypedefines the sub state machine that represents the actual level of a multilevel Alarm when it is in the Activestate. The sub state machine defined here includes High, Low, HighHighand LowLowstates. This model also includes in its transition state a series of transition to and from a parent state, the inactive state. This state machine as it is defined shall be used as a sub state machine for a state machine which has an Activestate. This Activestate could be part of a “level” Alarmor “deviation” Alarmor any other Alarmstate machine.

The LowLow, Low, High, HighHighare typical for many industries. Vendors can introduce sub-state models that include additional limits; they may also omit limits in an instance. If a model omits states or transitions in the StateMachine, it is recommended that they provide the optional Property AvailableStatesand/or AvailableTransitions(see 10000-16).

The ExclusiveLimitAlarmTypeis used to specify the common behaviour for Alarm Typeswith multiple mutually exclusive limits. The ExclusiveLimitAlarmTypeis illustrated in Figure 20.

image024.png

Figure 20– ExclusiveLimitAlarmType

The ExclusiveLimitAlarmTypeis formally defined in Table 96.

Table 96– ExclusiveLimitAlarmType definition

Attribute

Value

BrowseName

ExclusiveLimitAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the LimitAlarmType defined in clause 5.8.18.

HasSubtype

ObjectType

ExclusiveLevelAlarmType

Defined in Clause 5.8.21.3

HasSubtype

ObjectType

ExclusiveDeviationAlarmType

Defined in Clause 5.8.22.3

HasSubtype

ObjectType

ExclusiveRateOfChangeAlarmType

Defined in Clause 5.8.23.3

HasComponent

Object

LimitState

ExclusiveLimitStateMachineType

Mandatory

ConformanceUnits

A & C Exclusive Limit

The LimitStateis a sub state of the ActiveState and has an IsTrueSubStateOfreference to the ActiveState. The LimitStaterepresents the actual limit that is violated in an instance of ExclusiveLimitAlarmType. When the ActiveStateof the AlarmConditionTypeis inactive the LimitStateshall not be available and shall return NULL on read. Any Eventsthat subscribe for fields from the LimitStatewhen the ActiveStateis inactive shall return a NULL for these unavailable fields.

The NonExclusiveLimitAlarmTypeis used to specify the common behaviour for Alarm Typeswith multiple non-exclusive limits. The NonExclusiveLimitAlarmTypeis illustrated in Figure 21.

image025.png

Figure 21– NonExclusiveLimitAlarmType

The NonExclusiveLimitAlarmTypeis formally defined in Table 97and Table 98.

Table 97– NonExclusiveLimitAlarmType definition

Attribute

Value

BrowseName

NonExclusiveLimitAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the LimitAlarmType defined in clause 5.8.18.

HasSubtype

ObjectType

NonExclusiveLevelAlarmType

Defined in Clause 5.8.21.2

HasSubtype

ObjectType

NonExclusiveDeviationAlarmType

Defined in Clause 5.8.22.2

HasSubtype

ObjectType

NonExclusiveRateOfChangeAlarmType

Defined in Clause 5.8.23.2

HasComponent

Variable

HighHighState

LocalizedText

TwoStateVariableType

Optional

HasComponent

Variable

HighState

LocalizedText

TwoStateVariableType

Optional

HasComponent

Variable

LowState

LocalizedText

TwoStateVariableType

Optional

HasComponent

Variable

LowLowState

LocalizedText

TwoStateVariableType

Optional

ConformanceUnits

A & C Non-Exclusive Limit

Table 98– NonExclusiveLimitAlarmType Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

HighHighState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

HighHighState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

HighState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

HighState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

LowState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

LowState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

LowLowState

HasProperty

Variable

TrueState

LocalizedText

PropertyType

LowLowState

HasProperty

Variable

FalseState

LocalizedText

PropertyType

The emptyOthers” column indicates that no ModellingRuleapplies.

HighHighState, HighState, LowState, and LowLowStaterepresent the non-exclusive states. As an example, it is possible that both HighStateand HighHighStateare in their True state. Vendors may choose to support any subset of these states. Recommended state names are described in A.1.

Four optional limits are defined that configure these states. At least the HighStateor the LowStateshall be provided even though all states are optional. It is implied by the definition of a HighStateand a LowState, that these groupings are mutually exclusive. A value cannot exceed both a HighStatevalue and a LowStatevalue simultaneously.

A levelAlarm is commonly used to report when a limit is exceeded. It typically relates to an instrument – e.g. a temperature meter. The level Alarmbecomes active when the observed value is above a high limit or below a low limit.

The NonExclusiveLevelAlarmTypeis a special level Alarmutilized with one or more non-exclusive states. If for example both the High and HighHighstates need to be maintained as active at the same time then an instance of NonExclusiveLevelAlarmTypeshould be used.

The NonExclusiveLevelAlarmTypeis based on the NonExclusiveLimitAlarmType. It is formally defined in Table 99.

Table 99– NonExclusiveLevelAlarmType definition

Attribute

Value

BrowseName

NonExclusiveLevelAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the NonExclusiveLimitAlarmType defined in clause 5.8.20.

ConformanceUnits

A & C Non-Exclusive Level

No additional Propertiesto the NonExclusiveLimitAlarmTypeare defined.

The ExclusiveLevelAlarmTypeis a special level Alarmutilized with multiple mutually exclusive limits. It is formally defined in Table 100.

Table 100– ExclusiveLevelAlarmType definition

Attribute

Value

BrowseName

ExclusiveLevelAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Inherits the Properties of the ExclusiveLimitAlarmType defined in clause 5.8.19.3.

ConformanceUnits

A & C Exclusive Level

No additional Propertiesto the ExclusiveLimitAlarmTypeare defined.

A deviation Alarmis commonly used to report an excess deviation between a desired set point level of a process value and an actual measurement of that value. The deviation Alarmbecomes active when the deviation exceeds or drops below a defined limit.

For example, if a set point had a value of 10, a high deviation Alarmlimit of 2 and a low deviation Alarmlimit of -1 then the low sub state is entered if the process value drops below 9; the high sub state is entered if the process value raises above 12. If the set point were changed to 11 then the new deviation values would be 10 and 13 respectively. The set point can be fixed by a configuration, adjusted by an Operatoror it can be adjusted by an algorithm, the actual functionality exposed by the set point is application specific. The deviation Alarmcan also be used to report a problem between a redundant data source where the difference between the primary source and the secondary source exceeds the included limit. In this case, the SetpointNodewould point to the secondary source.

The LowLimitand LowLowLimitshall be negative, indicating a number below the target value and the HighLimitand HighHighLimitshall be positive, indicating a number above the target value. If provided, the limits shall not be zero and shall follow these rules:

For example, if the LowLimitis -2 then a LowLowLimitof -1 would not be allowed, but a LowLowLimitof -3 would be allowed.

The NonExclusiveDeviationAlarmTypeis a special level Alarmutilized with one or more non-exclusive states. If for example both the High and HighHigh states need to be maintained as active at the same time then an instance of NonExclusiveDeviationAlarmTypeshould be used.

The NonExclusiveDeviationAlarmTypeis based on the NonExclusiveLimitAlarmType. It is formally defined in Table 101.

Table 101– NonExclusiveDeviationAlarmType definition

Attribute

Value

BrowseName

NonExclusiveDeviationAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the NonExclusiveLimitAlarmType defined in clause 5.8.20.

HasProperty

Variable

SetpointNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

BaseSetpointNode

NodeId

PropertyType

Optional

ConformanceUnits

A & C Non-Exclusive Deviation

The SetpointNode Propertyprovides the NodeIdof the set point used in the deviation calculation. In cases where the Alarmis generated by an underlying system and if the Variableis not in the AddressSpace, a NULL NodeIdshall be provided.

The BaseSetpointNode Propertyprovides the NodeIdof the original or base setpoint. The value of this node is the value of the setpoint to which an AdaptiveAlarmcan be reset if any algorithmic changes need to be discarded. The value of this node usually contains the originally configured set point.

The ExclusiveDeviationAlarmTypeis utilized with multiple mutually exclusive limits. It is formally defined in Table 102.

Table 102– ExclusiveDeviationAlarmType definition

Attribute

Value

BrowseName

ExclusiveDeviationAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Inherits the Propertiesof the ExclusiveLimitAlarmTypedefined in clause 5.8.19.3.

HasProperty

Variable

SetpointNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

BaseSetpointNode

NodeId

PropertyType

Optional

ConformanceUnits

A & C Exclusive Deviation

The SetpointNode Propertyprovides the NodeIdof the set point used in the Deviationcalculation. If this Variableis not in the AddressSpace, a NULL NodeIdshall be provided.

The BaseSetpointNode Propertyprovides the NodeIdof the original or base setpoint. The value of this node is the value of the set point to which an AdaptiveAlarmcan be reset if any algorithmic changes need to be discarded. The value of this node usually contains the originally configured set point.

A Rateof Change Alarmis commonly used to report an unusual change or lack of change in a measured value related to the speed at which the value has changed. The Rateof Change Alarmbecomes active when the rate at which the value changes exceeds or drops below a defined limit.

A Rateof Changeis measured in some time unit, such as seconds or minutes and some unit of measure such as percent or meter. For example, a tank may have a High limit for the Rateof Changeof its level (measured in meters) which would be 4 meters per minute. If the tank level changes at a rate that is greater than 4 meters per minute then the High sub state is entered.

The NonExclusiveRateOfChangeAlarmTypeis a special level Alarmutilized with one or more non-exclusive states. If for example both the High and HighHigh states need to be maintained as active at the same time this AlarmConditionTypeshould be used

The NonExclusiveRateOfChangeAlarmTypeis based on the NonExclusiveLimitAlarmType. It is formally defined in Table 103.

Table 103– NonExclusiveRateOfChangeAlarmType definition

Attribute

Value

BrowseName

NonExclusiveRateOfChangeAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the NonExclusiveLimitAlarmType defined in clause 5.8.20.

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Optional

ConformanceUnits

A & C Non-Exclusive RateOfChange

EngineeringUnits provides the engineering units associated with the limits values. If this is not provided the assumed Engineering Unit is the same as the EU associated with the parent variable per second e.g. if parent is meters, this unit is meters/second.

ExclusiveRateOfChangeAlarmTypeis utilized with multiple mutually exclusive limits. It is formally defined in Table 104.

Table 104– ExclusiveRateOfChangeAlarmType definition

Attribute

Value

BrowseName

ExclusiveRateOfChangeAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Inherits the Propertiesof the ExclusiveLimitAlarmTypedefined in clause 5.8.19.3.

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Optional

ConformanceUnits

A & C Exclusive RateOfChange

EngineeringUnits provides the engineering units associated with the limits values. If this is not provided the assumed Engineering Unit is the same as the EU associated with the parent variable per second e.g. if parent is meters, this unit is meters/second.

The DiscreteAlarmTypeis used to classify Typesinto Alarm Conditionswhere the input for the Alarmmay take on only a certain number of possible values (e.g. True/False, running/stopped/terminating). The DiscreteAlarmTypewith sub types defined in this standard is illustrated in Figure 22. It is formally defined in Table 105.

image026.png

Figure 22– DiscreteAlarmType Hierarchy

Table 105– DiscreteAlarmType definition

Attribute

Value

BrowseName

DiscreteAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AlarmConditionType defined in clause 5.8.2.

HasSubtype

ObjectType

OffNormalAlarmType

Defined in Clause 5.8.22

ConformanceUnits

A & C Discrete

The OffNormalAlarmTypeis a specialization of the DiscreteAlarmTypeintended to represent a discrete Conditionthat is considered to be not normal. It is formally defined in Table 106. This sub type is usually used to indicate that a discrete value is in an Alarmstate, it is active as long as a non-normal value is present.

Table 106– OffNormalAlarmType definition

Attribute

Value

BrowseName

OffNormalAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the DiscreteAlarmType defined in clause 5.8.24.1

HasSubtype

ObjectType

TripAlarmType

Defined in Clause 5.8.24.4

HasSubtype

ObjectType

SystemOffNormalAlarmType

Defined in Clause 5.8.24.3

HasProperty

Variable

NormalState

NodeId

PropertyType

Mandatory

ConformanceUnits

A & C OffNormal

The NormalState Propertyis a Propertythat points to a Variablewhich has a value that corresponds to one of the possible values of the Variablepointed to by the InputNode Propertywhere the NormalState Property Variablevalue is the value that is considered to be the normal state of the Variablepointed to by the InputNode Property. When the value of the Variablereferenced by the InputNode Propertyis not equal to the value of the NormalState Propertythe Alarmis Active. If this Variableis not in the AddressSpace, a NULL NodeIdshall be provided.

This Conditionis used by a Serverto indicate that an underlying system that is providing Alarminformation is having a communication problem and that the Servermay have invalid or incomplete Conditionstate in the Subscription. Its representation in the AddressSpaceis formally defined in Table 107.

Table 107– SystemOffNormalAlarmType definition

Attribute

Value

BrowseName

SystemOffNormalAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

ObjectType

CertificateExpirationAlarmType

Defined in Clause 5.8.24.7

Subtype of the OffNormalAlarmType, i.e. it has HasProperty Referencesto the same Nodes.

ConformanceUnits

A & C SystemOffNormal

The TripAlarmTypeis a specialization of the OffNormalAlarmTypeintended to represent an equipment trip Condition. The Alarmbecomes active when the monitored piece of equipment experiences some abnormal fault such as a motor shutting down due to an overload condition. It is formally defined in Table 108. This Typeis mainly used for categorization.

Table 108– TripAlarmType definition

Attribute

Value

BrowseName

TripAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the OffNormalAlarmType defined in clause 5.8.24.2.

ConformanceUnits

A & C Trip

The InstrumentDiagnosticAlarmTypeis a specialization of the OffNormalAlarmTypeintended to represent a fault in a field device. The Alarmbecomes active when the monitored device experiences a fault such as a sensor failure. It is formally defined in Table 108. This Typeis mainly used for categorization.

Table 109– InstrumentDiagnosticAlarmType definition

Attribute

Value

BrowseName

InstrumentDiagnosticAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the OffNormalAlarmType defined in clause 5.8.24.2.

ConformanceUnits

A & C InstrumentDiagnostic

The SystemDiagnosticAlarmTypeis a specialization of the OffNormalAlarmTypeintended to represent a fault in a system or sub-system. The Alarmbecomes active when the monitored system experiences a fault. It is formally defined in Table 108. This Typeis mainly used for categorization.

Table 110– SystemDiagnosticAlarmType definition

Attribute

Value

BrowseName

SystemDiagnosticAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the OffNormalAlarmType defined in clause 5.8.24.2.

ConformanceUnits

A & C SystemDiagnostic

This SystemOffNormalAlarmTypeis raised by the Serverwhen the Server’sCertificate is within the ExpirationLimitof expiration. This Alarmautomatically returns to normal when the certificate is updated.

Table 111– CertificateExpirationAlarmType definition

Attribute

Value

BrowseName

CertificateExpirationAlarmType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the SystemOffNormalAlarmType defined in clause 5.8.24.3

HasProperty

Variable

ExpirationDate

DateTime

PropertyType

Mandatory

HasProperty

Variable

ExpirationLimit

Duration

PropertyType

Optional

HasProperty

Variable

CertificateType

NodeId

PropertyType

Mandatory

HasProperty

Variable

Certificate

ByteString

PropertyType

Mandatory

ConformanceUnits

A & C CertificateExpiration

ExpirationDateis the date and time this certificate will expire.

ExpirationLimitis the time interval before the ExpirationDateat which this Alarmwill trigger. This shall be a positive number. If the property is not provided, a default of 2 weeks shall be used.

CertificateType– See Part 12 for definition of CertificateType.

Certificateis the certificate that is about to expire.

The DiscrepancyAlarmTypeis commonly used to report an action that did not occur within an expected time range.

The DiscrepancyAlarmTypeis based on the AlarmConditionType. It is formally defined in Table 112.

Table 112– DiscrepancyAlarmType definition

Attribute

Value

BrowseName

DiscrepancyAlarmType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AlarmConditionTypedefined in 5.8.2.

HasProperty

Variable

TargetValueNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

ExpectedTime

Duration

PropertyType

Mandatory

HasProperty

Variable

Tolerance

Double

PropertyType

Optional

ConformanceUnits

A & C Discrepancy

The TargetValueNode Propertyprovides the NodeIdof the Variablethat is used for the target value.

The ExpectedTime Propertyprovides the Durationwithin which the value pointed to by the InputNode shall equal the value specified by the TargetValueNode(or be within the Tolerancerange, if specified).

The Tolerance Propertyis a value that can be added to or subtracted from the TargetValueNode’svalue, providing a range that the value can be in without generating the Alarm.

A DiscrepancyAlarmType can be used to indicate a motor has not responded to a start request within a given time, or that a process value has not reached a given value after a setpoint change within a given time interval.

The DiscrepancyAlarmTypeshall return to normal when the value has reached the target value.