The UAFX Descriptor manifest is an XML file that defines the metadata for a Descriptor.
The UAFX Descriptor manifest is structured according to the schema defined in Annex J. The UAFX Descriptor manifest file shall be identified by an Open Packaging Conventions relationship of type “http://schemas.opcfoundation.org/container/relationship/Manifest” stored in the container relationship file “_rels/.rels”.
There shall be exactly one UAFX Descriptor manifest in a Descriptor.
The Descriptor manifest shall have exactly one “DescriptorInfo” XML element, which defines the XML sub-elements “DescriptorIdentifier”, “DescriptorVersion”, and “OpcUaFxVersion”, as defined in Table 1.
Table 1 – The content of the DescriptorInfo XML element
Tag |
Type |
Description |
DescriptorIdentifier |
xs:anyURI |
URI of the Descriptor. Defines a globally unique identifier for the Descriptor. |
DescriptorVersion |
4 integers of type xs:short |
Descriptor version. Defines the version numbers of the Descriptor. |
OpcUaFxVersion |
xs:string |
Version of the OPC UA FX standard taken from the NodeSet file the Descriptor adheres to. |
If a Descriptor is stored in an AcDescriptorType instance in the online Information Model and a value for the DescriptorIdentifier or the DescriptorVersion Variable of the instance is provided, this value will match the respective content of the DescriptorIdentifier or DescriptorVersion element in the DescriptorInfo XML element of the Descriptor manifest. (See OPC 10000-81, FxAssetType definition)
Example 1 shows the relationship element for a new UAFX Descriptor manifest in the container relationship file “_rels/.rels”.
<Relationship Target= “{path to manifest file}” Type=“http://schemas.opcfoundation.org/container/relationship/Manifest” Id=“{id-attribute of manifest file}”/>
Example 2 shows a “DescriptorInfo” XML element.
<DescriptorInfo>
<DescriptorIdentifier>urn:company:factory:plant_project:automation_
component:1.0.0</DescriptorIdentifier>
<DescriptorVersion>
<Major>1</Major>
<Minor>0</Minor>
<Build>0</Build>
<SubBuild>0</SubBuild>
</DescriptorVersion>
<OpcUaFxVersion>1.0.0</OpcUaFxVersion>
</DescriptorInfo>
Example 3 shows the case where more than one manifest file is contained in a Descriptor. Other standardization organisations may define their own manifest file format and manifest relationship, as shown in Figure 18.
Figure 18 – A Descriptor with more than one manifest file.