OPC Unified Architecture – Part 9: Alarms & Conditions
Annex F System State (Informative)
F.1 Overview
The state of alarms is affected by the state of the process, equipment, system or plant. For example, when a tank is taken out of service, the level alarms associated with the tank would be no longer used, until the tank is returned to service. This section describes a StateMachine that can be deployed as part of a system designed and used to reflect the current state of the system, process, equipment or item. Customized version of this model can be implemented for any system, this sample is just an illustration.
The current state from the StateMachine is applied to all items in the HasNotifier hierarchy below the object with which the StateMachine is associated. The SystemStateStateMachine can be used to automatically disable, enable, suppress or un-suppress Alarms related to the Object (with in the hierarchy of alarms from the given object). The StateMachine can also be used by advanced alarming software to adjust the setpoint, limits or other items related to the Alarms in the hierarchy.
Optionally, multiple SystemState StateMachines can be deployed.
Figure F.1 – SystemState transitions
F.2 SystemStateStateMachineType
The SystemStateStateMachineType includes a hierarchy of sub-states. It supports multiple transitions between Operating, StartingUp, ShuttingDown, Shutdown, OutOfService and Maintenance.
The state machine is illustrated in Figure F.2 and formally defined in Table F.1.
Subtype of the FiniteStateMachineType defined in 10000-16
HasComponent
Object
Operating
StateType
HasComponent
Object
ShuttingDown
StateType
HasComponent
Object
StartingUp
StateType
HasComponent
Object
Shutdown
StateType
HasComponent
Object
OutOfService
StateType
HasComponent
Object
Maintenance
StateType
HasComponent
Object
ShutdownToOperating
TransitionType
HasComponent
Object
OperatingToShutdown
TransitionType
HasComponent
Object
ShuttingDownToShutdown
TransitionType
HasComponent
Object
OperatingToShuttingDown
TransitionType
HasComponent
Object
StartingUpToOperating
TransitionType
HasComponent
Object
ShutdownToStartingUp
TransitionType
HasComponent
Object
OutOfServiceToShutdown
TransitionType
HasComponent
Object
ShutdownToOutOfService
TransitionType
HasComponent
Object
OutOfServiceToOperating
TransitionType
HasComponent
Object
OperatingToOutOfService
TransitionType
HasComponent
Object
MaintenanceToOutOfService
TransitionType
HasComponent
Object
OutOfServiceToMaintenance
TransitionType
HasComponent
Method
Start
Defined in Clause XXX
Optional
HasComponent
Method
Maintain
Defined in Clause XXX
Optional
HasComponent
Method
Stop
Defined in Clause XXX
Optional
HasComponent
Method
PlaceOutOfService
Defined in Clause XXX
Optional
HasComponent
Method
QuickShutdown
Defined in Clause XXX
Optional
HasComponent
Method
QuickStart
Defined in Clause XXX
Optional
HasComponent
Method
OutOfServiceShutdown
Defined in Clause XXX
Optional
The actual selection of States and Transitions would depend on the deployment of the StateMachine. If the StateMachine were being applied to a tank or other part of a process it might have a different set of States then if it was applied to a meter or instrument. The meter could only have Operating, OutOfService and Maintenance, while the tank could have all of the described States and Transitions. The transitions are defined in Table F.2.
The StateMachine supports six possible states including: Operating, ShuttingDown, StartingUp, Shutdown, OutOfService, Maintenance. It supports 12 possible Transitions and 7 possible Methods.
The component Variables of the SystemStateStateMachineType have additional Attributes defined inTable F.3.
Table F.3 –SystemStateStateMachineType Attribute values for child Nodes
BrowsePath
Value Attribute
Operating
0:StateNumber
1
ShuttingDown
0:StateNumber
2
StartingUp
0:StateNumber
3
Shutdown
0:StateNumber
4
OutOfService
0:StateNumber
5
Maintenance
0:StateNumber
6
ShutdownToOperating
0:TransitionNumber
41
OperatingToShutdown
0:TransitionNumber
14
ShuttingDownToShutdown
0:TransitionNumber
24
OperatingToShuttingDown
0:TransitionNumber
12
StartingUpToOperating
0:TransitionNumber
31
ShutdownToStartingUp
0:TransitionNumber
42
OutOfServiceToShutdown
0:TransitionNumber
54
ShutdownToOutOfService
0:TransitionNumber
45
OutOfServiceToOperating
0:TransitionNumber
51
OperatingToOutOfService
0:TransitionNumber
15
MaintenanceToOutOfService
0:TransitionNumber
65
OutOfServiceToMaintenance
0:TransitionNumber
56
The system can always generate additional HasCauseReferences, such as internal code. No HasEffectReferences are defined, but an implementation might define HasEffectReferences (such as HasEffectDisable) for disabling or enabling Alarms, suppressing Alarms or adjusting setpoints or limits of Alarms. The targets of the reference might be an individual Alarm or portion of a plant or piece of equipment. See section 7 for a list of HasEffectReferences that could be used.