8 Software update model ToC Previous Next

8.4 ObjectTypes ToC Previous Next

8.4.11 ConfirmationStateMachineType ToC Previous Next

8.4.11.1 Overview ToC Model

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 83. The transitions are formally defined in Table 85.

readme_files/image054.png Figure 52 – Confirmation state machine

readme_files/image055.png Figure 53 – ConfirmationStateMachineType

Table 83 – ConfirmationStateMachineType

Attribute Value        
BrowseName ConfirmationStateMachineType        
IsAbstract False        
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of the FiniteStateMachineType defined in OPC 10000-5.          
HasComponent Method Confirm     Mandatory
HasComponent Variable ConfirmationTimeout Duration BaseDataVariableType Mandatory
HasComponent Object NotWaitingForConfirm   InitialStateType  
HasComponent Object WaitingForConfirm   StateType  
HasComponent Object NotWaitingForConfirmToWaitingForConfirm   TransitionType  
HasComponent Object WaitingForConfirmToNotWaitingForConfirm   TransitionType  
Conformance Units          
DI SU Update Confirmation          

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

Table 84 – 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 85 – ConfirmationStateMachineType TargetBrowsePath

SourceBrowsePath Reference Type Is Forward TargetBrowsePath
       
Transitions      
NotWaitingForConfirmToWaitingForConfirm FromState True NotWaitingForConfirm
  ToState True WaitingForConfirm
  HasEffect True TransitionEventType
WaitingForConfirmToNotWaitingForConfirm FromState True WaitingForConfirm
  ToState True NotWaitingForConfirm
  HasEffect True TransitionEventType

8.4.11.2 ConfirmationTimeout ToC

The ConfirmationTimeout may be set by a Client to a value other then 0 to enable the confirmation feature. If the value is not 0 and the ClientServer connection is lost, the ConfirmationTimeout represents the maximum time that the Client may need to reconnect and call the Confirm Method. The Server shall automatically reset the value to 0 when the installation is complete.

8.4.11.3 Confirm Method ToC

After a reboot and with a ConfirmationTimeout other than 0 a Client shall call this Method to inform the Server that it has successfully reconnected. If this Method is not called after a lost connection the Server shall regard the update as unsuccessful and shall revert it. A Client needs to react within the time specified in the ConfirmationTimeout Variable.

Signature

Confirm();

Previous Next