12 MachineryItemState ToC Previous Next

12.2 MachineryItemState_StateMachineType ToC Previous Next

The MachineryItemState_StateMachineType is a subtype of FiniteStateMachineType defined in OPC 10000-16. The semantic of this AddIn is to provide the state of a MachineryItem. It is formally defined in Table 29.

Table 29 – MachineryItemState_StateMachineType Definition

Attribute Value        
BrowseName MachineryItemState_StateMachineType        
IsAbstract False        
Description State machine representing the state of a machinery item        
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:FiniteStateMachineType defined in OPC 10000-16, i.e. inheriting the InstanceDeclarations of that Node.          
0:HasProperty Variable 0:DefaultInstanceBrowseName 0:QualifiedName 0:PropertyType -
0:HasComponent Object NotAvailable - 0:StateType -
0:HasComponent Object OutOfService - 0:StateType -
0:HasComponent Object Executing - 0:StateType -
0:HasComponent Object NotExecuting - 0:StateType -
0:HasComponent Object FromNotAvailableToOutOfService - 0:TransitionType -
0:HasComponent Object FromNotAvailableToNotExecuting - 0:TransitionType -
0:HasComponent Object FromNotAvailableToExecuting - 0:TransitionType -
0:HasComponent Object FromNotAvailableToNotAvailable - 0:TransitionType -
0:HasComponent Object FromOutOfServiceToNotAvailable - 0:TransitionType -
0:HasComponent Object FromOutOfServiceToNotExecuting - 0:TransitionType -
0:HasComponent Object FromOutOfServiceToExecuting - 0:TransitionType -
0:HasComponent Object FromOutOfServiceToOutOfService - 0:TransitionType -
0:HasComponent Object FromNotExecutingToNotAvailable - 0:TransitionType -
0:HasComponent Object FromNotExecutingToOutOfService - 0:TransitionType -
0:HasComponent Object FromNotExecutingToExecuting - 0:TransitionType -
0:HasComponent Object FromNotExecutingToNotExecuting - 0:TransitionType -
0:HasComponent Object FromExecutingToNotAvailable - 0:TransitionType -
0:HasComponent Object FromExecutingToOutOfService - 0:TransitionType -
0:HasComponent Object FromExecutingToNotExecuting - 0:TransitionType -
0:HasComponent Object FromExecutingToExecuting - 0:TransitionType -
Conformance Units          
Machinery MachineryItem State          

The States and Transitions define a StateMachine as shown in Figure 13. It does not define an initial State, i.e., the initial State is vendor-specific.

Note: None of the States or Transitions have a ModellingRule, i.e., they are only provided in the TypeDefinition, not on the instance. The CurrentState Variable (inherited from StateMachineType) contains the information of the current State of the instance.

The NotAvailable State represents that the MachineryItem is not available and does not perform any activity. Examples for this State are that the Machine is switched off or is in energy saving mode.

Note: Activity can be part of the production, preparation or maintenance process.

Note: The NotAvailable State should only be used, when the State of the Machine is known. If the OPC UA Server is for example deployed outside the Machine and just lost the connection to the Machine, it should rather use a Bad StatusCode for the CurrentState than the NotAvailable State.

Note: Depending on the deployment of the OPC UA Server, the NotAvailable State might never be provided by the OPC UA Server, since the Server might not be available when the Machine is not available, e.g., if the OPC UA Server is deployed on a PLC of the Machine.

The OutOfService State represents that the MachineryItem is not functional and does not perform any activity. Examples for this State are that the Machine is in an error or blocked.

The NotExecuting State represents that the MachineryItem is available & functional and does not perform any activity. It waits for an action from outside to start or restart an activity. Examples for this State are that the Machine is waiting for a new order to be produced, a piece put into the Machine or an automatic or manual activation to be executed.

The Executing State represents that the Machine is available & functional and is actively performing an activity (pursues a purpose). Examples for this State are that the Machine is producing, transporting or processing something or executing a maintenance process.

The meaning of the Transitions is defined in the Description of Table 30.

The InstanceDeclarations of the MachineryItemState_StateMachineType have additional Attribute values defined in Table 30.

Table 30 – MachineryItemState_StateMachineType Attribute Values for Child Nodes

SourceBrowsePath Value Description
0:DefaultInstanceBrowseName MachineryItemState The default BrowseName for instances of the type
NotAvailable - The machine is not available and does not perform any activity (e.g., switched off, in energy saving mode)
OutOfService - The machine is not functional and does not perform any activity (e.g., error, blocked)
NotExecuting - The machine is available & functional and does not perform any activity. It waits for an action from outside to start or restart an activity
Executing - The machine is available & functional and is actively performing an activity (pursues a purpose)
FromNotAvailableToOutOfService - Transition from state NotAvailable to state OutOfService
FromNotAvailableToNotExecuting - Transition from state NotAvailable to state NotExecuting
FromNotAvailableToExecuting - Transition from state NotAvailable to state Executing
FromNotAvailableToNotAvailable - Transition from state NotAvailable to state NotAvailable
FromOutOfServiceToNotAvailable - Transition from state OutOfService to state NotAvailable
FromOutOfServiceToNotExecuting - Transition from state OutOfService to state NotExecuting
FromOutOfServiceToExecuting - Transition from state OutOfService to state Executing
FromOutOfServiceToOutOfService - Transition from state OutOfService to state OutOfService
FromNotExecutingToNotAvailable - Transition from state NotExecuting to state NotAvailable
FromNotExecutingToOutOfService - Transition from state NotExecuting to state OutOfService
FromNotExecutingToExecuting - Transition from state NotExecuting to state Executing
FromNotExecutingToNotExecuting - Transition from state NotExecuting to state NotExecuting
FromExecutingToNotAvailable - Transition from state Executing to state NotAvailable
FromExecutingToOutOfService - Transition from state Executing to state OutOfService
FromExecutingToNotExecuting - Transition from state Executing to state NotExecuting
FromExecutingToExecuting - Transition from state Executing to state Executing
   NotAvailable
   0:StateNumber
0 -
   OutOfService
   0:StateNumber
1 -
   NotExecuting
   0:StateNumber
2 -
   Executing
   0:StateNumber
3 -
   FromNotAvailableToOutOfService
   0:TransitionNumber
0 -
   FromNotAvailableToExecuting
   0:TransitionNumber
1 -
   FromNotAvailableToNotExecuting
   0:TransitionNumber
2 -
   FromOutOfServiceToNotAvailable
   0:TransitionNumber
3 -
   FromOutOfServiceToExecuting
   0:TransitionNumber
4 -
   FromOutOfServiceToNotExecuting
   0:TransitionNumber
5 -
   FromExecutingToNotAvailable
   0:TransitionNumber
6 -
   FromExecutingToOutOfService
   0:TransitionNumber
7 -
   FromExecutingToNotExecuting
   0:TransitionNumber
8 -
   FromNotExecutingToNotAvailable
   0:TransitionNumber
9 -
   FromNotExecutingToOutOfService
   0:TransitionNumber
10 -
   FromNotExecutingToExecuting
   0:TransitionNumber
11 -
   FromNotAvailableToNotAvailable
   0:TransitionNumber
12 -
   FromOutOfServiceToOutOfService
   0:TransitionNumber
13 -
   FromExecutingToExecuting
   0:TransitionNumber
14 -
   FromNotExecutingToNotExecuting
   0:TransitionNumber
15 -

The components of the MachineryItemState_StateMachineType have additional References which are defined in Table 31.

Table 31 – MachineryItemState_StateMachineType Additional References

SourceBrowsePath Reference Type Is Forward TargetBrowsePath
FromNotAvailableToOutOfService 0:FromState True NotAvailable
  0:ToState True OutOfService
FromNotAvailableToExecuting 0:FromState True NotAvailable
  0:ToState True Executing
FromNotAvailableToNotExecuting 0:FromState True NotAvailable
  0:ToState True NotExecuting
FromOutOfServiceToNotAvailable 0:FromState True OutOfService
  0:ToState True NotAvailable
FromOutOfServiceToExecuting 0:FromState True OutOfService
  0:ToState True Executing
FromOutOfServiceToNotExecuting 0:FromState True OutOfService
  0:ToState True NotExecuting
FromExecutingToNotAvailable 0:FromState True Executing
  0:ToState True NotAvailable
FromExecutingToOutOfService 0:FromState True Executing
  0:ToState True OutOfService
FromExecutingToNotExecuting 0:FromState True Executing
  0:ToState True NotExecuting
FromNotExecutingToNotAvailable 0:FromState True NotExecuting
  0:ToState True NotAvailable
FromNotExecutingToOutOfService 0:FromState True NotExecuting
  0:ToState True OutOfService
FromNotExecutingToExecuting 0:FromState True NotExecuting
  0:ToState True Executing
FromNotAvailableToNotAvailable 0:FromState True NotAvailable
  0:ToState True NotAvailable
FromOutOfServiceToOutOfService 0:FromState True OutOfService
  0:ToState True OutOfService
FromExecutingToExecuting 0:FromState True Executing
  0:ToState True Executing
FromNotExecutingToNotExecuting 0:FromState True NotExecuting
  0:ToState True NotExecuting

Previous Next