Errata exists for this version of the document.

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.

image040.png

Figure F.1 - SystemState transitions

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 51.

image041.png

Figure F.2 - SystemStateStateMachineType Model

Table F.1 – SystemStateStateMachineType definition

Attribute

Value

BrowseName

SystemStateStateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the FiniteStateMachineType defined in OPC 10000-5

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 may only have Operating, OutOfService and Maintenance, while the tank may have all of the described States and Transitions.

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 transitions

BrowseName

References

BrowseName

TypeDefinition

Transitions

ShutdownToOperating

FromState

Shutdown

StateType

ToState

Operating

StateType

HasCause

QuickStart

Method

OperatingToShutdown

FromState

Operating

StateType

ToState

Shutdown

StateType

HasCause

QuickShutdown

Method

ShuttingdownToShutdown

FromState

ShuttingDown

StateType

ToState

Shutdown

StateType

OperatingToShuttingdown

FromState

Operating

StateType

ToState

ShuttingDown

StateType

HasCause

Stop

Method

StartingUpToOperating

FromState

StartingUp

StateType

ToState

Operating

StateType

ShutdownToStartingUp

FromState

Shutdown

StateType

ToState

StartingUp

StateType

HasCause

Start

Method

OutofServiceToShutdown

FromState

OutOfService

StateType

ToState

Shutdown

StateType

HasCause

OutOfServiceShutdown

Method

ShutdownToOutOfService

FromState

Shutdown

StateType

ToState

OutOfService

StateType

HasCause

OutOfServiceShutdown

Method

OutOfServiceToOperating

FromState

OutOfService

StateType

ToState

Operating

StateType

HasCause

PlaceOutOfService

Method

OperatingToOutofService

FromState

Operating

StateType

ToState

OutOfService

StateType

HasCause

PlaceOutOfService

Method

MaintenanceToOutofService

FromState

Maintenance

StateType

ToState

OutOfService

StateType

HasCause

Maintain

Method

OutOfServiceToMaintenance

FromState

OutOfService

StateType

ToState

Maintenance

StateType

HasCause

Maintain

Method

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.

______________