The version information of an asset can consist of different information like the hardware version, potentially a software version when the asset is or contains software, and a revision counter. Those Properties are already defined in OPC 10000-100, at the same level where the identification is defined. Therefore, this specification uses those Properties as defined in OPC 10000-100. They can be deployed in the same way as the identification information as defined in section 7.
Those Properties include:
- HardwareRevision providing the revision level of the hardware
- SoftwareRevision providing the revision level of the software
- RevisionCounter providing an incremental counter when the configuration of the asset has changed
For the usage of those Properties, different cases need to be distinguished.
- The asset is software without hardware. In this case, only the SoftwareRevision is provided, and the HardwareRevision is omitted.
- The asset is hardware without software. In this case, only the HardwareRevision is provided, and the SoftwareRevision is omitted.
- The asset is a combination of hard- and software. In this case, the following model approaches can be done
- Represent asset as one Object: The asset provides the HardwareRevision and SoftwareRevision
- Represent software as sub-assets of hardware Object. This modelling approach makes specifically sense, if the software of the asset is not considered as one monolithic piece of software, but consists for example of firmware, drivers, applications, etc. In this case, the hardware is the main asset and the software components sub-assets. The main asset might contain a SoftwareRevision which contains the overall revision of all software assets.
In Figure 4, examples for the different cases are shown. In the example, always the Identification Object is used for grouping. The HardwareAsset only provides the HardwareRevision, the SoftwareAsset only the SoftwareRevision. The HardwareAndSoftwareAsset combines both and provides HardwareRevision and SoftwareRevision. The HardwareAndSoftwareAssetWithSubAssets does provide a HardwareRevision and an overall SoftwareRevision, and two sub-assets representing software assets, each containing a SoftwareRevision.
Figure 4 – Examples of the Usage of Version Information
In order to provide patch information about the software components, OPC 10000-100 defines the SoftwareVersionType. This is used for updating software via the OPC UA interface, using the SoftwareUpdate AddIn. In case the Server supports the AddIn for the asset, the SoftwareVersionType shall be used as defined in OPC 10000-100 to provide the patch information. In case, the Server does not support the AddIn for the asset, the Property 2:PatchIdentifiers should be provided on the same level as SoftwareRevision with the same semantic as defined on the SoftwareVersionType.