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.

image041.png

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.

image042.png

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

4:ConnectionManager

4:ProcessConnectionConfigurationSets

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

4:ConnectionManager

4:ProcessConnectionConfigurationSets

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

4:Ready

0:StateNumber

1

4:Processing

0:StateNumber

2

4:Error

0:StateNumber

3

4:ReadyToProcessing

0:TransitionNumber

1

4:ProcessingToReady

0:TransitionNumber

2

4:ProcessingToError

0:TransitionNumber

3

4:ErrorToProcessing

0:TransitionNumber

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.