A state machine is defined to coordinate actions executed internally (a ConnectionManager establishing Connections) that involve the processing of a ConnectionConfigurationSet. The States and Transitions that comprise the state machine are illustrated in Figure 38. Numbers in circles indicate the TransitionNumber of a transition.
Figure 38 – ConnectionConfigurationSetStateMachineType overview diagram
The transitions with TransitionNumber 1 and 4 (process) may also be triggered by a Client but are more typically triggered internally by a vendor-specific algorithm. The transitions with TransitionNumber 2 (processing succeeded) and 3 (processing failed) are only triggered internally on completion of Connection establishment processing.
A ConnectionConfigurationSetStateMachine may transition to Error for several reasons. Transient errors will be resolved by re-processing the ConnectionConfigurationSet. If the transient error has cleared, the state machine will transition to Ready; otherwise, it will return to Error. The error may be a permanent error that needs correction by the system integrator.
The ConnectionConfigurationSetStateMachineType and the corresponding set of Methods (see ConnectionConfigurationSetType) and Events (subtypes of the ConnectionConfigurationSetEventType) are illustrated in Figure 39.
Figure 39 – ConnectionConfigurationSetStateMachineType illustration
Methods and Events illustrated in Figure 39 are defined in subsequent clauses. The ConnectionConfigurationSetStateMachineType is formally defined in Table 87. StateType and TransitionType only exist in the type system; thus, they do not have a modelling rule.
Table 87 – ConnectionConfigurationSetStateMachineType definition
Attribute |
Value |
||||
BrowseName |
4:ConnectionConfigurationSetStateMachineType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:FiniteStateMachineType defined in OPC 10000-16 |
|||||
0:HasComponent |
Variable |
0:LastTransition |
0:LocalizedText |
0:FiniteTransitionVariableType |
M |
0:HasComponent |
Object |
4:Ready |
|
0:StateType |
|
0:HasComponent |
Object |
4:Processing |
|
0:StateType |
|
0:HasComponent |
Object |
4:Error |
|
0:StateType |
|
|
|
|
|
|
|
0:HasComponent |
Object |
4:ReadyToProcessing |
|
0:TransitionType |
|
0:HasComponent |
Object |
4:ProcessingToReady |
|
0:TransitionType |
|
0:HasComponent |
Object |
4:ProcessingToError |
|
0:TransitionType |
|
0:HasComponent |
Object |
4:ErrorToProcessing |
|
0:TransitionType |
|
ConformanceUnits |
|||||
UAFX ConnectionManager Base |
The components of the ConnectionConfigurationSetStateMachineType have additional references, which are defined in Table 88.
Table 88 – ConnectionConfigurationSetStateMachineType additional References
SourceBrowsePath |
Reference Type |
IsForward |
TargetBrowsePath |
4:ReadyToProcessing |
0:ToState |
True |
4:Processing |
0:FromState |
True |
4:Ready |
0:HasCause |
True |
|
0:HasEffect |
True |
4:ConnectionConfigurationSetProcessingStartedEventType |
4:ProcessingToReady |
0:ToState |
True |
4:Ready |
0:FromState |
True |
4:Processing |
0:HasEffect |
True |
4:ConnectionConfigurationSetProcessingSucceededEventType |
4:ProcessingToError |
0:ToState |
True |
4:Error |
0:FromState |
True |
4:Processing |
0:HasEffect |
True |
4:ConnectionConfigurationSetProcessingFailedEventType |
4:ErrorToProcessing |
0:ToState |
True |
4:Processing |
0:FromState |
True |
4:Error |
0:HasCause |
True |
|
0:HasEffect |
True |
4:ConnectionConfigurationSetProcessingStartedEventType |
The component Variables of the ConnectionConfigurationSetStateMachineType have additional Attributes defined in Table 89.
Table 89 – ConnectionConfigurationSetStateMachineType attribute values for child Nodes
BrowsePath |
Value Attribute |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
4 |
Ready – A ConnectionConfigurationSet in this State may be processed by the ConnectionManager.
Processing – A ConnectionConfigurationSet in this State indicates that it is currently being processed by the ConnectionManager (i.e., Connections are being established). Internals of the processing executed in this State are described in 6.7.5.3.
Error – A ConnectionConfigurationSet in this State indicates an error has occurred during Processing.
ReadyToProcessing – This transition shall be initiated by the ProcessConnectionConfigurationSets Method Call. In addition, this state transition may also be initiated by vendor-specific means. While being in State Processing, the ConnectionManager establishes or closes the Connections contained in the ConnectionConfigurationSet; for details, see 6.7.5.3.
ProcessingToReady – This transition shall be initiated if the ConnectionManager succeeds in processing all of the Connections contained in the ConnectionConfigurationSet.
ProcessingToError – This transition shall be initiated if the ConnectionManager fails the processing of any Connection contained in the ConnectionConfigurationSet.
Information about the success or failure of the establishment of specific Connections is provided by the ProcessingResult Property in ConnectionConfigurationType.
ErrorToProcessing – This transition shall be initiated by the ProcessConnectionConfigurationSets Method Call. In addition, this state transition may also be initiated by vendor-specific means.