The ProductionStateMachineType shows the states an element in production can be in and the possible transitions between those states. The states and transitions are depicted in Figure 15. Their representation in the OPC UA address space is given in Table 42. The name of each transition consists of the names of the states it connects: [FromState]To[ToState]. Their References are specified in Table 45.
Figure 15 – The States and Transitions of the ProductionStateMachineType
The ProductionStateMachineType is formally defined in Table 42.
Table 42 – ProductionStateMachineType Definition
Attribute |
Value |
||||
BrowseName |
ProductionStateMachineType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:FiniteStateMachineType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node. |
|||||
0:HasComponent |
Object |
Aborted |
|
0:StateType |
None |
0:HasComponent |
Object |
AbortedToInitializing |
|
0:TransitionType |
None |
0:HasComponent |
Variable |
0:CurrentState |
0:LocalizedText |
0:FiniteStateVariableType |
M, RO |
0:HasComponent |
Object |
Ended |
|
0:StateType |
None |
0:HasComponent |
Object |
EndedToInitializing |
|
0:TransitionType |
None |
0:HasComponent |
Object |
Initializing |
|
0:InitialStateType |
None |
0:HasComponent |
Object |
InitializingToAborted |
|
0:TransitionType |
None |
0:HasComponent |
Object |
InitializingToRunning |
|
0:TransitionType |
None |
0:HasComponent |
Object |
Interrupted |
|
0:StateType |
None |
0:HasComponent |
Object |
InterruptedToAborted |
|
0:TransitionType |
None |
0:HasComponent |
Object |
InterruptedToRunning |
|
0:TransitionType |
None |
0:HasComponent |
Variable |
0:LastTransition |
0:LocalizedText |
0:FiniteTransitionVariableType |
O, RO |
0:HasComponent |
Object |
Running |
|
0:StateType |
None |
0:HasComponent |
Object |
RunningToAborted |
|
0:TransitionType |
None |
0:HasComponent |
Object |
RunningToEnded |
|
0:TransitionType |
None |
0:HasComponent |
Object |
RunningToInterrupted |
|
0:TransitionType |
None |
0:HasComponent |
Object |
RunningToRunning |
|
0:TransitionType |
None |
Conformance Units |
|||||
MachineTool Production LastTransition |
The states and transitions shall have the numbers indicated in Table 44. The Number property of CurrentState and LastTransition shall use those same numbers for the respective state/transition.
The components CurrentState and LastTransition of the ProductionStateMachineType have their optional property Number changed to be mandatory, as defined in Table 43.
Table 43 – ProductionStateMachineType Additional Subcomponents
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
0:CurrentState |
0:HasProperty |
Variable |
0:Number |
0:UInt32 |
0:PropertyType |
M, RO |
0:LastTransition |
0:HasProperty |
Variable |
0:Number |
0:UInt32 |
0:PropertyType |
M, RO |
The state Aborted indicates that the operation of or on an element in production has been irreversibly stopped before finishing.
Ended is reached when the operation of or on an element in production has finished.
Initializing is the state in which the element in production is being prepared. During this state, the machine doesn’t have to be ready for production, although it has to be as soon as the transition InitializingToRunning is used. The production is not yet started.
Interrupted indicates that the execution of or on the element in production has been reversibly halted. This is usually due to an error or an intervention by the operating personnel. It is possible to restart operation of or on the element in production after it was in the interrupted state.
Running indicates that the operation of or on an element in production has been started or re-started and is currently running.
Table 44 – ProductionStateMachineType Attribute values for child Nodes
BrowsePath |
Value Attribute |
||
|
0 |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
4 |
||
|
0 |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
4 |
||
|
5 |
||
|
6 |
||
|
7 |
||
|
8 |
||
|
9 |
Fields may be empty which means this Attribute is not defined.
InitializingToRunning is triggered when the operation of or on an element in production starts.
RunningToEnded is triggered when the operation of or on an element in production finishes.
EndedToInitializing is triggered when re-initialization of the operation of or on an element in production starts.
RunningToRunning is triggered when another consecutive run of the operation of or on an element in production in direct succession starts.
RunningToInterrupted is triggered when the operation of or on an element in production is interrupted.
InterruptedToRunning is triggered when an interruption ends and the operation of or on an element in production continues running.
RunningToAborted is triggered when the operation of or on an element in production is aborted while in the Running state.
InterruptedToAborted is triggered when the operation of or on an element in production is aborted while in the Interrupted state.
AbortedToInitializing is triggered if the operation of or on an element in production is being re-initialized after an abort.
InitializingToAborted is triggered when the operation of or on an element in production is aborted while in the Initializing state.
Table 45 – ProductionStateMachineType Additional References
SourceBrowsePath |
ReferenceType |
Is Forward |
TargetBrowsePath |
AbortedToInitializing |
0:FromState |
True |
Aborted |
|
0:ToState |
True |
Initializing |
EndedToInitializing |
0:FromState |
True |
Ended |
|
0:ToState |
True |
Initializing |
InitializingToAborted |
0:FromState |
True |
Initializing |
|
0:ToState |
True |
Aborted |
InitializingToRunning |
0:FromState |
True |
Initializing |
|
0:ToState |
True |
Running |
InterruptedToAborted |
0:FromState |
True |
Interrupted |
|
0:ToState |
True |
Aborted |
InterruptedToRunning |
0:FromState |
True |
Interrupted |
|
0:ToState |
True |
Running |
RunningToAborted |
0:FromState |
True |
Running |
|
0:ToState |
True |
Aborted |
RunningToEnded |
0:FromState |
True |
Running |
|
0:ToState |
True |
Ended |
RunningToInterrupted |
0:FromState |
True |
Running |
|
0:ToState |
True |
Interrupted |
RunningToRunning |
0:FromState |
True |
Running |
|
0:ToState |
True |
Running |