The AssetsByAssetId Object is formally defined in Table 12. All AliasNames organized by this category shall be assets having a 2:AssetId (see section 7). The string part of the AliasName shall be identical to the value of the 2:AssetId, if the value of 2:AssetId is not an empty or null String. The namespace of the AliasName shall be the one defined by this specification in section 14.
As the default value of the 2:AssetId is an empty String, in a system where the 2:AssetId is not configured, many assets will have the identical 2:AssetId (empty String). In this case, each individual asset should have its own AliasName Object and all of those assets should not use the same AliasName Object. Same assets shall be, in this case, identified by the 2:ProductInstanceUri. In this case, the string part of the AliasName shall be “NoAssetIdAssigned” and the namespace of the AliasName shall be the one defined by this specification in section 14.
Note: Ideally, 2:AssetIds should be unique and two assets with different 2:ProductInstanceUris should have different 2:AssetIds. Also, if an asset is represented by more than one asset Node, meaning several asset Nodes have the same 2:ProductInstanceUri, the same 2:AssetId should be used. As the 2:AssetId is set by the user, this might not be the case. Assigning AliasNames in the context of this Object is done by 2:AssetId. The 2:ProductInstanceUri should only be considered when the 2:AssetId is empty (default value). Therefore, browsing and filtering is also done based on the 2:AssetId, not the 2:ProductInstanceUri.
Table 14 – AssetsByAssetId Definition
OrganizedBy by the Assets Object defined in 8.2.1
|0:HasTypeDefinition||ObjectType||0:AliasNameCategoryType||Defined in OPC 10000-17|
|AMB Asset Discovery by AssetId|