The FxAssetType provides general information as defined in OPC 10000-100. It also includes additional information that is defined as an Interface. Being defined as an Interface allows other device models to include what is required for OPC UA FX Asset modelling without having to implement the FxAssetType Object directly. Conformance testing shall test that the required information, defined by the Interfaces included in the FxAssetType, is available, not that the Object is of FxAssetType. Any Object that implements all of the Interfaces defined in FxAssetType is considered an Asset.
Additional References are defined as part of the model to show relationships between Assets, within Assets, and between Assets and FunctionalEntities and the overall AutomationComponent model (see 11.1).
The FxAssetType is formally defined in Table 29.
Table 29 – FxAssetType definition
Attribute |
Value |
||||
BrowseName |
3:FxAssetType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:BaseObjectType defined in OPC 10000-5 |
|||||
|
|
|
|
|
|
0:HasInterface |
ObjectType |
5:IVendorNameplateType |
|
|
|
Applied from IVendorNameplateType (defined in OPC 10000-100) |
|||||
0:HasProperty |
Variable |
5:Manufacturer |
0:LocalizedText |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:ManufacturerUri |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:Model |
0:LocalizedText |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:ProductCode |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:HardwareRevision |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:SoftwareRevision |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:DeviceRevision |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:DeviceManual |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:DeviceClass |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:SerialNumber |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:ProductInstanceUri |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:RevisionCounter |
0:Int32 |
0:PropertyType |
O |
|
|
|
|
|
|
0:HasInterface |
ObjectType |
5:ITagNameplateType |
|
|
|
Applied from ITagNameplateType (defined in OPC 10000-100) |
|||||
0:HasProperty |
Variable |
5:AssetId |
0:String |
0:PropertyType |
O |
0:HasProperty |
Variable |
5:ComponentName |
0:LocalizedText |
0:PropertyType |
O |
|
|
|
|
|
|
0:HasInterface |
ObjectType |
3:IAssetRevisionType |
|
|
|
Applied from IAssetRevisionType |
|||||
0:HasProperty |
Variable |
3:MajorAssetVersion |
0:UInt16 |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:MinorAssetVersion |
0:UInt16 |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:BuildAssetNumber |
0:UInt16 |
0:PropertyType |
O |
0:HasProperty |
Variable |
3:SubBuildAssetNumber |
0:UInt16 |
0:PropertyType |
O |
0:HasComponent |
Method |
3:VerifyAsset |
Defined in 6.3.3 |
O |
|
|
|
|
|
|
|
0:HasInterface |
ObjectType |
3:IAssetExtensionsType |
|
|
|
Applied from IAssetExtensionsType |
|||||
0:HasComponent |
Object |
3:Connectors |
|
0:FolderType |
O |
|
|
|
|
|
|
0:HasInterface |
ObjectType |
5:IDeviceHealthType |
|
|
|
Applied from IDeviceHealthType (defined in OPC 10000-100) |
|||||
0:HasComponent |
Variable |
5:DeviceHealth |
5:DeviceHealthEnumeration |
0:BaseDataVariableType |
O |
0:HasComponent |
Object |
5:DeviceHealthAlarms |
|
0:FolderType |
O |
|
|
|
|
|
|
0:HasAddIn |
Object |
5:SoftwareUpdate |
|
5:SoftwareUpdateType |
O |
ConformanceUnits |
|||||
UAFX FXAsset Type |
The display name of the Asset should be used to provide the name that an operator/engineer would expect for the Asset.
For examples of how to apply the OPC UA FX Information Model to other models, see Annex B. For examples of FxAssetType models, see Annex D.
The following are the definitions associated with the IVendorNameplateType interface; they are enclosed in quotes and included here for clarity. Their formal definition is in OPC 10000-100. Additional notes are provided for recommended usage within this model.
- “Manufacturer provides the name of the company that manufactured the item to which this Interface is applied.”
- “ManufacturerUri provides a unique identifier for this company. This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness.”
- “Model provides the name of the product.”
- “ProductCode provides a unique combination of numbers and letters used to identify the product. It may be the order information displayed on type shields or in ERP systems.”
- “HardwareRevision provides the revision level of the hardware of an Asset.”
- “SoftwareRevision provides the version or revision level of the software component, the software/firmware of a hardware component, or the software/firmware of the Device.”
- “DeviceRevision provides the overall revision level of a hardware component or the Device. As an example, this Property can be used in ERP systems together with the ProductCode Property.”
- “DeviceManual allows specifying an address of the user manual for an Asset. It may be a pathname in the file system or a URL (Web address).”
- “DeviceClass indicates in which domain or for what purpose a certain ComponentType is used. Examples are “ProgrammableController”, “RemoteIO”, and “TemperatureSensor”. This standard does not predefine any DeviceClass names. More specific standards that utilize this Interface will likely introduce such classifications.”
Within this model, this information is typically used for display purposes only. It is recommended that if this Property is provided, the string should be from some standardized dictionary.
- “SerialNumber is a unique production number of the manufacturer of the Asset. This is often stamped on the outside of a physical component and may be used for traceability and warranty purposes.”
Within this model, SerialNumber shall be provided for Assets listed directly in the Assets Folder of the AutomationComponent.
- “ProductInstanceUri is a globally unique resource identifier provided by the manufacturer. This is often stamped on the outside of a physical component and may be used for traceability and warranty purposes. The maximum length is 255 characters. The syntax of the ProductInstanceUri is: <ManufacturerUri>/<any string> where <any string> is unique among all instances using the same ManufacturerUri.”
Within this model, ProductInstanceUri shall be provided for Assets listed directly in the Assets Folder of the AutomationComponent.
- “RevisionCounter is an incremental counter indicating the number of times the configuration data within an Asset has been modified.”
Within this model, this configuration data may be one of the items defined in this document, but more likely, it is a configuration item that has been added to the asset model either as part of a companion specification or as part of an instance.
The following two definitions are from the ITagNameplateType interface. They are included enclosed in quotes and included here for clarity. Their formal definition is in OPC 10000-100. Additional notes are provided for recommended usage within OPC UA FX.
- “AssetId is a user-writable alphanumeric character sequence uniquely identifying a component. The ID is provided by the integrator or user of the device. It typically contains an identifier in a branch use case or user-specific naming scheme. This could be, for example, a reference to an electric scheme.“
- “ComponentName is a user-writable name provided by the integrator or user of the component.”
The following two definitions are from the IDeviceHealthType interface. They are enclosed in quotes and included here for clarity. Their formal definition is in OPC 10000-100. Additional notes are provided for recommended usage within OPC UA FX.
- “The DeviceHealthEnumeration DataType is an enumeration that defines the device condition.”
- “DeviceHealthAlarms shall be used for instances of the DeviceHealth AlarmTypes specified in OPC 10000-100.” AlarmType instances can also be defined in other specifications, such as OPC 10000-110 or this document.
The IDeviceHealthType Interface shall be implemented on top-level Assets and any other Assets that maintain their own status information. DeviceHealth of the top-level Assets is aggregated into AggregatedDeviceHealth (see 9.1.2). Whether nested Assets aggregate their DeviceHealth into DeviceHealth of their parent Asset is vendor-specific and is further described in OPC 10000-110 (e.g., for redundant nested Assets, one might fail without the parent Asset failing).
SoftwareUpdate is an AddIn (see OPC 10000-100) that defines support for firmware or software updates. This optional AddIn should be included in any Asset that includes firmware or software that can be upgraded or changed. For a definition of the AddIn concept, see OPC 10000-3.
The following definitions are associated with the IAssetRevisionType interface (see 7.3).
- The MajorAssetVersion shall be updated for major changes in an Asset that may break compatibility with previous versions.
- The MinorAssetVersion shall be updated for minor changes in an Asset that should not change the behaviour of the Asset regarding compatibility. Higher numeric values of MinorAssetVersion should be backwards compatible with lower ones, e.g., behaviour that is present in MinorAssetVersion 12 shall still be supported by MinorAssetVersion 13 or greater. An incremented MinorAssetVersion may add new behaviour which is not present in a lower MinorAssetVersion while retaining existing functionality.
- The BuildAssetNumber and SubBuildAssetNumber reflect detailed information about the version of the Asset. Together with the MajorAssetVersion and MinorAssetVersion, they provide the capability to unambiguously identify a specific version of an Asset.
The following definitions are associated with the IAssetExtensionsType interface (see 7.4).
- Connectors is a Folder used to group and list physical- or software-based connectors (instances of AssetConnectorType) that can be used to link multiple Assets. A connector provides more information about an Asset connection than a simple Reference can. For a formal definition of the AssetConnectorType, see 6.3.4.