The following diagram shows the state and command model for the subclasses of the AnalyserDeviceType, AnalyserChannelType and AccessorySlotType. An AnalyserDeviceType contains a state machine of type AnalyserDeviceStateMachineType. AnalyserChannelType contains a state machine of type AnalyserChannelStateMachineType. AccessorySlotType contains a state machine of type AccessorySlotStateMachineType. (See [OPC 10000-5] for a description of state machines.)

For all state machines defined in this specification, for each self-Transition (where the from-state and to-state are the same) that is used to indicate the progress within a state, the self-Transition shall occur only if the time required to pass through this state exceeds 5 seconds and shall reoccur at 5 (±1) second intervals. The Transition event should include information on the remaining time to complete this state when available

All state machines defined in this specification are mandatory unless explicitly stated otherwise. However, some states may be implemented as transient (do-nothing) states depending on the unique characteristics of an analyser.

image019.png

Figure 16 - ADI State Machines

AnalyserDeviceStateMachineType is a subtype of FiniteStateMachineType. The states are derived from the ANSI/ISA TR 88.02-2008 Machine and Unit States Technical Report [ISA-88 TR], which in turn were derived from the OMAC PackML tag definition set and the ANSI/ISA 88 Part 1 standard [ISA-88].

AnalyserDeviceStateMachineType contains a nested state model that defines the top level states Operating, Local and Maintenance (called Modes in [ISA-88 TR] and OMAC) of a device.

image020.png

Figure 17 - AnalyserDeviceStateMachine

The Powerup state is where the AnalyserDevice waits for the completion of the power-up setup. Its sub-states are out of scope of the ADI specification.

The Shutdown state is where the AnalyserDevice waits for the completion of the power down sequence. Its sub-states are out of scope of the ADI specification.

AnalyserDeviceStateMachineType.is formally defined in Table 60 .

Table 60 – AnalyserDeviceStateMachineType Definition

Attribute

Value

BrowseName

AnalyserDeviceStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FiniteStateMachineType defined in [OPC 10000-5]

HasComponent

Object

Powerup

InitialStateType

Mandatory

HasComponent

Object

Operating

StateType

Mandatory

HasComponent

Object

Local

StateType

Mandatory

HasComponent

Object

Maintenance

StateType

Mandatory

HasComponent

Object

Shutdown

StateType

Mandatory

HasComponent

Object

PowerupToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToLocalTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToMaintenanceTransition

TransitionType

Mandatory

HasComponent

Object

LocalToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

LocalToMaintenanceTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToLocalTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToShutdownTransition

TransitionType

Mandatory

HasComponent

Object

LocalToShutdownTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToShutdownTransition

TransitionType

Mandatory

Table 61 specifies the AnalyserStateMachine’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AnalyserDeviceStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.

See Table 62 for a description of the states.

Table 61 – AnalyserDeviceStateMachineType States

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

States

Powerup

HasProperty

StateNumber

100

PropertyType

ToTransition

PowerupToOperatingTransition

TransitionType

Operating

HasProperty

StateNumber

200

PropertyType

FromTransition

PowerupToOperatingTransition

TransitionType

FromTransition

MaintenanceToOperatingTransition

TransitionType

FromTransition

LocalToOperatingTransition

TransitionType

ToTransition

OperatingToLocalTransition

TransitionType

ToTransition

OperatingToMaintenanceTransition

TransitionType

ToTransition

OperatingToShutdownTransition

TransitionType

Local

HasProperty

StateNumber

300

PropertyType

FromTransition

OperatingToLocalTransition

TransitionType

FromTransition

MaintenanceToLocalTransition

TransitionType

ToTransition

LocalToOperatingTransition

TransitionType

ToTransition

LocalToMaintenanceTransition

TransitionType

ToTransition

LocalToShutdownTransition

TransitionType

Maintenance

HasProperty

StateNumber

400

PropertyType

FromTransition

OperatingToMaintenanceTransition

TransitionType

FromTransition

LocalToMaintenanceTransition

TransitionType

ToTransition

MaintenanceToOperatingTransition

TransitionType

ToTransition

MaintenanceToLocalTransition

TransitionType

ToTransition

MaintenanceToShutdownTransition

TransitionType

Shutdown

HasProperty

StateNumber

500

PropertyType

FromTransition

OperatingToShutdownTransition

TransitionType

FromTransition

LocalToShutdownTransition

TransitionType

FromTransition

MaintenanceToShutdownTransition

TransitionType

A standard set of states are defined for analyser devices. These states represent the operational condition of the device. All devices that contain an AnalyserDeviceStateMachineType must support this base set. A device may or may not require a Client action to cause the state to change, as defined in the state descriptions below.

Table 62 – AnalyserDeviceStateMachineType State Description

StateName

Description

Powerup

The AnalyserDevice is in its power-up sequence and cannot perform any other task.

Operating

The AnalyserDevice is in the Operating mode.

The ADI Client uses this mode for normal operation: configuration, control and data collection.

In this mode, each child AnalyserChannels are free to accept commands from the ADI Client and the Parameter values published in the address space values are expected to be valid.

When entering this state, all AnalyserChannels of this AnalyserDevice automatically leave the SlaveMode state and enter their Operating state.

Local

The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser.

To enter the Local mode, the operator shall push a button, on the analyser itself. This may be a physical button or a graphical control on the local console screen. To quit the Local mode, the operator shall press the same or another button on the analyser itself.

When the analyser is in Local mode, all child AnalyserChannels sit in the SlaveMode state of the AnalyserChannelStateMachine.

In this mode, no commands are accepted from the ADI interface and no guarantee is given on the values in the address space.

Maintenance

The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade.

To enter in Maintenance mode, the operator shall call the GotoMaintenance Method from the ADI Client. To return to the Operating mode, the operator shall call the GotoOperating Method from the ADI Client.

When the analyser is in the Maintenance mode, all child AnalyserChannels sit in the SlaveMode state of the AnalyserChannelStateMachine.

In this mode, no commands are accepted from the ADI interface for the AnalyserChannels and no guarantee is given on the values in the address space.

Shutdown

The AnalyserDevice is in its power-down sequence and cannot perform any other task.

The set of states defined to describe an AnalyserDevice can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions.

The Operating state of the AnalyserDeviceStateMachineType has no required sub-states.

The Local state of the AnalyserDeviceStateMachineType has no required sub-states.

The Local state provides suitably authorized personnel the ability to operate individual subordinate equipment controls (such as accessory logic) within the device under manual control (often pushbutton or embedded HMI). Such controls in this state may be on a "hold-to-run" basis such that removal of the run signal will cause a device to be stopped. The ability to perform specific functions will be dependent upon mechanical constraints and interlocks. Local state may be of particular use for setting up the machine to work.

The Maintenance state of the AnalyserDeviceStateMachineType has no required sub-states.

The Maintenance state allows suitably authorized personnel the ability to run an individual device independent of other devices that may be in the same production line or lab cell. This would typically be used for faultfinding, device trials or testing operational improvements.

Transitions are instances of Objects of the TransitionType defined in [OPC 10000-5] which also includes the definitions of the ToState, FromState, HasCause, and HasEffect References used. Table 63 specifies the Transitions defined for the AnalyserDeviceStateMachineType. Each Transition is assigned a unique TransitionNumber.

Table 63 – AnalyserDeviceStateMachineType Transitions

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

Transitions

PowerupToOperatingTransition

HasProperty

TransitionNumber

1

PropertyType

FromState

Powerup

InitialStateType

ToState

Operating

StateType

HasCause

Analyser is powering-up

External cause

OperatingToLocalTransition

HasProperty

TransitionNumber

2

PropertyType

FromState

Operating

StateType

ToState

Local

StateType

HasCause

Pressing Local button on analyser

External cause

OperatingToMaintenanceTransition

HasProperty

TransitionNumber

3

PropertyType

FromState

Operating

StateType

ToState

Maintenance

StateType

HasCause

GotoMaintenance

Method

LocalToOperatingTransition

HasProperty

TransitionNumber

4

PropertyType

FromState

Local

StateType

ToState

Operating

StateType

HasCause

Releasing Local button on analyser

External cause

LocalToMaintenanceTransition

HasProperty

TransitionNumber

5

PropertyType

FromState

Local

StateType

ToState

Maintenance

StateType

HasCause

Releasing Local button on analyser

External cause

MaintenanceToOperatingTransition

HasProperty

TransitionNumber

6

PropertyType

FromState

Maintenance

StateType

ToState

Operating

StateType

HasCause

GotoOperating

Method

MaintenanceToLocalTransition

HasProperty

TransitionNumber

7

PropertyType

FromState

Maintenance

StateType

ToState

Local

StateType

HasCause

Pressing Local button on analyser

External cause

OperatingToShutdownTransition

HasProperty

TransitionNumber

8

PropertyType

FromState

Operating

StateType

ToState

Shutdown

StateType

HasCause

Analyser is powering-down

External cause

LocalToShutdownTransition

HasProperty

TransitionNumber

9

PropertyType

FromState

Local

StateType

ToState

Shutdown

StateType

HasCause

Analyser is powering-down

External cause

MaintenanceToShutdownTransition

HasProperty

TransitionNumber

10

PropertyType

FromState

Maintenance

StateType

ToState

Shutdown

StateType

HasCause

Analyser is powering-down

External cause

AnalyserChannelStateMachineType is a subtype of FiniteStateMachineType. The states are derived from the ANSI/ISA TR 88.02-2008 Machine and Unit States Technical Report [ISA-88 TR], which in turn were derived from the OMAC PackML tag definition set and the ANSI/ISA 88 Part 1 standard [ISA-88].

AnalyserChannelStateMachineType contains a nested state model that defines the top level states Operating, Local and Maintenance (called Modes in [ISA-88 TR] and OMAC) and the Operating sub-states of a device.

image021.png

Figure 18 - AnalyserChannelStateMachine

The SlaveMode state is where the AnalyserChannel stays when its parent AnalyserDevice is in Local or Maintenance mode. In this context, the AnalyserDevice has the absolute control over all of its AnalyserChannels.

The Local button refers to a Local button on a given analyser channel for symmetry with the analyser device.

AnalyserChannelStateMachineType.is formally defined in Table 64.

Table 64 – AnalyserChannelStateMachineType Definition

Attribute

Value

BrowseName

AnalyserChannelStateMachineType

IsAbstract

False

References

Node

Class

BrowseName

Data

Type

TypeDefinition

Modelling

Rule

Subtype of the FiniteStateMachineType defined in [OPC 10000-5]

HasComponent

Object

SlaveMode

InitialStateType

Mandatory

HasComponent

Object

Operating

AnalyserChannelOperatingStateType

Mandatory

HasComponent

Object

Local

AnalyserChannelLocalStateType

Mandatory

HasComponent

Object

Maintenance

AnalyserChannelMaintenanceStateType

Mandatory

HasComponent

Object

SlaveModeToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToLocalTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToMaintenanceTransition

TransitionType

Mandatory

HasComponent

Object

LocalToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

LocalToMaintenanceTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToOperatingTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToLocalTransition

TransitionType

Mandatory

HasComponent

Object

OperatingToSlaveModeTransition

TransitionType

Mandatory

HasComponent

Object

LocalToSlaveModeTransition

TransitionType

Mandatory

HasComponent

Object

MaintenanceToSlaveModeTransition

TransitionType

Mandatory

HasComponent

Object

OperatingSubStateMachine

AnalyserChannel_OperatingModeSubStateMachineType

Mandatory

HasComponent

Object

LocalSubStateMachine

FiniteStateMachineType

Optional

HasComponent

Object

MaintenanceSubStateMachine

FiniteStateMachineType

Optional

GotoOperating Method transitions the AnalyserChannel to Operating mode.

GotoMaintenance Method transitions the AnalyserChannel to Maintenance mode.

Table 65 – AnalyserChannelOperatingStateType Definition

Attribute

Value

BrowseName

AnalyserChannelOperatingStateType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

TypeDefinition

Modelling

Rule

Subtype of the StateType defined in [OPC 10000-5]

HasSubStateMachine

Object

OperatingSubStateMachine

AnalyserChannel_OperatingModeSubStateMachineType

Mandatory

Table 66 – AnalyserChannelLocalStateType Definition

Attribute

Value

BrowseName

AnalyserChannelLocalStateType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModelingRule

Subtype of the StateType defined in [OPC 10000-5]

HasSubStateMachine

Object

LocalSubStateMachine

FiniteStateMachineType

Optional

Table 67 – AnalyserChannelMaintenanceStateType Definition

Attribute

Value

BrowseName

AnalyserChannelMaintenanceStateType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

TypeDefinition

Modelling

Rule

Subtype of the StateType defined in [OPC 10000-5]

HasSubStateMachine

Object

MaintenanceSubStateMachine

FiniteStateMachineType

Optional

Table 69 specifies the AnalyserChannelStateMachine’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AnalyserChannelStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.

A standard set of states are defined for analyser channels. These states represent the operational condition of the channel. All devices that contain an AnalyserChannelStateMachineType shall support this base set. A channel may or may not require a client action to cause the state to change. See Table 68 for a description of the states.

Table 68 – AnalyserChannelStateMachineType State Description

StateName

Description

SlaveMode

The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode

Operating

The AnalyserChannel is in the Operating mode.

The ADI Client uses this mode for normal operation: configuration, control and data collection.

In this mode, AnalyserChannel can accept commands from the ADI Client and the Parameters published in the address space values are expected to be valid.

Local

The AnalyserChannel is in the Local mode.

This mode is normally used to perform local physical maintenance on the AnalyserChannel.

To enter the Local mode, the operator shall push a button, on the AnalyserChannel itself. This may be a physical button or a graphical control on the local console screen. To quit the Local mode, the operator shall press the same or another button on the AnalyserChannel itself.

When the AnalyserChannel is in the Local mode, the parent AnalyserDevice has no control over it.

In this mode, no commands are accepted from the ADI interface and no guarantee is given on the values in the address space of the AnalyserChannel.

Maintenance

The AnalyserChannel is in the Maintenance mode.

This mode is used to perform remote maintenance on the AnalyserChannel.

To enter the Maintenance mode, the operator shall call the GotoMaintenance Method from the ADI Client. To return to the Operating mode, the operator shall call the GotoOperating Method from the ADI Client.

When the AnalyserChannel is in the Maintenance mode, the parent AnalyserDevice has no control over it.

In this mode, there is no guarantee given on the values in the address space.

Table 69 – AnalyserChannelStateMachineType States

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

States

SlaveMode

HasProperty

StateNumber

100

PropertyType

FromTransition

OperatingToSlaveModeTransition

TransitionType

FromTransition

MaintenanceToSlaveModeTransition

TransitionType

FromTransition

LocalToSlaveModeTransition

TransitionType

ToTransition

SlaveModeToOperatingTransition

TransitionType

Operating

HasProperty

StateNumber

200

PropertyType

FromTransition

SlaveModeToOperatingTransition

TransitionType

FromTransition

MaintenanceToOperatingTransition

TransitionType

FromTransition

LocalToOperatingTransition

TransitionType

ToTransition

OperatingToLocalTransition

TransitionType

ToTransition

OperatingToMaintenanceTransition

TransitionType

ToTransition

OperatingToSlaveModeTransition

TransitionType

Local

HasProperty

StateNumber

300

PropertyType

FromTransition

OperatingToLocalTransition

TransitionType

FromTransition

MaintenanceToLocalTransition

TransitionType

ToTransition

LocalToOperatingTransition

TransitionType

ToTransition

LocalToMaintenanceTransition

TransitionType

ToTransition

LocalToSlaveModeTransition

TransitionType

Maintenance

HasProperty

StateNumber

400

PropertyType

FromTransition

OperatingToMaintenanceTransition

TransitionType

FromTransition

LocalToMaintenanceTransition

TransitionType

ToTransition

MaintenanceToOperatingTransition

TransitionType

ToTransition

MaintenanceToLocalTransition

TransitionType

ToTransition

MaintenanceToSlaveModeTransition

TransitionType

The set of states defined to describe an AnalyserChannel can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions.

Transitions are instances of Objects of the TransitionType defined in [OPC 10000-5] which also includes the definitions of the FromState, ToState, HasCause, and HasEffect References used. Table 70 specifies the Transitions defined for the AnalyserChannelStateMachineType. Each Transition is assigned a unique TransitionNumber.

Table 70 – AnalyserChannelStateMachineType Transitions

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

Transitions

SlaveModeToOperatingTransition

HasProperty

TransitionNumber

1

PropertyType

FromState

SlaveMode

InitialStateType

ToState

Operating

AnalyserChannelOperatingStateType

HasCause

The AnalyserDevice moves from Local or Maintenance state to Operating state

OperatingToLocalTransition

HasProperty

TransitionNumber

2

PropertyType

FromState

Operating

AnalyserChannelOperatingStateType

ToState

Local

AnalyserChannelLocalStateType

HasCause

Press Local button on channel

External cause

OperatingToMaintenanceTransition

HasProperty

TransitionNumber

3

PropertyType

FromState

Operating

AnalyserChannelOperatingStateType

ToState

Maintenance

AnalyserChannelMaintenanceStateType

HasCause

GotoMaintenance

Method

LocalToOperatingTransition

HasProperty

TransitionNumber

4

PropertyType

FromState

Local

AnalyserChannelLocalStateType

ToState

Operating

AnalyserChannelOperatingStateType

HasCause

Release Local button on channel

External cause

LocalToMaintenanceTransition

HasProperty

TransitionNumber

5

PropertyType

FromState

Local

AnalyserChannelLocalStateType

ToState

Maintenance

AnalyserChannelMaintenanceStateType

HasCause

Release Local button on channel

External cause

MaintenanceToOperatingTransition

HasProperty

TransitionNumber

6

PropertyType

FromState

Maintenance

AnalyserChannelMaintenanceStateType

ToState

Operating

AnalyserChannelOperatingStateType

HasCause

GotoOperating

Method

MaintenanceToLocalTransition

HasProperty

TransitionNumber

7

PropertyType

FromState

Maintenance

AnalyserChannelMaintenanceStateType

ToState

Local

AnalyserChannelLocalStateType

HasCause

Press Local button on channel

External cause

OperatingToSlaveModeTransition

HasProperty

TransitionNumber

8

PropertyType

FromState

Operating

AnalyserChannelOperatingStateType

ToState

SlaveMode

StateType

HasCause

AnalyserDevice moves from Operating to Local or Maintenance state.

External cause

LocalToSlaveModeTransition

HasProperty

TransitionNumber

9

PropertyType

FromState

Local

AnalyserChannelLocalStateType

ToState

SlaveMode

StateType

HasCause

AnalyserDevice moves from Operating to Local or Maintenance state.

External cause

MaintenanceToSlaveModeTransition

HasProperty

TransitionNumber

10

PropertyType

FromState

Maintenance

AnalyserChannelMaintenanceStateType

ToState

SlaveMode

StateType

HasCause

AnalyserDevice moves from Operating to Local or Maintenance state.

External cause

AnalyserChannel_OperatingModeSubStateMachineType is a subtype of FiniteStateMachineType. The states are derived from the ANSI/ISA TR 88.02-2008 Machine and Unit States Technical Report [ISA-88 TR], which in turn were derived from the OMAC PackML tag definition set and the ANSI/ISA 88 Part 1 standard.

image022.png

Figure 19 - AnalyserChannel_OperatingModeSubStateMachineType

When the AnalyserChannel is suspended or held:

  • The normal Execute state is interrupted
  • The actual Execute sub-state information shall be kept

When returning from Suspended or Held state:

  • The restart point in Execute state shall be the junction point driven by the SelectExecutionCycle
  • All sub-states shall be executed, but the vendor may use the information stored at the interruption point to optimize the execution of some sub-states.

The AnalyserChannel_OperatingModeSubStateMachineType is formally defined in Table 71.

Table 71 – AnalyserChannel_OperatingModeSubStateMachineType Definition

Attribute

Value

BrowseName

AnalyserChannel_OperatingModeSubStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

Target Type Definition

Modelling

Rule

Subtype of the FiniteStateMachineType defined in [OPC 10000-5]

HasComponent

Object

Stopped

InitialStateType

Mandatory

HasComponent

Object

Resetting

StateType

Mandatory

HasComponent

Object

Idle

StateType

Mandatory

HasComponent

Object

Starting

StateType

Mandatory

HasComponent

Object

Execute

AnalyserChannelOperatingModeExecuteStateType

Mandatory

HasComponent

Object

Completing

StateType

Mandatory

HasComponent

Object

Complete

StateType

Mandatory

HasComponent

Object

Suspending

StateType

Mandatory

HasComponent

Object

Suspended

StateType

Mandatory

HasComponent

Object

Unsuspending

StateType

Mandatory

HasComponent

Object

Holding

StateType

Mandatory

HasComponent

Object

Held

StateType

Mandatory

HasComponent

Object

Unholding

StateType

Mandatory

HasComponent

Object

Stopping

StateType

Mandatory

HasComponent

Object

Aborting

StateType

Mandatory

HasComponent

Object

Aborted

StateType

Mandatory

HasComponent

Object

Clearing

StateType

Mandatory

HasComponent

Object

StoppedToResettingTransition

TransitionType

Mandatory

HasComponent

Object

ResettingTransition

TransitionType

Mandatory

HasComponent

Object

ResettingToIdleTransition

TransitionType

Mandatory

HasComponent

Object

IdleToStartingTransition

TransitionType

Mandatory

HasComponent

Object

StartingTransition

TransitionType

Mandatory

HasComponent

Object

StartingToExecuteTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteToCompletingTransition

TransitionType

Mandatory

HasComponent

Object

CompletingTransition

TransitionType

Mandatory

HasComponent

Object

CompletingToCompleteTransition

TransitionType

Mandatory

HasComponent

Object

CompleteToStoppedTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteToHoldingTransition

TransitionType

Mandatory

HasComponent

Object

HoldingTransition

TransitionType

Mandatory

HasComponent

Object

HoldingToHeldTransition

TransitionType

Mandatory

HasComponent

Object

HeldToUnholdingTransition

TransitionType

Mandatory

HasComponent

Object

UnholdingTransition

TransitionType

Mandatory

HasComponent

Object

UnholdingToHoldingTransition

TransitionType

Mandatory

HasComponent

Object

UnholdingToExecuteTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteToSuspendingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendingToSuspendedTransition

TransitionType

Mandatory

HasComponent

Object

SuspendedToUnsuspendingTransition

TransitionType

Mandatory

HasComponent

Object

UnsuspendingTransition

TransitionType

Mandatory

HasComponent

Object

UnsuspendingToSuspendingTransition

TransitionType

Mandatory

HasComponent

Object

UnsuspendingToExecuteTransition

TransitionType

Mandatory

HasComponent

Object

StoppingToStoppedTransition

TransitionType

Mandatory

HasComponent

Object

AbortingToAbortedTransition

TransitionType

Mandatory

HasComponent

Object

AbortedToClearingTransition

TransitionType

Mandatory

HasComponent

Object

ClearingToStoppedTransition

TransitionType

Mandatory

HasComponent

Object

ResettingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

IdleToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

StartingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

CompletingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

CompleteToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendedToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

UnsuspendingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

HoldingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

HeldToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

UnholdingToStoppingTransition

TransitionType

Mandatory

HasComponent

Object

StoppedToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

ResettingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

IdleToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

StartingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

CompletingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

CompleteToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

SuspendedToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

UnsuspendingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

HoldingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

HeldToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

UnholdingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

StoppingToAbortingTransition

TransitionType

Mandatory

HasComponent

Object

ExecuteSubStateMachine

AnalyserChannel_OperatingModeExecuteSubStateMachineType

Mandatory

Table 72 – AnalyserChannelOperatingModeExecuteStateType Definition

Attribute

Value

BrowseName

AnalyserChannelOperatingModeExecuteStateType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

TypeDefinition

Modelling

Rule

Subtype of the StateType defined in [OPC 10000-5]

HasSubStateMachine

Object

ExecuteSubStateMachine

AnalyserChannel_OperatingModeExecuteSubStateMachineType

Mandatory

Table 74 specifies the AnalyserChannel_OperatingModeSubStateMachineType’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AnalyserChannel_OperatingModeSubStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.

A standard set of states are defined for the AnalyserChannel_OperatingModeSubStateMachineType. These states represent the operational condition of the AnalyserChannel in Operating mode. All AnalyserChannels that contain an AnalyserChannel_OperatingModeSubStateMachineType must support this base set. A device may or may not require a Client action to cause the state to change. See Table 73 for the description of the states.

Table 73 – AnalyserChannel_OperatingModeSubStateMachineType State Descriptions

State No.

StateName

Description

1

Clearing

Initiated by Clear Method call, this state clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state.

This state guarantees that the Client will see fault signals before going back to Stopped state.

2

Stopped

This is the initial state after AnalyserDeviceStateMachine state Powerup. At this point:

  • All communications with other systems are functioning (If applicable).
  • The state machine waits for a Reset or SetConfiguration Method call.

3

Starting

The analyser has received the Start or StartSingleAcquisition Method call and it is preparing to enter in Execute state. At this point:

The analyser system shall be ready to start. Prepare the system for continuous acquisition. When completed, the state machine automatically goes in Execute state.

4

Idle

At the beginning of this state:

  • The Resetting state is completed
  • All Parameters have been committed
  • All analyser components are warmed-up and ready to start acquisition
  • Waiting for Start or StartSingleAcquisition Method call

5

Suspended

The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. When the offending process conditions return to normal, the Suspended state will transition to Unsuspending and hence continue towards the normal Execute state.

At this state, no acquisition cycle is performed.

Note: The Suspended state can be reached as a result of abnormal external process conditions and differs from Held in that Held is typically a result of an operator request or an automatically detected analyser or channel fault condition that should be corrected before an operator request to transition to the Unholding state will be processed.

6

Execute

All repetitive acquisition cycles are done in this state:

  • Wait for trigger
  • Grab sample from process
  • Prepare the sample for analysis
  • Analyse the sample
  • Publish results
  • Cleanup sampling system for next acquisition cycle

See AnalyserChannel_OperatingModeExecuteSubStateMachine for more details.

7

Stopping

Initiated by a Stop Method call, this state:

  • Complete the ongoing acquisition if not too long
  • Get the actual acquisition (partial acquisition)
  • Discontinue the ongoing acquisition if partial acquisition does not make sense
  • Go to safe states gently, no rush

Transitions automatically to Aborted state.

8

Aborting

The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault.

The aborting logic will bring the device to a rapid safe stop.

Operation of an Emergency Stop may cause the machine to be tripped by its safety system and may provide a signal to initiate the Aborting State.This state may include:

  • Abandoning the ongoing acquisition data
  • Rapidly putting the analyser system in safe states
  • Cooling down sampling cell
  • Closing cleaning solvent line
  • Closing sample inputs
  • Turning off Raman laser
  • Turning off source

All error conditions are saved and exposed in the AnalyserDevice/Channel.Status FunctionalGroup.

Transitions automatically to Aborted state.

9

Aborted

This state maintains machine status information relevant to the Abort condition.

The analyser is in safe state and:

The analyser can only exit the Aborted state after an explicit Clear Method call, often after manual intervention to correct and reset the detected device fault.

10

Holding

When the analyser or channel is in the Execute state, the Hold command can be used to start Holding logic which brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode. An analyser or channel can go into this state either when an internal equipment fault is automatically detected or by an operator command. The Hold command offers the operator a safe way to intervene manually in the process (such as replacing solvent container) and restarting execution when conditions are safe.

11

Held

The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed.

12

Unholding

The Unholding state is a response to an operator command to resume the Execute state.

Issuing the Unhold Method call will prepare the analyser or channel to re-enter the normal Execute state. The actions of this state may include:

  • Heating-up accessories
  • Reinitiating sampling system

Note that an operator Unhold command is always required and Unholding can never be initiated automatically.

13

Suspending

This state is a result of a change in monitored conditions due to process conditions or factors. The trigger event will cause a temporary suspension of the Execute state. Suspending is typically the result of starvation of the process to analyse or or issues with the sampling system that prevents the analyser or channel from continued Execution. During the controlled sequence of Suspending the analyser or channel will transition to a Suspended state. The Suspending state might be forced by the operator using the Suspend Method call.

14

Unsuspending

This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. The actions of this state may include:

  • Heating-up accessories
  • Reinitiating sampling system

This state is entered prior to the Execute state, and prepares the analyser or channel for the Execute state.

15

Resetting

This state is the result of a Reset or SetConfiguration Method call from the Stopped state.

The Parameters are committed at this state. The actions of this state may include:

  • Resetting Hardware
  • Analyser warm up
  • Enabling sampling sub-system
  • Enabling cleaning sampling path
  • Turning on source
  • Heating-up liquid cell

When completed, the state machine goes automatically to the Idle state.

16

Completing

This state is an automatic or commanded exit from the Execute state. Normal operation has run to completion, i.e. the requested number of samples has been analysed.

At this point, the pre-configured acquisition cycle(s) are completed. The actions of this state may include:

  • Flushing data path
  • Completing sample cells cleaning state
  • Going to safe states

When done, it automatically transitions to the Complete state.

17

Complete

At this point, the Completing state is done and it transitions automatically to Stopped state to wait.

From an analyser point of view, this is almost a transient state.

Table 74 – AnalyserChannel_OperatingModeSubStateMachineType States

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

States

Stopped

HasProperty

StateNumber

2

PropertyType

FromTransition

CompleteToStoppedTransition

TransitionType

Method

FromTransition

StoppingToStoppedTransition

TransitionType

Method

FromTransition

ClearingToStoppedTransition

TransitionType

Method

ToTransition

StoppedToResettingTransition

TransitionType

Method

ToTransition

StoppedToAbortingTransition

TransitionType

Method

Resetting

HasProperty

StateNumber

15

PropertyType

FromTransition

StoppedToResettingTransition

TransitionType

Method

ToTransition

ResettingToIdleTransition

TransitionType

Method

ToTransition

ResettingToStoppingTransition

TransitionType

Method

ToTransition

ResettingToAbortingTransition

TransitionType

Method

Idle

HasProperty

StateNumber

4

PropertyType

FromTransition

ResettingToIdleTransition

TransitionType

Method

ToTransition

IdleToStartingTransition

TransitionType

Method

ToTransition

idleToStoppingTransition

TransitionType

Method

ToTransition

IdleToAbortingTransition

TransitionType

Method

Starting

HasProperty

StateNumber

3

PropertyType

FromTransition

IdleToStartingTransition

TransitionType

Method

ToTransition

StartingToExecuteTransition

TransitionType

Method

ToTransition

StartingToStoppingTransition

TransitionType

Method

ToTransition

StartingToAbortingTransition

TransitionType

Method

Execute

HasProperty

StateNumber

6

PropertyType

FromTransition

StartingToExecuteTransition

TransitionType

Method

ToTransition

ExecuteToCompletingTransition

TransitionType

Method

ToTransition

ExecuteToStoppingTransition

TransitionType

Method

ToTransition

ExecuteToAbortingTransition

TransitionType

Method

Completing

HasProperty

StateNumber

16

PropertyType

FromTransition

ExecuteToCompletingTransition

TransitionType

Method

ToTransition

CompletingToCompleteTransition

TransitionType

Method

ToTransition

CompletingToStoppingTransition

TransitionType

Method

ToTransition

CompletingToAbortingTransition

TransitionType

Method

Complete

HasProperty

StateNumber

17

PropertyType

FromTransition

CompletingToCompleteTransition

TransitionType

Method

ToTransition

CompleteToStoppedTransition

TransitionType

Method

ToTransition

CompleteToStoppingTransition

TransitionType

Method

ToTransition

CompleteToAbortingTransition

TransitionType

Method

Suspending

HasProperty

StateNumber

13

PropertyType

FromTransition

ExecuteToSuspendingTransition

TransitionType

Method

ToTransition

SuspendingToSuspendedTransition

TransitionType

Method

ToTransition

SuspendingToStoppingTransition

TransitionType

Method

ToTransition

SuspendingToAbortingTransition

TransitionType

Method

Suspended

HasProperty

StateNumber

5

PropertyType

FromTransition

SuspendingToSuspendedTransition

TransitionType

Method

ToTransition

SuspendedToUnsuspendingTransition

TransitionType

Method

ToTransition

SuspendedToStoppingTransition

TransitionType

Method

ToTransition

SuspendiedToAbortingTransition

TransitionType

Method

Unsuspending

HasProperty

StateNumber

14

PropertyType

FromTransition

SuspendedToUnsuppendingTransition

TransitionType

Method

ToTransition

UnsuppendingToExecuteTransition

TransitionType

Method

ToTransition

UnsuppendingToSuspendingTransition

TransitionType

Method

ToTransition

UnsuppendingToStoppingTransition

TransitionType

Method

ToTransition

UnsuppendingToAbortingTransition

TransitionType

Method

Holding

HasProperty

StateNumber

10

PropertyType

FromTransition

ExecuteToHoldingTransition

TransitionType

Method

ToTransition

HoldingToHeldTransition

TransitionType

Method

ToTransition

HoldingToStoppingTransition

TransitionType

Method

ToTransition

HoldingToAbortingTransition

TransitionType

Method

Held

HasProperty

StateNumber

11

PropertyType

FromTransition

HoldingToHeldTransition

TransitionType

Method

ToTransition

HeldToUnholdingTransition

TransitionType

Method

ToTransition

HeldToStoppingTransition

TransitionType

Method

ToTransition

HeldToAbortingTransition

TransitionType

Method

Unholding

HasProperty

StateNumber

12

PropertyType

FromTransition

HeldToUnholdingTransition

TransitionType

Method

ToTransition

UnholdingToExecuteTransition

TransitionType

Method

ToTransition

UnholdingToHoldingTransition

TransitionType

Method

ToTransition

UnholdingToStoppingTransition

TransitionType

Method

ToTransition

UnholdingToAbortingTransition

TransitionType

Method

Stopping

HasProperty

StateNumber

7

PropertyType

FromTransition

ResettingToStoppingTransition

TransitionType

Method

FromTransition

IdleToStoppingTransition

TransitionType

Method

FromTransition

StartingToStoppingTransition

TransitionType

Method

FromTransition

ExecuteToStoppingTransition

TransitionType

Method

FromTransition

CompletingToStoppingTransition

TransitionType

Method

FromTransition

CompleteToStoppingTransition

TransitionType

Method

FromTransition

SuspendingToStoppingTransition

TransitionType

Method

FromTransition

SuspendedToStoppingTransition

TransitionType

Method

FromTransition

UnsuspendingToStoppingTransition

TransitionType

Method

FromTransition

HoldingToStoppingTransition

TransitionType

Method

FromTransition

HeldToStoppingTransition

TransitionType

Method

ToTransition

StoppingToStoppedTransition

TransitionType

Method

ToTransition

StoppingToAbortingTransition

TransitionType

Method

Aborting

HasProperty

StateNumber

8

PropertyType

FromTransition

StoppingToAbortingTransition

TransitionType

Method

FromTransition

StoppedToAbortingTransition

TransitionType

Method

FromTransition

ResettingToAbortingTransition

TransitionType

Method

FromTransition

IdleToAbortingTransition

TransitionType

Method

FromTransition

StartingToAbortingTransition

TransitionType

Method

FromTransition

ExecuteToAbortingTransition

TransitionType

Method

FromTransition

CompletingToAbortingTransition

TransitionType

Method

FromTransition

CompleteToAbortingTransition

TransitionType

Method

FromTransition

SuspendingToAbortingTransition

TransitionType

Method

FromTransition

SuspendedToAbortingTransition

TransitionType

Method

FromTransition

UnsuspendingToAbortingTransition

TransitionType

Method

FromTransition

HoldingToAbortingTransition

TransitionType

Method

FromTransition

HelpToAbortingTransition

TransitionType

Method

FromTransition

UnholdingToAbortingTransition

TransitionType

Method

ToTransition

AbortingToAbortedTransition

TransitionType

Method

Aborted

HasProperty

StateNumber

9

PropertyType

FromTransition

AbortingToAbortedTransition

TransitionType

Method

ToTransition

AbortedToClearingTransition

TransitionType

Method

Clearing

HasProperty

StateNumber

1

PropertyType

FromTransition

AbortedToClearingTransition

TransitionType

Method

ToTransition

ClearingToStoppedTransition

TransitionType

Method

The set of states defined to describe in AnalyserChannel_OperatingModeSubStateMachineType can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions. For example, the “Stopped” state can include the sub states “Preparing” and “Done” to indicate if the function is still preparing the device or if it has completed preparation

Transitions are instances of Objects of the TransitionType defined in [OPC 10000-5] which also includes the definitions of the ToState, FromState, HasCause, and HasEffect References used. Table 75 specifies the Transitions defined for the AnalyserChannel_OperatingModeSubStateMachineType. Each Transition is assigned a unique TransitionNumber.

Table 75 – AnalyserChannel_OperatingModeSubStateMachine Transitions

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

Transitions

StoppedToResettingTransition

HasProperty

TransitionNumber

1

PropertyType

FromState

Stopped

StateType

ToState

Resetting

StateType

HasCause

Reset

Method

HasCause

SetConfiguration

Method

ResettingTransition

HasProperty

TransitionNumber

2

PropertyType

FromState

Resetting

StateType

ToState

Resetting

StateType

ResettingToIdleTransition

HasProperty

TransitionNumber

3

PropertyType

FromState

Resetting

StateType

ToState

Idle

StateType

IdleToStartingTransition

HasProperty

TransitionNumber

4

PropertyType

FromState

Idle

StateType

ToState

Starting

StateType

HasCause

Start

Method

HasCause

StartSingleAcquisition

Method

StartingTransition

HasProperty

TransitionNumber

5

PropertyType

FromState

Starting

StateType

ToState

Starting

StateType

StartingToExecuteTransition

HasProperty

TransitionNumber

6

PropertyType

FromState

Starting

StateType

ToState

Execute

StateType

ExecuteToCompletingTransition

HasProperty

TransitionNumber

7

PropertyType

FromState

Execute

StateType

ToState

Completing

StateType

CompletingTransition

HasProperty

TransitionNumber

8

PropertyType

FromState

Completing

StateType

ToState

Completing

StateType

CompletingToCompleteTransition

HasProperty

TransitionNumber

9

PropertyType

FromState

Completing

StateType

ToState

Complete

StateType

CompleteToStoppedTransition

HasProperty

TransitionNumber

10

PropertyType

FromState

Complete

StateType

ToState

Stopped

StateType

ExecuteToHoldingTransition

HasProperty

TransitionNumber

11

PropertyType

FromState

Execute

StateType

ToState

Holding

StateType

HasCause

Hold

Method

HoldingTransition

HasProperty

TransitionNumber

12

PropertyType

FromState

Holding

StateType

ToState

Holding

StateType

HoldingToHeldTransition

HasProperty

TransitionNumber

13

PropertyType

FromState

Holding

StateType

ToState

Held

StateType

HeldToUnholdingTransition

HasProperty

TransitionNumber

14

PropertyType

FromState

Held

StateType

ToState

Unholding

StateType

HasCause

Unhold

Method

UnholdingTransition

HasProperty

TransitionNumber

15

PropertyType

FromState

Unholding

StateType

ToState

Unholding

StateType

UnholdingToHoldingTransition

HasProperty

TransitionNumber

16

PropertyType

FromState

Unholding

StateType

ToState

Holding

StateType

HasCause

Hold

Method

UnholdingToExecuteTransition

HasProperty

TransitionNumber

17

PropertyType

FromState

Unholding

StateType

ToState

Execute

StateType

ExecuteToSuspendingTransition

HasProperty

TransitionNumber

18

PropertyType

FromState

Execute

StateType

ToState

Suspending

StateType

HasCause

Suspend

Method

SuspendingTransition

HasProperty

TransitionNumber

19

PropertyType

FromState

Suspending

StateType

ToState

Suspending

StateType

SuspendingToSuspendedTransition

HasProperty

TransitionNumber

20

PropertyType

FromState

Suspending

StateType

ToState

Suspended

StateType

SuspendedToUnsuspendingTransition

HasProperty

TransitionNumber

21

PropertyType

FromState

Suspended

StateType

ToState

Unsuspending

StateType

HasCause

Unsuspend

Method

UnsuspendingTransition

HasProperty

TransitionNumber

22

PropertyType

FromState

Unsuspending

StateType

ToState

Unsuspending

StateType

UnsuspendingToSuspendingTransition

HasProperty

TransitionNumber

23

PropertyType

FromState

Unsuspending

StateType

ToState

Suspending

StateType

HasCause

Suspend

Method

UnsuspendingToExecuteTransition

HasProperty

TransitionNumber

24

PropertyType

FromState

Unsuspending

StateType

ToState

Execute

StateType

StoppingToStoppedTransition

HasProperty

TransitionNumber

25

PropertyType

FromState

Stopping

StateType

ToState

Stopped

StateType

AbortingToAbortedTransition

HasProperty

TransitionNumber

26

PropertyType

FromState

Aborting

StateType

ToState

Aborted

StateType

AbortedToClearingTransition

HasProperty

TransitionNumber

27

PropertyType

FromState

Aborted

StateType

ToState

Clearing

StateType

HasCause

Clear

Method

ClearingToStoppedTransition

HasProperty

TransitionNumber

28

PropertyType

FromState

Clearing

StateType

ToState

Stopped

StateType

ResettingToStoppingTransition

HasProperty

TransitionNumber

29

PropertyType

FromState

Resetting

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

IdleToStoppingTransition

HasProperty

TransitionNumber

30

PropertyType

FromState

Idle

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

StartingToStoppingTransition

HasProperty

TransitionNumber

31

PropertyType

FromState

Starting

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

ExecuteToStoppingTransition

HasProperty

TransitionNumber

32

PropertyType

FromState

Execute

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

CompletingToStoppingTransition

HasProperty

TransitionNumber

33

PropertyType

FromState

Completing

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

CompleteToStoppingTransition

HasProperty

TransitionNumber

34

PropertyType

FromState

Complete

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

SuspendingToStoppingTransition

HasProperty

TransitionNumber

35

PropertyType

FromState

Suspending

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

SuspendedToStoppingTransition

HasProperty

TransitionNumber

36

PropertyType

FromState

Suspended

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

UnsuspendingToStoppingTransition

HasProperty

TransitionNumber

37

PropertyType

FromState

Unsuspending

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

HoldingToStoppingTransition

HasProperty

TransitionNumber

38

PropertyType

FromState

Holding

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

HeldToStoppingTransition

HasProperty

TransitionNumber

39

PropertyType

FromState

Held

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

UnholdingToStoppingTransition

HasProperty

TransitionNumber

40

PropertyType

FromState

Unholding

StateType

ToState

Stopping

StateType

HasCause

Stop

Method

StoppedToAbortingTransition

HasProperty

TransitionNumber

41

PropertyType

FromState

Stopped

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

ResettingToAbortingTransition

HasProperty

TransitionNumber

42

PropertyType

FromState

Resetting

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

IdleToAbortingTransition

HasProperty

TransitionNumber

43

PropertyType

FromState

Idle

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

StartingToAbortingTransition

HasProperty

TransitionNumber

44

PropertyType

FromState

Starting

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

ExecuteToAbortingTransition

HasProperty

TransitionNumber

45

PropertyType

FromState

Execute

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

CompletingToAbortingTransition

HasProperty

TransitionNumber

46

PropertyType

FromState

Completing

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

CompleteToAbortingTransition

HasProperty

TransitionNumber

47

PropertyType

FromState

Complete

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

SuspendingToAbortingTransition

HasProperty

TransitionNumber

48

PropertyType

FromState

Suspending

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

SuspendedToAbortingTransition

HasProperty

TransitionNumber

49

PropertyType

FromState

Suspended

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

UnsuspendingToAbortingTransition

HasProperty

TransitionNumber

50

PropertyType

FromState

Unsuspending

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

HoldingToAbortingTransition

HasProperty

TransitionNumber

51

PropertyType

FromState

Holding

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

HeldToAbortingTransition

HasProperty

TransitionNumber

52

PropertyType

FromState

Held

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

UnholdingToAbortingTransition

HasProperty

TransitionNumber

53

PropertyType

FromState

Unholding

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

StoppingToAbortingTransition

HasProperty

TransitionNumber

54

PropertyType

FromState

Stopping

StateType

ToState

Aborting

StateType

HasCause

Abort

Method

The Reset transition specifies the Transition from the Complete or Stopped to the Resetting State. It may be caused by the Reset Method or by the SetConfiguration Method.

The Start transition specifies the Transition from the Idle to the Starting State. It may be caused by the Start Method.

The Stop transition specifies the Transition from the Stopping, Idle, Resetting, Unholding, Starting, Unsuspending, Held, Execute, Suspend, Holding, Completing, Suspending, or Complete to the Stopping State. It may be caused by the Stop Method.

The Hold transition specifies the Transition from the Unholding or Execute to the Holding State. It may be caused by the Hold Method.

The Unhold transition specifies the Transition from the Held to the Unholding State. It may be caused by the Unhold Method.

The Suspend transition specifies the Transition from the Unsuspending or Execute to the Suspending State. It may be caused by the Suspend Method.

The Abort transition specifies the Transition from the Stopping, Idle, Resetting, Unholding, Starting, Unsuspending, Held, Execute, Suspend, Holding, Completing, Suspending, Complete, Clearing, Stopped, or Stopping to the Aborting State. It may be caused by the Abort Method.

The Clear transition specifies the Transition from the Aborted to the Clearing State. It may be caused by the Clear Method.

The Complete transition specifies the Transition from the Execute to the Completing State.

The AnalyserChannel_OperatingModeExecuteSubStateMachineType describes the sub-states of the AnalyserChannel_OperatingModeStateMachine state Execute. Figure 20 illustrates components of AnalyserChannel_OperatingModeExecuteSubStateMachineType.

image023.png

Figure 20 - AnalyserChannel_OperatingModeExecuteSubStateMachineType

AnalyserChannel_OperatingModeExecuteSubStateMachineType is formally defined in Table 76.

Table 76 – AnalyserChannel_OperatingModeExecuteSub StateMachineType Definition

Attribute

Value

BrowseName

AnalyserChannel_OperatingModeExecuteSub StateMachineType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

Type Definition

Modelling

Rule

Subtype of the FiniteStateMachineType defined in [OPC 10000-5]

HasComponent

Object

SelectExecutionCycle

InitialStateType

Mandatory

HasComponent

Object

WaitForCalibrationTrigger

StateType

Mandatory

HasComponent

Object

ExtractCalibrationSample

StateType

Mandatory

HasComponent

Object

PrepareCalibrationSample

StateType

Mandatory

HasComponent

Object

AnalyseCalibrationSample

StateType

Mandatory

HasComponent

Object

WaitForValidationTrigger

StateType

Mandatory

HasComponent

Object

ExtractValidationSample

StateType

Mandatory

HasComponent

Object

PrepareValidationSample

StateType

Mandatory

HasComponent

Object

AnalyseValidationSample

StateType

Mandatory

HasComponent

Object

WaitForSampleTrigger

StateType

Mandatory

HasComponent

Object

ExtractSample

StateType

Mandatory

HasComponent

Object

PrepareSample

StateType

Mandatory

HasComponent

Object

AnalyseSample

StateType

Mandatory

HasComponent

Object

WaitForDiagnosticTrigger

StateType

Mandatory

HasComponent

Object

Diagnostic

StateType

Mandatory

HasComponent

Object

WaitForCleaningTrigger

StateType

Mandatory

HasComponent

Object

Cleaning

StateType

Mandatory

HasComponent

Object

PublishResults

StateType

Mandatory

HasComponent

Object

EjectGrabSample

StateType

Mandatory

HasComponent

Object

CleanupSamplingSystem

StateType

Mandatory

HasComponent

Object

SelectExecutionCycleToWaitForCalibrationTriggerTransition

TransitionType

Mandatory

HasComponent

Object

WaitForCalibrationTriggerToExtractCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractCalibrationSampleToPrepareCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareCalibrationSampleToAnalyseCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseCalibrationSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseCalibrationSampleToPublishResultsTransition

TransitionType

Mandatory

HasComponent

Object

SelectExecutionCycleToWaitForTriggerValidationTransition

TransitionType

Mandatory

HasComponent

Object

WaitForValidationTriggerToExtractValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractValidationSampleToPrepareValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareValidationSampleToAnalyseValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseValidationSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseValidationSampleToPublishResultsTransition

TransitionType

Mandatory

HasComponent

Object

SelectExecutionCycleToWaitForSampleTriggerTransition

TransitionType

Mandatory

HasComponent

Object

WaitForSampleTriggerToExtractSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractSampleTransition

TransitionType

Mandatory

HasComponent

Object

ExtractSampleToPrepareSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareSampleTransition

TransitionType

Mandatory

HasComponent

Object

PrepareSampleToAnalyseSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseSampleTransition

TransitionType

Mandatory

HasComponent

Object

AnalyseSampleToPublishResultsTransition

TransitionType

Mandatory

HasComponent

Object

SelectExecutionCycleToWaitForDiagnosticTriggerTransition

TransitionType

Mandatory

HasComponent

Object

WaitForDiagnosticTriggerToDiagnosticTransition

TransitionType

Mandatory

HasComponent

Object

DiagnosticTransition

TransitionType

Mandatory

HasComponent

Object

DiagnosticToPublishResultsTransition

TransitionType

Mandatory

HasComponent

Object

SelectExecutionCycleToWaitForCleaningTriggerTransition

TransitionType

Mandatory

HasComponent

Object

WaitForCleaningTriggerToCleaningTransition

TransitionType

Mandatory

HasComponent

Object

CleaningTransition

TransitionType

Mandatory

HasComponent

Object

CleaningToPublishResultsTransition

TransitionType

Mandatory

HasComponent

Object

PublishResultsToCleanupSamplingSystemTransition

TransitionType

Mandatory

HasComponent

Object

PublishResultsToEjectGrabSampleTransition

TransitionType

Mandatory

HasComponent

Object

EjectGrabSampleTransition

TransitionType

Mandatory

HasComponent

Object

EjectGrabSampleToCleanupSamplingSystemTransition

TransitionType

Mandatory

HasComponent

Object

CleanupSamplingSystemTransition

TransitionType

Mandatory

HasComponent

Object

CleanupSamplingSystemToSelectExecutionCycleTransition

TransitionType

Mandatory

Table 78 specifies the AnalyserChannel_OperatingModeExecuteSubStateMachine’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AnalyserChannel_OperatingModeExecuteSubStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.

A standard set of sub-states are defined for AnalyseChannel_OperatingModeExecuteSubStateMachineType. These sub-states represent the operational condition of the AnalyseChannel_OperatingModeSubStateMachine Execute state. All the sub-states must be supported, though they can be transient states.

Table 77 – AnalyserChannel_OperatingModeExecuteSub StateMachineType State Descriptions

StateName

Description

SelectExecutionCycle

This pseudo-state is used to decide which acquisition path shall be taken.

This decision is made using a Parameter ExecutionCycle that can be:

The state machine waits at this state until the underlying system is ready to take a given acquisition path.

WaitForCalibrationTrigger

Wait until the analyser channel is ready to perform the Calibration acquisition cycle, for example:

For analysers that do not need the step, the state is transient.

ExtractCalibrationSample

Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle, for example:

  • Empty and dry the sample liquid cell.
  • Place a calibrated sample in the acquisition path.

For analysers that do not need the step, the state is transient.

PrepareCalibrationSample

Prepare the Calibration sample for the AnalyseCalibrationSample state ,for example:

  • Heating the Calibration sample
  • Homogenizing the Calibration sample

For analysers that do not need the step, the state is transient.

AnalyseCalibrationSample

Perform the analysis of the Calibration Sample, for example:

  • Collect the reference spectrum
  • Collect the particle size histogram

WaitForValidationTrigger

Wait until the analyser channel is ready to perform the Validation acquisition cycle, for example:

For analysers that do not need the step, the state is transient.

ExtractValidationSample

Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle, for example:

  • Empty and dry the sample liquid cell.
  • Place a calibrated sample in the acquisition path.

For analysers that do not need the step, the state is transient.

PrepareValidationSample

Prepare the Validation sample for the AnalyseValidationSample state ,for example:

  • Heating the Validation sample
  • Homogenizing the Validation sample

For analysers that do not need the step, the state is transient.

AnalyseValidationSample

Perform the analysis of the Validation Sample, for example:

  • Collect the Validation spectrum and compare it with the expected values

WaitForSampleTrigger

Wait until the analyser channel is ready to perform the Sample acquisition cycle, for example:

  • The external trigger is received from another system, like an external sampling system
  • A vendor specific Parameter in the AcquisitionSettings has been updated

For analysers that do not need the step, the state is transient.

ExtractSample

Collect the Sample from the process, for example:

  • Physically extract a Sample from the process to fill a liquid cell
  • Extract powder from the blender

Some analyser probes do not need to extract the Sample from the process, for example a NIR reflectance probe. In this case, this state is a pass-through.

PrepareSample

Prepare the Sample for the AnalyseSample state, for example:

  • Heating the Sample
  • Homogenizing the Sample

For analysers that do not need the step, the state is transient.

AnalyseSample

Perform the analysis of the Sample, for example:

  • Collect the Sample spectrum
  • Collect the Sample particle size histogram
  • Collect the Sample chromatogram

WaitForDiagnosticTrigger

Wait until the analyser channel is ready to perform the Diagnostic cycle, for example:

For analysers that do not need the step, the state is transient.

Diagnostic

Perform the Diagnostic cycle. This cycle is a placeholder allowing the analyser vendor to extend this state to represent vendor specific analyser diagnostic cycles.

WaitForCleaningTrigger

Wait until the analyser channel is ready to perform the cleaning acquisition cycle, for example:

For analysers that do not need the step, the state is transient.

Cleaning

Perform the cleaning cycle.

PublishResults

Publish the results of the previous acquisition cycle. When the transition from PublishResults to CleanupSamplingSystem occurs, all results must be available.

EjectGrabSample

The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it and send it to a control lab for example.

CleanupSamplingSystem

Cleanup the sampling sub-system to be ready for the next acquisition, for example:

  • Flush the liquid cell with a solvent

For in-process probes, this state is transient.

The set of states defined to describe an AnalyserChannel_OperatingModeExecuteSubStateMachine can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions. See Table 77 for a description of the states.

ExecutionCycle, ExecutionCycleSubcode and ActiveStream Parameters are set during the SelectExecutionCycle state. From the end of SelectExecutionCycle to the end of CleanupSamplingSystem, these two Parameters shall not change.

ExecutionCycle, ExecutionCycleSubcode, ActiveStream and IsActive Parameters are set during the SelectExecutionCycle state. From the end of SelectExecutionCycle to the end of CleanupSamplingSystem, these two Parameters shall not change.

WaitForxxxTrigger states represent waiting for situation like:

External input i/o visible or not in the address space

Internal timer (visible or not in the address space)

Table 78 – AnalyserChannel_OperatingModeExecuteSub StateMachineType States

BrowseName

References

Target BrowseName

Value

Target Type Definition

States

SelectExecutionCycle

HasProperty

StateNumber

100

PropertyType

FromTransition

CleanupSamplingSystemToSelectExecutionCycleTransition

TransitionType

ToTransition

SelectExecutionCycleToWaitForCalibrationTriggerTransition

TransitionType

ToTransition

SelectExecutionCycleToWaitForValidationTriggerTransition

TransitionType

ToTransition

SelectExecutionCycleToWaitForSampleTriggerTransition

TransitionType

ToTransition

SelectExecutionCycleToWaitForDiagnosticTriggerTransition

TransitionType

ToTransition

SelectExecutionCycleToWaitForCleaningTriggerTransition

TransitionType

ToTransition

SelectExecutionCycleToHoldingTransition

TransitionType

ToTransition

SelectExecutionCycleToSuspendingTransition

TransitionType

WaitForCalibrationTrigger

HasProperty

StateNumber

200

PropertyType

FromTransition

SelectExecutionCycleToWaitForCalibrationTriggerTransition

TransitionType

ToTransition

WaitForCalibrationTriggerTo ExtractCalibrationSampleTransition

TransitionType

ExtractCalibrationSample

HasProperty

StateNumber

300

PropertyType

FromTransition

WaitForCalibrationTriggerToExtractCalibrationSampleTransition

TransitionType

ToTransition

ExtractCalibrationSampleToPrepareCalibrationSampleTransition

TransitionType

PrepareCalibrationSample

HasProperty

StateNumber

400

PropertyType

FromTransition

ExtractCalibrationSampleToPrepareCalibrationSampleTransition

TransitionType

ToTransition

PrepareCalibrationSampleToAnalyseCalibrationSampleTransition

TransitionType

AnalyseCalibrationSample

HasProperty

StateNumber

500

PropertyType

FromTransition

PrepareCalibrationSampleToAnalyseCalibrationSampleTransition

TransitionType

ToTransition

AnalyseCalibrationSampleToPublishResultsTransition

TransitionType

WaitForValidationTrigger

HasProperty

StateNumber

600

PropertyType

FromTransition

SelectExecutionCycleToWaitForValidationTriggerTransition

TransitionType

ToTransition

WaitForValidationTriggerToExtractValidationSampleTransition

TransitionType

ExtractValidationSample

HasProperty

StateNumber

700

PropertyType

FromTransition

WaitForValidationTriggerToExtractValidationSampleTransition

TransitionType

ToTransition

ExtractValidationSampleToPrepareValidationSampleTransition

TransitionType

PrepareValidationSample

HasProperty

StateNumber

800

PropertyType

FromTransition

ExtractValidationSampleToPrepareValidationSampleTransition

TransitionType

ToTransition

PrepareValidationSampleToAnalyseValidationSampleTransition

TransitionType

AnalyseValidationSample

HasProperty

StateNumber

900

PropertyType

FromTransition

PrepareValidationSampleToAnalyseValidationSampleTransition

TransitionType

ToTransition

AnalyseValidationSampleToPublishResultsTransition

TransitionType

WaitForSampleTrigger

HasProperty

StateNumber

1000

PropertyType

FromTransition

SelectExecutionCycleToWaitForSampleTriggerTransition

TransitionType

ToTransition

WaitForSampleTriggerToExtractSampleTransition

TransitionType

ExtractSample

HasProperty

StateNumber

1100

PropertyType

FromTransition

WaitForSampleTriggerToExtractSampleTransition

TransitionType

ToTransition

ExtractSampleToPrepareSampleTransition

TransitionType

PrepareSample

HasProperty

StateNumber

1200

PropertyType

FromTransition

ExtractSampleToPrepareSampleTransition

TransitionType

ToTransition

PrepareSampleToAnalyseSampleTransition

TransitionType

AnalyseSample

HasProperty

StateNumber

1300

PropertyType

FromTransition

PrepareSampleToAnalyseSampleTransition

TransitionType

ToTransition

AnalyseSampleToPublishResultsTransition

TransitionType

WaitForDiagnosticTrigger

HasProperty

StateNumber

1400

PropertyType

FromTransition

SelectExecutionCycleToWaitForDiagnosticTriggerTransition

TransitionType

ToTransition

WaitForDiagnosticTriggerToDiagnosticTransition

TransitionType

Diagnostic

HasProperty

StateNumber

1500

PropertyType

FromTransition

WaitForDiagnosticTriggerToDiagnosticTransition

TransitionType

ToTransition

DiagnosticToPublishResultsTransition

TransitionType

WaitForCleaningTrigger

HasProperty

StateNumber

1600

PropertyType

FromTransition

SelectExecutionCycleToWaitForCleaningTriggerTransition

TransitionType

ToTransition

WaitForCleaningTriggerToCleaningTransition

TransitionType

Cleaning

HasProperty

StateNumber

1700

PropertyType

FromTransition

WaitForCleaningTriggerToCleaningTransition

TransitionType

ToTransition

CleaningToPublishResultsTransition

TransitionType

PublishResults

HasProperty

StateNumber

1800

PropertyType

FromTransition

AnalyseCalibrationToPublishResultsTransition

TransitionType

FromTransition

AnalyseValidationToPublishResultsTransition

TransitionType

FromTransition

AnalyseSampleToPublishResultsTransition

TransitionType

FromTransition

DiagnosticToPublishResultsTransition

TransitionType

FromTransition

CleaningToPublishResultsTransition

TransitionType

ToTransition

PublishResultsToCleanupSamplingSystemTransition

TransitionType

ToTransition

PublishResultsToEjectGrabSampleSystemTransition

TransitionType

EjectGrabSample

HasProperty

StateNumber

1900

PropertyType

FromTransition

PublishResultsToEjectGrabSampleTransition

TransitionType

ToTransition

EjectGrabSampleToCleanupSamplingSystemTransition

TransitionType

CleanupSamplingSystem

HasProperty

StateNumber

2000

PropertyType

FromTransition

PublishResultsToCleanupSamplingSystemTransition

TransitionType

FromTransition

EjectGrabSampleToCleanupSamplingSystemTransition

TransitionType

ToTransition

CleanupSamplingSystemToSelectExecutionCycleTransition

TransitionType

Transitions are instances of Objects of the TransitionType defined in [OPC 10000-5] which also includes the definitions of the ToState, FromState, HasCause, and HasEffect References used. Table 79 specifies the Transitions defined for the AnalyserChannel_OperatingModeExecuteSubStateMachineType. Each Transition is assigned a unique TransitionNumber.

Table 79 AnalyserChannel_OperatingModeExecuteSub StateMachine Transitions

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

Transitions

SelectExecutionCycleToWaitForCalibrationTriggerTransition

HasProperty

TransitionNumber

1

PropertyType

FromState

SelectExecutionCycle

StateType

ToState

WaitForCalibrationTrigger

StateType

WaitForCalibrationTriggerToExtractCalibrationSampleTransition

HasProperty

TransitionNumber

2

PropertyType

FromState

WaitForCalibrationTrigger

StateType

ToState

ExtractCalibrationSample

StateType

HasCause

Trigger received

External cause

ExtractCalibrationSampleTransition

HasProperty

TransitionNumber

3

PropertyType

FromState

ExtractCalibrationSample

StateType

ToState

ExtractCalibrationSample

StateType

ExtractCalibrationSampleToPrepareCalibrationSampleTransition

HasProperty

TransitionNumber

4

PropertyType

FromState

ExtractCalibrationSample

StateType

ToState

PrepareCalibrationSample

StateType

PrepareCalibrationSampleTransition

HasProperty

TransitionNumber

5

PropertyType

FromState

PrepareCalibrationSample

StateType

ToState

PrepareCalibrationSample

StateType

PrepareCalibrationSampleToAnalyseCalibrationSampleTransition

HasProperty

TransitionNumber

6

PropertyType

FromState

PrepareCalibrationSample

StateType

ToState

AnalyseCalibrationSample

StateType

AnalyseCalibrationSampleTransition

HasProperty

TransitionNumber

7

PropertyType

FromState

AnalyseCalibrationSample

StateType

ToState

AnalyseCalibrationSample

StateType

AnalyseCalibrationSampleToPublishResultsTransition

HasProperty

TransitionNumber

8

PropertyType

FromState

AnalyseCalibrationSample

StateType

ToState

PublishResults

StateType

SelectExecutionCycleToWaitForValidationTriggerTransition

HasProperty

TransitionNumber

9

PropertyType

FromState

SelectExecutionCycle

StateType

ToState

WaitForValidationTrigger

StateType

WaitForValidationTriggerToExtractValidationSampleTransition

HasProperty

TransitionNumber

10

PropertyType

FromState

WaitForValidationTrigger

StateType

ToState

ExtractValidationSample

StateType

HasCause

Trigger received

External cause

ExtractValidationSampleTransition

HasProperty

TransitionNumber

11

PropertyType

FromState

ExtractValidationSample

StateType

ToState

ExtractValidationSample

StateType

ExtractValidationSampleToPrepareValidationSampleTransition

HasProperty

TransitionNumber

12

PropertyType

FromState

ExtractValidationSample

StateType

ToState

PrepareValidationSample

StateType

PrepareValidationSampleTransition

HasProperty

TransitionNumber

13

PropertyType

FromState

PrepareValidationSample

StateType

ToState

PrepareValidationSample

StateType

PrepareValidationSampleToAnalyseValidationSampleTransition

HasProperty

TransitionNumber

14

PropertyType

FromState

PrepareValidationSample

StateType

ToState

AnalyseValidationSample

StateType

AnalyseValidationSampleTransition

HasProperty

TransitionNumber

15

PropertyType

FromState

AnalyseValidationSample

StateType

ToState

AnalyseValidationSample

StateType

AnalyseValidationSampleToPublishResultsTransition

HasProperty

TransitionNumber

16

PropertyType

FromState

AnalyseValidationSample

StateType

ToState

PublishResults

StateType

SelectExecutionCycleToWaitFoSampleTriggerTransition

HasProperty

TransitionNumber

17

PropertyType

FromState

SelectExecutionCycle

StateType

ToState

WaitFoSampleTrigger

StateType

WaitForSampleTriggerToExtractSampleTransition

HasProperty

TransitionNumber

18

PropertyType

FromState

WaitForSampleTrigger

StateType

ToState

ExtractSample

StateType

HasCause

Trigger received

External cause

ExtractSampleTransition

HasProperty

TransitionNumber

19

PropertyType

FromState

ExtractSample

StateType

ToState

ExtractSample

StateType

ExtractSampleToPrepareSampleTransition

HasProperty

TransitionNumber

20

PropertyType

FromState

ExtractSample

StateType

ToState

PrepareSample

StateType

PrepareSampleTransition

HasProperty

TransitionNumber

21

PropertyType

FromState

PrepareSample

StateType

ToState

PrepareSample

StateType

PrepareSampleToAnalyseSampleTransition

HasProperty

TransitionNumber

22

PropertyType

FromState

PrepareSample

StateType

ToState

AnalyseSample

StateType

AnalyseSampleTransition

HasProperty

TransitionNumber

23

PropertyType

FromState

AnalyseSample

StateType

ToState

AnalyseSample

StateType

AnalyseSampleToPublishResultsTransition

HasProperty

TransitionNumber

24

PropertyType

FromState

AnalyseSample

StateType

ToState

PublishResults

StateType

SelectExecutionCycleToWaitForDiagnostic TriggerTransition

HasProperty

TransitionNumber

25

PropertyType

FromState

SelectExecutionCycle

StateType

ToState

WaitForDiagnostic Trigger

StateType

WaitForDiagnosticTriggerToDiagnosticTransition

HasProperty

TransitionNumber

26

PropertyType

FromState

WaitForDiagnosticTrigger

StateType

ToState

Diagnostic

StateType

HasCause

Trigger received

External cause

DiagnosticTransition

HasProperty

TransitionNumber

27

PropertyType

FromState

Diagnostic

StateType

ToState

Diagnostic

StateType

DiagnosticToPublishResultsTransition

HasProperty

TransitionNumber

28

PropertyType

FromState

Diagnostic

StateType

ToState

PublishResults

StateType

SelectExecutionCycleToWaitForCleaningTriggerTransition

HasProperty

TransitionNumber

29

PropertyType

FromState

SelectExecutionCycle

StateType

ToState

WaitForCleaningTrigger

StateType

WaitForCleaningTriggerToCleaningTransition

HasProperty

TransitionNumber

30

PropertyType

FromState

WaitForCleaningTrigger

StateType

ToState

Cleaning

StateType

HasCause

Trigger received

External cause

CleaningTransition

HasProperty

TransitionNumber

31

PropertyType

FromState

Cleaning

StateType

ToState

Cleaning

StateType

CleaningToPublishResultsTransition

HasProperty

TransitionNumber

32

PropertyType

FromState

Cleaning

StateType

ToState

PublishResults

StateType

PublishResultsToCleanupSamplingSystemTransition

HasProperty

TransitionNumber

33

PropertyType

FromState

PublishResults

StateType

ToState

CleanupSamplingSystem

StateType

PublishResultsToEjectGrabSampleTransition

HasProperty

TransitionNumber

34

PropertyType

FromState

PublishResults

StateType

ToState

EjectGrabSample

StateType

EjectGrabSampleTransition

HasProperty

TransitionNumber

35

PropertyType

FromState

EjectGrabSample

StateType

ToState

EjectGrabSample

StateType

EjectGrabSampleToCleanupSamplingSystemTransition

HasProperty

TransitionNumber

36

PropertyType

FromState

EjectGrabSample

StateType

ToState

CleanupSamplingSystem

StateType

CleanupSamplingSystemTransition

HasProperty

TransitionNumber

37

PropertyType

FromState

CleanupSamplingSystem

StateType

ToState

CleanupSamplingSystem

StateType

CleanupSamplingSystemToSelectExecutionCycleTransition

HasProperty

TransitionNumber

38

PropertyType

FromState

CleanupSamplingSystem

StateType

ToState

SelectExecutionCycle

StateType

HasCause

Configured acquisition is not completed

External cause

There are no Methods defined for AnalyserChannel_OperatingModeExecuteSubStateMachineType.

This specification does not define any sub-states for the AnalyserChannel_LocalModeSubStateMachineType.

This specification does not define any sub-states for the AnalyserChannel_MaintenanceModeSubStateMachineType.

The AccessorySlotStateMachine describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed.

Figure 21 illustrates components of the AccessorySlotStateMachineType.

image024.png

Figure 21 – AccessorySlotStateMachineTypeMachineType

If the accessory is not hot swappable or the accessory is already installed when the AnalyserDevice is powered-on the Inserting state becomes transient but remains present.

AccessorySlotStateMachineType is formally defined in Table 80.

Table 80 – AccessorySlotStateMachineType Definition

Attribute

Value

Includes all Attributes specified for the FiniteStateMachineType

BrowseName

AccessorySlotStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

TypeDefinition

Modelling

Rule

Subtype of the FiniteStateMachineType defined in [OPC 10000-5]

HasComponent

Object

Powerup

InitialStateType

Mandatory

HasComponent

Object

Empty

StateType

Mandatory

HasComponent

Object

Inserting

StateType

Mandatory

HasComponent

Object

Installed

StateType

Mandatory

HasComponent

Object

Removing

StateType

Mandatory

HasComponent

Object

Shutdown

StateType

Mandatory

HasComponent

Object

PowerupToEmptyTransition

TransitionType

Mandatory

HasComponent

Object

EmptyToInsertingTransition

TransitionType

Mandatory

HasComponent

Object

InsertingTransition

TransitionType

Mandatory

HasComponent

Object

InsertingToRemovingTransition

TransitionType

Mandatory

HasComponent

Object

InsertingToInstalledTransition

TransitionType

Mandatory

HasComponent

Object

InsttalledToRemovingTransition

TransitionType

Mandatory

HasComponent

Object

RemovingTransition

TransitionType

Mandatory

HasComponent

Object

RemovingToEmptyTransition

TransitionType

Mandatory

HasComponent

Object

EmptyToShutdownTransition

TransitionType

Mandatory

HasComponent

Object

InsertingToShutdownTransition

TransitionType

Mandatory

HasComponent

Object

InstalledToShutdownTransition

TransitionType

Mandatory

HasComponent

Object

RemovingToShutdownTransition

TransitionType

Mandatory

This specification does not define any Methods, which cause transitions in the AccessorySlotStateMachineType. Transitions occur as a result of two external causes:

  • Accessory insertion
  • Accessory removal

Table 82 specifies the AccessorySlotStateMachine’s State Objects. These State Objects are instances of the StateType defined in [OPC 10000-5]. Each State is assigned a unique StateNumber value. Subtypes of the AccessorySlotStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine.

A standard set of states are defined for AccessorySlots. These states represent the operational condition of the AccessorySlot. All AccessorySlots must support this base set. See Table 81 for the descriptions of the states.

Table 81 – AccessorySlotStateMachineType State Descriptions

StateName

Description

Powerup

The AccessorySlot is in its power-up sequence and cannot perform any other task.

Empty

This represents an AccessorySlot where no Accessory is installed.

Inserting

This represents an AccessorySlot when an Accessory is being inserted and initializing.

Installed

This represents an AccessorySlot where an Accessory is installed and ready to use

Empty

This represents an AccessorySlot where no Accessory is installed.

Shutdown

The AccessorySlot is in its power-down sequence and cannot perform any other task.

The set of states defined to describe an AccessorySlot can be expanded. Sub-states can be defined for the base states to provide more resolution to the process and to describe the cause and effects of additional stimuli and transitions. See Table 82 for the definitions of the states.

Table 82 – AccessorySlotStateMachineType States

BrowseName

References

Target BrowseName

Value

Target TypeDefinition

Notes

States

Powerup

HasProperty

StateNumber

100

PropertyType

ToTransition

PowerupToEmptyTransition

TransitionType

Empty

HasProperty

StateNumber

200

PropertyType

FromTransition

PowerupToEmptyTransition

TransitionType

FromTransition

RemovingToEmptyTransition

TransitionType

ToTransition

EmptyToInsertingTransition

TransitionType

ToTransition

EmptyToShutdownTransition

TransitionType

Inserting

HasProperty

StateNumber

300

PropertyType

FromTransition

EmptyToInsertingTransition

TransitionType

ToTransition

InsertingToInstalledTransition

TransitionType

ToTransition

InsertingToRemovingTransition

TransitionType

ToTransition

InsertingToShutdownTransition

TransitionType

Installed

HasProperty

StateNumber

400

PropertyType

FromTransition

InsertingToInstalledTransition

TransitionType

ToTransition

InstalledToRemovingTransition

TransitionType

ToTransition

InstalledToShutdownTransition

TransitionType

Removing

HasProperty

StateNumber

500

PropertyType

FromTransition

InsertingToRemovingTransition

TransitionType

FromTransition

InstalledToRemovingTransition

TransitionType

ToTransition

RemovingToEmptyTransition

TransitionType

ToTransition

RemovingToShutdownTransition

TransitionType

Shutdown

HasProperty

StateNumber

600

PropertyType

FromTransition

EmptyToShutdownTransition

TransitionType

FromTransition

InsertingToShutdownTransition

TransitionType

FromTransition

InstalledToShutdownTransition

TransitionType

FromTransition

RemovingToShutdownTransition

TransitionType

Table 83 specifies the Transitions defined for the AccessorySlotStateMachineType. Each Transition is assigned a unique TransitionNumber.

Table 83 – AccessorySlotStateMachineType Transitions

BrowseName

References

Target BrowseName

Value

Target Type Definition

Notes

Transitions

PowerupToEmptyTransition

HasProperty

TransitionNumber

1

PropertyType

FromState

Powerup

InitialStateType

ToState

Empty

StateType

EmptyToInsertingTransition

HasProperty

TransitionNumber

2

PropertyType

FromState

Empty

StateType

ToState

Inserting

StateType

InsertingTransition

HasProperty

TransitionNumber

3

PropertyType

FromState

Inserting

StateType

ToState

Inserting

StateType

InsertingToRemovingTransition

HasProperty

TransitionNumber

4

PropertyType

FromState

Inserting

StateType

ToState

Removing

StateType

InsertingToInstalledTransition

HasProperty

TransitionNumber

5

PropertyType

FromState

Inserting

StateType

ToState

Installed

StateType

InstalledToRemovingTransition

HasProperty

TransitionNumber

6

PropertyType

FromState

Installed

StateType

ToState

Removing

StateType

RemovingTransition

HasProperty

TransitionNumber

7

PropertyType

FromState

Removing

StateType

ToState

Removing

StateType

RemovingToEmptyTransition

HasProperty

TransitionNumber

8

PropertyType

FromState

Removing

StateType

ToState

Empty

StateType

EmptyToShutdownTransition

HasProperty

TransitionNumber

9

PropertyType

FromState

Empty

StateType

ToState

Shutdown

StateType

InsertingToShutdownTransition

HasProperty

TransitionNumber

10

PropertyType

FromState

Inserting

StateType

ToState

Shutdown

StateType

InstalledToShutdownTransition

HasProperty

TransitionNumber

11

PropertyType

FromState

Installed

StateType

ToState

Shutdown

StateType

RemovingToShutdownTransition

HasProperty

TransitionNumber

12

PropertyType

FromState

Removing

StateType

ToState

Shutdown

StateType