[DEPRECATED in version 1.02] The ProductionPartStateMachineType will be replaced by the job management defined in OPC 40001-3 in future versions of this specification. Hence the 0:IsDeprecated Reference was added.
The ProductionPartStateMachineType shows the states a part can be in and the possible transitions between those states. Their representation in the OPC UA address space is given in Table 57. The name of each transition consists of the names of the states it connects: [FromState]To[ToState].
The ProductionPartStateMachineType is formally defined in Table 55.
Table 55 – ProductionPartStateMachineType Definition
Attribute |
Value |
|||||
BrowseName |
ProductionPartStateMachineType |
|||||
IsAbstract |
False |
|||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of the ProductionStateMachineType defined in 8.4.8 i.e. inheriting the InstanceDeclarations of that Node. |
||||||
0:HasComponent |
Object |
Aborted |
|
0:StateType |
None |
|
0:HasComponent |
Object |
AbortedToInitializing |
|
0:TransitionType |
None |
|
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 |
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 |
|
0:IsDeprecated |
Object |
MachineTool_v102 |
|
0:BaseObjectType |
|
|
Conformance Units |
||||||
MachineTool Production ProductionPartStateMachineType |
The ProductionPartStateMachineType allows to send Events of ProductionPartTransitionEventType with every transition, as indicated in Table 57. This makes it possible to send all relevant information of the ProductionPartType the state machine instance belongs to with the TransitionEvent.
Ended is reached when the production on the part has finished. The PartQuality may be changed while in this state, implying that the part is measured after the production process. The part does not have to be mounted inside the machine while in this state.
Initializing implies the part is scheduled for production, but the machining process on the part has not yet started. The part does not have to be mounted inside the machine while in this state.
Running indicates that the processing of the part within the machine has been started or re-started and is currently running.
InitializingToRunning is triggered when the processing of the part starts. This Transition requires the part to be mounted within the machine.
RunningToEnded is triggered when the processing of the part finishes. This Transition does not require an update of the PartQuality.
The states and transitions shall have the numbers indicated in Table 56. The 0:Number property of 0:CurrentState and 0:LastTransition shall use those same numbers for the respective state/transition.
Table 56 – ProductionPartStateMachineType 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.
Table 57 – ProductionPartStateMachineType Additional References
SourceBrowsePath |
ReferenceType |
Is Forward |
TargetBrowsePath |
AbortedToInitializing |
0:FromState |
True |
Aborted |
|
0:ToState |
True |
Initializing |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
EndedToInitializing |
0:FromState |
True |
Ended |
|
0:ToState |
True |
Initializing |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
InitializingToAborted |
0:FromState |
True |
Initializing |
|
0:ToState |
True |
Aborted |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
InitializingToRunning |
0:FromState |
True |
Initializing |
|
0:ToState |
True |
Running |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
InterruptedToAborted |
0:FromState |
True |
Interrupted |
|
0:ToState |
True |
Aborted |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
InterruptedToRunning |
0:FromState |
True |
Interrupted |
|
0:ToState |
True |
Running |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
RunningToAborted |
0:FromState |
True |
Running |
|
0:ToState |
True |
Aborted |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
RunningToEnded |
0:FromState |
True |
Running |
|
0:ToState |
True |
Ended |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
RunningToInterrupted |
0:FromState |
True |
Running |
|
0:ToState |
True |
Interrupted |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |
RunningToRunning |
0:FromState |
True |
Running |
|
0:ToState |
True |
Running |
|
0:HasEffect |
True |
ProductionPartTransitionEventType |