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 52 and Figure 53 and formally defined in Table 98. The transitions are formally defined in Table 100.

image055.png

Figure 52 – Confirmation state machine

image056.png

Figure 53 – ConfirmationStateMachineType

Table 98 – ConfirmationStateMachineType

Attribute

Value

BrowseName

ConfirmationStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the FiniteStateMachineType defined in OPC 10000-5.

0:HasComponent

Method

Confirm

M

0:HasComponent

Variable

ConfirmationTimeout

0:Duration

0:BaseDataVariableType

M

0:HasComponent

Object

NotWaitingForConfirm

0:InitialStateType

0:HasComponent

Object

WaitingForConfirm

0:StateType

0:HasComponent

Object

NotWaitingForConfirmToWaitingForConfirm

0:TransitionType

0:HasComponent

Object

WaitingForConfirmToNotWaitingForConfirm

0:TransitionType

Conformance Units

DI SU Update Confirmation

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

Table 99 – ConfirmationStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

NotWaitingForConfirm

0:StateNumber

1

WaitingForConfirm

0:StateNumber

2

NotWaitingForConfirmToWaitingForConfirm

0:TransitionNumber

12

WaitingForConfirmToNotWaitingForConfirm

0:TransitionNumber

21

Table 100 – ConfirmationStateMachineType TargetBrowsePath

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

Transitions

NotWaitingForConfirmToWaitingForConfirm

0:FromState

True

NotWaitingForConfirm

0:ToState

True

WaitingForConfirm

0:HasEffect

True

0:TransitionEventType

WaitingForConfirmToNotWaitingForConfirm

0:FromState

True

WaitingForConfirm

0:ToState

True

NotWaitingForConfirm

0:HasEffect

True

0:TransitionEventType