The ConfirmationStateMachineTypeis used to prove a valid Client – Serverconnection 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 ConfirmationStateMachineTypeis illustrated in Figure 52and Figure 53and formally defined in Table 98. The transitions are formally defined in Table 100.
Figure 52– Confirmation state machine
Figure 53– ConfirmationStateMachineType
Table 98– ConfirmationStateMachineType
Attribute |
Value |
||||
BrowseName |
ConfirmationStateMachineType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the FiniteStateMachineTypedefined 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 Variablesof the ConfirmationStateMachineTypehave additional Attributesdefined in Table 99.
Table 99– ConfirmationStateMachineType Attribute values for child Nodes
BrowsePath |
Value Attribute |
||
|
1 |
||
|
2 |
||
|
12 |
||
|
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 |
The ConfirmationTimeout may be set by a Clientto a value other then 0 to enable the confirmation feature. If the value is not 0 and the Client– Serverconnection is lost, the ConfirmationTimeoutrepresents the maximum time that the Clientmay need to reconnect and call the Confirm Method. The Servershall automatically reset the value to 0 when the installation is complete.
After a reboot and with a ConfirmationTimeoutother than 0 a Clientshall call this Methodto inform the Serverthat it has successfully reconnected. If this Methodis not called after a lost connection the Servershall regard the update as unsuccessful and shall revert it. A Clientneeds to react within the time specified in the ConfirmationTimeout Variable.
Signature
Confirm();