For the identification of an asset, this specification mainly uses Properties defined in OPC 10000-100. In order to support already released companion specifications and products as well as the different options provided by OPC 10000-100, this specification does not define or require a specific ObjectType or Interface, but ConformanceUnits and Profiles referencing mandatory and optional Properties as defined in OPC 10000-100.
The Properties defined in OPC 10000-100 for identification can either be implemented directly on the Object representing the asset, or in a grouping Object called 2:Identification, also defined in OPC 10000-100.
This leads to the following options, as shown in Figure 1:
- Usage of 2:ComponentType or 2:DeviceType. An Object representing an asset can have the TypeDefinition 2:ComponentType, 2:DeviceType, or a subtype of one of those ObjectTypes and thus containing the identification Properties defined in OPC 10000-100.
- Usage of 2:IVendorNameplateType and 2:ITagNameplateType. An Object representing an asset can either directly implement those interfaces, or has a TypeDefinition directly or indirectly implementing the interfaces.
- Usage of 2:Identification Object. An Object representing an asset provides the 2:Identification Object, and the 2:Identification Object provides the Properties, either by implementing the 2:IVendorNameplateType and 2:ITagNameplateType or by just providing the Properties.
Figure 1 – Different Options for Identification of Asset
The 2:Identification Object shall have the BrowseName 2:Identification and shall be referenced with a hierarchical Reference from the Object representing an asset. The ObjectType of the 2:Identification Object shall be 2:FunctionalGroupType or a subtype of 2:FunctionalGroupType.
The preferred and recommended approach is to use the 2:Identification Object. However, Clients shall be aware of the other approaches and consider those for the identification of an asset as well.
OPC 10000-100 defines most of the Properties as mandatory on the 2:DeviceType, with default values when the value cannot be provided. The 2:ComponentType and the Interfaces define the Properties as optional, i.e., they should be omitted when the information cannot be provided. The preferred and recommended approach is to omit Properties if the information is not available. However, Clients shall be aware that there are default values and shall consider those.
In order to allow a globally unique identification of an asset, the 2:ProductInstanceUri shall be provided (see ConformanceUnit AMB Asset Identification in 15.1). It shall be either a Property of the Object representing the asset or referenced with a hierarchical Reference from the 2:Identification Object. The Property value shall not be an empty String.
All other Properties of 2:IVendorNameplateType should be provided if the information is available. Other companion specifications will define additional, domain-specific identification information and vendors may add information as well. This additional information should preferably be put on the 2:Identification Object. A specialisation of 2:IVendorNameplateType can also be used to identify this additional information is identification information.
If the 2:AssetId of the 2:ITagNameplateType is provided it shall be writable to allow a configurable identification of the asset (see ConformanceUnit AMB Configurable Asset Identification in 15.1). Other Properties of 2:ITagNameplateType and additional configurable Properties may be provided as well.
Older versions of OPC 10000-100 did not define the 2:IVendorNameplateType and 2:ITagNameplateType and thus Clients shall not expect that the 2:IVendorNameplateType and 2:ITagNameplateType are explicitly implemented on the TypeDefinition.