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 SystemState StateMachine 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.

Figure F.2 – SystemStateStateMachineType Model
Table F.1 – SystemStateStateMachineType definition
Attribute Value
BrowseNameSystemStateStateMachineType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of the FiniteStateMachineType defined in 10000-16
HasComponentObjectOperatingStateType
HasComponentObjectShuttingDownStateType
HasComponentObjectStartingUpStateType
HasComponentObjectShutdownStateType
HasComponentObjectOutOfServiceStateType
HasComponentObjectMaintenanceStateType
HasComponentObjectShutdownToOperatingTransitionType
HasComponentObjectOperatingToShutdownTransitionType
HasComponentObjectShuttingDownToShutdownTransitionType
HasComponentObjectOperatingToShuttingDownTransitionType
HasComponentObjectStartingUpToOperatingTransitionType
HasComponentObjectShutdownToStartingUpTransitionType
HasComponentObjectOutOfServiceToShutdownTransitionType
HasComponentObjectShutdownToOutOfServiceTransitionType
HasComponentObjectOutOfServiceToOperatingTransitionType
HasComponentObjectOperatingToOutOfServiceTransitionType
HasComponentObjectMaintenanceToOutOfServiceTransitionType
HasComponentObjectOutOfServiceToMaintenanceTransitionType
HasComponentMethodStartDefined in Clause XXXOptional
HasComponentMethodMaintainDefined in Clause XXXOptional
HasComponentMethodStopDefined in Clause XXXOptional
HasComponentMethodPlaceOutOfServiceDefined in Clause XXXOptional
HasComponentMethodQuickShutdownDefined in Clause XXXOptional
HasComponentMethodQuickStartDefined in Clause XXXOptional
HasComponentMethodOutOfServiceShutdownDefined in Clause XXXOptional

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.

Table F.2 – SystemStateStateMachineType additional references
SourceBrowsePath References IsForward TargetBrowsePath
ShutdownToOperatingFromStateTrueShutdown
ToStateTrueOperating
HasCauseTrueQuickStart
OperatingToShutdownFromStateTrueOperating
ToStateTrueShutdown
HasCauseTrueQuickShutdown
ShuttingDownToShutdownFromStateTrueShuttingDown
ToStateTrueShutdown
OperatingToShuttingDownFromStateTrueOperating
ToStateTrueShuttingDown
HasCauseTrueStop
StartingUpToOperatingFromStateTrueStartingUp
ToStateTrueOperating
ShutdownToStartingUpFromStateTrueShutdown
ToStateTrueStartingUp
HasCauseTrueStart
OutOfServiceToShutdownFromStateTrueOutOfService
ToStateTrueShutdown
HasCauseTrueOutOfServiceShutdown
ShutdownToOutOfServiceFromStateTrueShutdown
ToStateTrueOutOfService
HasCauseTrueOutOfServiceShutdown
OutOfServiceToOperatingFromStateTrueOutOfService
ToStateTrueOperating
HasCauseTruePlaceOutOfService
OperatingToOutOfServiceFromStateTrueOperating
ToStateTrueOutOfService
HasCauseTruePlaceOutOfService
MaintenanceToOutOfServiceFromStateTrueMaintenance
ToStateTrueOutOfService
HasCauseTrueMaintain
OutOfServiceToMaintenanceFromStateTrueOutOfService
ToStateTrueMaintenance
HasCauseTrueMaintain

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
1
2
3
4
5
6
41
14
24
12
31
42
54
45
51
15
65
56

The system can always generate additional HasCause References, such as internal code. No HasEffect References are defined, but an implementation might define HasEffect References (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 HasEffect References that could be used.