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.