The TMCStateMachineType describes the finite state machine of a complex automation item including a machine module, an equipment module and a control module.
The TMCStateMachineType is modelled and inherits from the PackMLBaseStateMachineType defined in OPC 30050 - UA for PackML (OMAC) v1.01 and provides additional TMCMachineStateMachineType and transition information by means of guards implemented by the BooleanGuardVariableType.
The TMCStateMachineType is formally defined in the following table.
Table 120 – TMCStateMachineType Definition
Attribute |
Value |
||||
BrowseName |
TMCStateMachineType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the PackMLBaseStateMachineType defined in OPC 30050, i.e. inheriting the Instance Declarations of that Node. |
|||||
0:HasComponent |
Method |
3:Abort |
See OPC 30050, PackMLStateMachineType. |
O |
|
0:HasComponent |
Object |
Aborted |
|
0:StateType |
|
0:HasComponent |
Object |
AbortedSubstate |
|
StateMachineType |
O |
0:HasComponent |
Object |
AbortedToCleared |
|
0:TransitionType |
|
0:HasComponent |
Variable |
AbortedToClearedGuard |
0:LocalizedText |
BooleanGuardVariableType |
M, RW |
0:HasComponent |
Object |
Aborting |
|
0:StateType |
|
0:HasComponent |
Object |
AbortingToAborted |
|
0:TransitionType |
|
0:HasComponent |
Variable |
AbortingToAbortedGuard |
0:LocalizedText |
BooleanGuardVariableType |
M, RW |
0:HasComponent |
Method |
3:Clear |
See OPC 30050, PackMLStateMachineType. |
O |
|
0:HasComponent |
Object |
Cleared |
|
0:StateType |
|
0:HasComponent |
Object |
ClearedToAborting |
|
0:TransitionType |
|
0:HasComponent |
Variable |
ClearedToAbortingGuard |
0:LocalizedText |
BooleanGuardVariableType |
M, RW |
0:HasComponent |
Variable |
LastTransition |
0:LocalizedText |
0:FiniteTransitionVariableType |
M, RO |
0:HasComponent |
Object |
MachineState |
|
TMCMachineStateMachineType |
M |
0:GeneratesEvent |
ObjectType |
TransitionEventType |
|
|
M |
Conformance Units |
|||||
TMC Advanced Equipment Module and Control Module Status |
The components of the TMCStateMachineType are described in OPC 30050 UA for PackML from which the PackMLBaseStateMachineType is subtyped.
Each transition has a guard of type BooleanGuardVariableType which has one or more Condition components. Each Condition component is necessary to trigger the transition. When all the Condition components are True, the transition is triggered (sufficient).
The AbortedSubstate is a state machine that provides the states and transitions specific to the implementation and performed while the main state machine is in the Aborted state. Similarly for Execute.
The component Variables of the TMCStateMachineType have additional Attributes defined in the following table.
Table 121 – TMCStateMachineType Attribute Values for Child Nodes
BrowsePath |
Value Attribute |
||
|
9 |
||
|
8 |
||
|
19 |
The components of the TMCStateMachineType have additional references which are defined in the following table.
Table 122 – TMCStateMachineType Additional References
SourceBrowsePath |
Reference Type |
Is Forward |
TargetBrowsePath |
Aborted |
0:HasSubStateMachine |
True |
AbortedSubstate |
AbortedToCleared |
0:FromState |
True |
Aborted |
0:HasGuard |
True |
AbortedToClearedGuard |
0:HasCause |
True |
3:Clear |
0:ToState |
True |
Cleared |
0:HasEffect |
True |
TransitionEventType |
AbortingToAborted |
0:FromState |
True |
Aborting |
0:HasGuard |
True |
AbortingToAbortedGuard |
0:ToState |
True |
Aborted |
0:HasEffect |
True |
TransitionEventType |
ClearedToAborting |
0:FromState |
True |
Cleared |
0:HasGuard |
True |
ClearedToAbortingGuard |
0:HasCause |
True |
3:Abort |
0:ToState |
True |
Aborting |
0:HasEffect |
True |
TransitionEventType |