Table 82 specifies the VisionStateMachine’s state Objects. These state Objects are instances of the StateType defined in OPC 10000-5 – Annex B. Each state is assigned a unique StateNumber value. Subtypes of the VisionStateMachineType can add References from any state to a subordinate or nested StateMachine Object to extend the FiniteStateMachine. See Table 83 for a brief description of the states.

Table 82 – VisionStateMachineType States

BrowseName

References

Target BrowseName

Value

Target TypeDefinition

Notes

Preoperational

HasProperty

StateNumber

1

PropertyType

--

FromTransition

HaltedToPreoperational

TransitionType

--

FromTransition

HaltedToPreoperationalAuto

TransitionType

--

FromTransition

ErrorToPreoperationalAuto

TransitionType

--

FromTransition

ErrorToPreoperational

TransitionType

--

FromTransition

OperationalToPreoperational

TransitionType

--

FromTransition

OperationalToPreoperationalAuto

TransitionType

--

ToTransition

PreoperationalToHalted

TransitionType

--

ToTransition

PreoperationalToHaltedAuto

TransitionType

--

ToTransition

PreoperationalToErrorAuto

TransitionType

--

ToTransition

PreoperationalToOperational

TransitionType

--

ToTransition

PreoperationalToOperationalAuto

TransitionType

--

ToTransition

PreoperationalToInitialized

TransitionType

--

ToTransition

PreoperationalToInitializedAuto

TransitionType

--

HasSubStateMachine

PreoperationalStepModel

VisionStepModelStateMachineType

--

Halted

HasProperty

StateNumber

2

PropertyType

--

FromTransition

PreoperationalToHalted

TransitionType

--

FromTransition

PreoperationalToHaltedAuto

TransitionType

--

FromTransition

ErrorToHalted

TransitionType

--

FromTransition

ErrorToHaltedAuto

TransitionType

--

FromTransition

OperationalToHalted

TransitionType

--

FromTransition

OperationalToHaltedAuto

TransitionType

--

ToTransition

HaltedToPreoperational

TransitionType

--

ToTransition

HaltedToPreoperationalAuto

TransitionType

--

HasSubStateMachine

HaltedStepModel

VisionStepModelStateMachineType

--

Error

HasProperty

StateNumber

3

PropertyType

--

FromTransition

PreoperationalToErrorAuto

TransitionType

--

FromTransition

OperationalToErrorAuto

TransitionType

--

ToTransition

ErrorToPreoperational

TransitionType

--

ToTransition

ErrorToPreoperationalAuto

TransitionType

--

ToTransition

ErrorToHalted

TransitionType

--

ToTransition

ErrorToHaltedAuto

TransitionType

--

ToTransition

ErrorToOperationalAuto

TransitionType

--

HasSubStateMachine

ErrorStepModel

VisionStepModelStateMachineType

--

Operational

HasProperty

StateNumber

4

PropertyType

--

FromTransition

PreoperationalToOperational

TransitionType

--

FromTransition

PreoperationalToOperationalAuto

TransitionType

--

FromTransition

ErrorToOperationalAuto

TransitionType

--

ToTransition

OperationalToPreoperational

TransitionType

--

ToTransition

OperationalToPreoperationalAuto

TransitionType

--

ToTransition

OperationalToHalted

TransitionType

--

ToTransition

OperationalToHaltedAuto

TransitionType

--

ToTransition

OperationalToErrorAuto

TransitionType

--

HasSubStateMachine

AutomaticModeStateMachine

VisionAutomaticModeStateMachineType

--

The brief state descriptions in Table 83 will be detailed in the following subsections.

Table 83 – VisionStateMachineType State Descriptions

StateName

Description

Preoperational

This is the initial state of the system after power-up and the state after a Reset method call. From here the system has to be brought into Operational state by selecting a mode of operation. Alternatively it can be halted.

Halted

This state is intended as the final state in the operation of the system. All resources shall be in a state allowing for safe power-down. However, the system can be put back into operation by a Reset method call, going through the Preoperational state.

Error

This state intended for the indication and resolution of errors preventing normal operation of the system.

Operational

This is the state for normal operation of the system. It is always a composite state with the SubStateMachine modelling the current mode of operation.

This specification describes only a single mode of operation, the “Automatic” mode, described in 8.3. Vendors can add other modes of operation by sub-typing VisionStateMachineType and adding other SubStateMachines for these modes of operation. See Section 8.3.9 for implementation remarks.

In this state, the system is characterized by the following properties:

  • System is powered on, this is the initial state after power on
  • No recipes are loaded
  • No mode of operation is selected
  • No error is detected

This state shall be entered automatically upon startup.

If an error is detected, the system shall transit to the Error state.

This state can be entered from any state, either by an automatic transition or caused by calling the Reset method.

From this state, all other states on this level can be reached, either by an automatic transition or by calling the Halt method for the Halted state or the SelectModeAutomatic method for sub-state Initialized of the Automatic mode SubStateMachine of state Operational. (see 8.3 for the description of the Automatic mode SubStateMachine and see 8.3.9 for implementation remarks on state machines derived from VisionStateMachineType for other modes of operation) or other SelectMode methods for other, vendor-specific, sub state machines of the Operational state.

This state can be a composite state with an optional VisionStepModelStateMachineType SubStateMachine.

In this state, the system is characterized by the following properties:

  • The system has stopped all operations
  • The system can safely be powered down (e.g. all files are closed; all resources are released, …)
  • The OPC UA server shall still be running to allow for a transition to state Preoperational.

This state can be reached from any other state either by an automatic transition or by calling the Halt method. Calling the Halt method in this state will not have an effect.

From this state, only Preoperational state can be reached, either by an automatic transition or by calling the Reset method.

This state can be a composite state with an optional VisionStepModelStateMachineType SubStateMachine.

In this state, the system is characterized by the following properties:

  • An error has occurred which disrupts normal operation.
  • The system issues messages (in the form of Conditions) informing clients about the error; it awaits acknowledgement of these messages, i.e., the information that some client has received the message, and optionally confirmation, i.e., the information that some corrective action has been taken, typically by human intervention.
  • The system tries to resolve the error by internal means taking into account the (mandatory) acknowledgement and (optional) confirmation of the messages issued.

This state can be entered from any other state by an automatic transition due to an error detected by the system.

This state can be left by an automatic transition based on the result of the error resolution into any other state, or into Preoperational state by a Reset method call or into Halted state by a Halt method call, provided the requirements on Acknowledgement and Confirmation have been fulfilled. For details on signaling error conditions and on error resolution behavior see Section 11.4.6.

This state can be a composite state with an optional VisionStepModelStateMachineType SubStateMachine.

State Operational is a composite state with a mandatory VisionAutomaticModeStateMachineType SubStateMachine.

In this state, the system is characterized by the following properties:

  • The system has been initialized so far that the normal operation intended for the given mode of operation can be carried out as well as various system management functions.
  • The system has not detected an error preventing it from carrying out this operation (by transitioning into state Error).
  • The system is in any of the states of the VisionAutomaticModeStateMachineType, carrying out its normal operation, or in a state of another state machine added by the vendor as an additional SubStateMachine of state Operational.