8 Software update model ToC Previous Next

8.4 ObjectTypes ToC Previous Next

8.4.1 SoftwareUpdateType ToC Previous Next Overview ToC Model

The SoftwareUpdateType defines an AddIn which may be used to extend Objects with software update features. All software update options are exposed as references of this AddIn. This way a Client can check for the references of the AddIn to determine which options are provided by a Server. If an option is available, it shall be used as specified.

The SoftwareUpdateType is illustrated in Figure 41 and formally described in Table 65.

readme_files/image043.png Figure 41 – SoftwareUpdateType

Table 65 – SoftwareUpdateType definition

Attribute Value        
BrowseName SoftwareUpdateType        
IsAbstract False        
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of the BaseObjectType defined in OPC 10000-5.          
HasComponent Object Loading   SoftwareLoadingType Optional
HasComponent Object PrepareForUpdate   PrepareForUpdateStateMachineType Optional
HasComponent Object Installation   InstallationStateMachineType Optional
HasComponent Object PowerCycle   PowerCycleStateMachineType Optional
HasComponent Object Confirmation   ConfirmationStateMachineType Optional
HasComponent Object Parameters   TemporaryFileTransferType Optional
HasComponent Variable UpdateStatus LocalizedText BaseDataVariableType Optional
HasComponent Variable VendorErrorCode Int32 BaseDataVariableType Optional
HasProperty Variable 0:DefaultInstanceBrowseName QualifiedName PropertyType  
Conformance Units          
DI SU Software Update   Loading ToC

The optional Loading Object is of type SoftwareLoadingType, which is abstract. The Object can be one of the concrete sub-types DirectLoadingType (8.4.4), CachedLoadingType (8.4.5) or FileSystemLoadingType (8.4.6). SoftwareLoadingType is formally defined in 8.4.2.

The Loading Object is required for all variations of software installation, it is not required for read or restore of device parameters using the Parameters Object. PrepareForUpdate ToC

The optional PrepareForUpdate Object is of type PrepareForUpdateStateMachineType which is formally defined in 8.4.8. Installation ToC

This optional Installation Object is of type InstallationStateMachineType which is formally defined in 8.4.9. PowerCycle ToC

This optional PowerCycle Object is of type PowerCycleStateMachineType which is formally defined in 8.4.10. Confirmation ToC

This optional Confirmation Object is of type ConfirmationStateMachineType which is formally defined in 8.4.11. Parameters ToC

This optional Parameters Object is of type TemporaryFileTransferType (OPC 10000-5). It may be supported by devices that cannot retain parameters during update. If supported by the SoftwareUpdate AddIn a Client can read the parameters before the update and restore them after the update. This is not a general-purpose backup and restore function. It is intended to be used in the context of software update.

The GenerateFileForRead and GenerateFileForWrite Methods accept an unspecified generateOptions Parameter. This argument is not used, and Clients shall always pass null. Future versions of this specification may define concrete DataTypes.

If the restore of parameters succeeds but the software cannot run properly this should not be treated as an error of the restore. Instead this should be indicated using the IDeviceHealthType Interface of the device / component. UpdateStatus ToC

This optional localized string provides status and error information for the update. This may be used whenever a long running update activity can provide detailed information to the user or when a state machine wants to provide error information to the user.

A Server may provide any text it wants to show to the operator of the software update. Important texts are the error messages in case anything went wrong, and the installation or preparation could not complete. These messages should explain what happened and how the operator could resolve the issue (e.g. “try again with a different version”). During preparation and installation, it is good practice to inform the operators about the current action to keep them patient and waiting for the completion. Also, if the installation gets stuck this text would help to find out the reason.

The UpdateStatus may be used together with the PrepareForUpdateStateMachineType (8.4.8), the InstallationStateMachineType (8.4.9) and for CachedLoadingType (8.4.5), DirectLoadingType (8.4.4) and FileSystemLoadingType (8.4.6) it may be used during the transfer of the Software Package. VendorErrorCode ToC

The optional VendorErrorCode Property provides a machine-readable error code in case anything went wrong during the transfer, the installation or the preparation. Comparable to an error message in UpdateStatus this Variable can provide additional information about the issue. The VendorErrorCode is an additional information for a Client. It is not required for normal operation and error handling.

The value 0 shall be interpreted as no error.

The VendorErrorCode may be used together with the PrepareForUpdateStateMachineType (8.4.8) for prepare and resume, in the InstallationStateMachineType (8.4.9) during the installation. For CachedLoadingType (8.4.5), DirectLoadingType (8.4.4) and FileSystemLoadingType (8.4.6) it may be used during the transfer of the Software Package. DefaultInstanceBrowseName ToC

The DefaultInstanceBrowseName Property – defined in OPC 10000-3 – is required for the AddIn model as specified in 8.3.11. It is used to specify the BrowseName of the instance of the SoftwareUpdateType. It always has the value “SoftwareUpdate”.

Table 66 – SoftwareUpdateType Attribute values for child Nodes

Source Path Value
0:DefaultInstanceBrowseName SoftwareUpdate

Previous Next