The ConfirmationStateMachineType is used to prove a valid Client – Server connection after a restart of the OPC UA Server. This supports the confirmation option of 8.3.4.9.

If several instances of this state machine are provided on a device (due to several instances of the SoftwareUpdateType), all instances should behave as if it is only a single instance. In particular it is sufficient to call one of the confirm methods after reboot.

The ConfirmationStateMachineType is illustrated in Figure 53 and Figure 54 and formally defined in Table 104. The transitions are formally defined in Table 106.

image057.png

Figure 53 – Confirmation state machine

image058.png

Figure 54 – ConfirmationStateMachineType

Table 104 – ConfirmationStateMachineType

Attribute

Value

BrowseName

1:ConfirmationStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:FiniteStateMachineType defined in OPC 10000-5.

0:HasComponent

Method

1:Confirm

M

0:HasComponent

Variable

1:ConfirmationTimeout

0:Duration

0:BaseDataVariableType

M

0:HasComponent

Object

1:NotWaitingForConfirm

0:InitialStateType

0:HasComponent

Object

1:WaitingForConfirm

0:StateType

0:HasComponent

Object

1:NotWaitingForConfirmToWaitingForConfirm

0:TransitionType

0:HasComponent

Object

1:WaitingForConfirmToNotWaitingForConfirm

0:TransitionType

Conformance Units

DI SU Update Confirmation

The component Variables of the ConfirmationStateMachineType have additional Attributes defined in Table 105.

Table 105 – 1:ConfirmationStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

1:NotWaitingForConfirm

0:StateNumber

1

1:WaitingForConfirm

0:StateNumber

2

1:NotWaitingForConfirmToWaitingForConfirm

0:TransitionNumber

12

1:WaitingForConfirmToNotWaitingForConfirm

0:TransitionNumber

21

Table 106 – 1:ConfirmationStateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

Transitions

1:NotWaitingForConfirmToWaitingForConfirm

0:FromState

True

1:NotWaitingForConfirm

0:ToState

True

1:WaitingForConfirm

0:HasEffect

True

0:TransitionEventType

1:WaitingForConfirmToNotWaitingForConfirm

0:FromState

True

1:WaitingForConfirm

0:ToState

True

1:NotWaitingForConfirm

0:HasCause

True

1:Confirm

0:HasEffect

True

0:TransitionEventType