The SoftwareUpdateTypedefines an AddInwhich may be used to extend Objectswith software update features. All software update options are exposed as references of this AddIn. This way a Clientcan 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 SoftwareUpdateTypeis illustrated in Figure 41and formally described in Table 65.

image044.png

Figure 41– SoftwareUpdateType

Table 65– SoftwareUpdateType definition

Attribute

Value

BrowseName

SoftwareUpdateType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectTypedefined 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

The optional Loading Objectis of type SoftwareLoadingType, whichisabstract. The Objectcan be one of the concrete sub-types DirectLoadingType (8.4.4), CachedLoadingType (8.4.5) or FileSystemLoadingType (8.4.6). SoftwareLoadingTypeis formally defined in 8.4.2.

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

The optional PrepareForUpdate Objectis of type PrepareForUpdateStateMachineTypewhich is formally defined in 8.4.8.

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

This optional PowerCycle Objectis of type PowerCycleStateMachineType which is formally defined in 8.4.10.

This optional Confirmation Objectis of type ConfirmationStateMachineTypewhich is formally defined in 8.4.11.

This optional Parameters Objectis of type TemporaryFileTransferType (OPC 10000-5). It may be supported by devices that cannot retain parameters during update. If supported by the SoftwareUpdate AddIna 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 GenerateFileForReadand GenerateFileForWrite Methodsaccept an unspecified generateOptions Parameter. This argument is not used, and Clientsshall 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.

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 Servermay 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 UpdateStatusmay 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.

The optional VendorErrorCode Propertyprovides a machine-readable error code in case anything went wrong during the transfer, the installation or the preparation. Comparable to an error message in UpdateStatusthis Variablecan provide additional information about the issue. The VendorErrorCodeis 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 theInstallationStateMachineType (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.

The DefaultInstanceBrowseName Property– defined in OPC 10000-3– is required for the AddInmodel as specified in 8.3.11. It is used to specify the BrowseNameof 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