This building block provides the capabilities to globally uniquely identify a Machine and have access to vendor-defined information about the Machine and manage user-specific information for the identification of the Machine. Figure 7 gives an overview. The Interface IMachineryItemVendorNameplateType and the ObjectType MachineryItemIdentificationType are generic ObjectTypes introduced to be used in other use cases. The AddIn MachineIdentificationType with the default name “2:Identification” (as defined in OPC 10000-100), is derived from the MachineryItemIdentificationType and thus indirectly from the 2:FunctionalGroupType and implements the interfaces IMachineVendorNameplateType and IMachineTagNameplateType. IMachineVendorNameplateType is a subtype of IMachineryItemVendorNameplateType and thus indirectly from the 2:IVendorNameplateType defined in OPC 10000-100. IMachineryItemVendorNameplateType refines the usage of the Properties defined in 2:IVendorNameplateType, changes some to Mandatory and defines additional Properties. IMachineVendorNameplateType uses those definitions and makes another Property mandatory. IMachineTagNameplateType is a subtype of the 2:ITagNameplateType defined in OPC 10000-100 and refines the usage of the Properties defined in that interface, and defines an additional Property.
Figure 7 – Building Block for Identification and Nameplate
The IMachineryItemVendorNameplateType is a subtype of the 2:IVendorNameplateType defined in OPC 10000-100. It refines the semantics of the Properties defined in 2:IVendorNameplateType, makes some Properties mandatory and adds additional Properties. It is formally defined in Table 12.
Table 12 – IMachineryItemVendorNameplateType Definition
Attribute |
Value |
||||
BrowseName |
IMachineryItemVendorNameplateType |
||||
IsAbstract |
True |
||||
Description |
Interface containing identification and nameplate information for a MachineryItem provided by the vendor |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 2:IVendorNameplateType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
Properties of the 2:IVendorNameplateType |
|||||
0:HasProperty |
Variable |
2:Manufacturer |
0:LocalizedText |
0:PropertyType |
M, RO |
0:HasProperty |
Variable |
2:SerialNumber |
0:String |
0:PropertyType |
M, RO |
|
|
|
|
|
|
0:HasProperty |
Variable |
YearOfConstruction |
0:UInt16 |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
MonthOfConstruction |
0:Byte |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
InitialOperationDate |
0:DateTime |
0:PropertyType |
O, RO |
The mandatory 2:Manufacturer provides a human-readable, localized name of the manufacturer. It is defined by the 2:IVendorNameplateType. It is recommended to provide a language neutral LocalizedText. Clients shall not assume the uniqueness of the manufacturer based on this information, i.e. potentially several manufacturers use the same name. The value of this Property might change during the life-cycle of a MachineryItem, for example, when the name of the manufacturer changes due to an acquisition. The manufacturer might change this information, for example, within the next firmware update. Examples are “{“”,”TRUMPF”}” “{“”,”KUKA Deutschland GmbH”}”, “{“”, “ENGEL AUSTRIA GMBH”}”.
The mandatory 2:SerialNumber is a string containing a unique production number of the manufacturer of the MachineryItem. It is defined by the 2:IVendorNameplateType. The global uniqueness of the serial number is only given in the context of the manufacturer, and potentially the model. The value of this Property shall not change during the life-cycle of the MachineryItem. If a manufacturer internally does not manage serial numbers, as for example for special purpose machinery manufacturers, they could use for example the order number as serial number. Examples are: “A3231E001”, “643872”, “235223”.
The optional YearOfConstruction provides the year (Gregorian calendar) in which the manufacturing process of the MachineryItem has been completed. It shall be a four-digit number and never change during the life-cycle of a MachineryItem. For example: “2019”, “2020”.
The optional MonthOfConstruction provides the month in which the manufacturing process of the MachineryItem has been completed. It shall be a number between 1 and 12, representing the month from January to December. The MonthOfConstruction shall only be provided, if the YearOfConstruction is provided as well. For example, “1”, “2”, “3”.
The optional InitialOperationDate provides the date, when the MachineryItem was switched on the first time after it has left the manufacturer plant. The value of InitialOperationDate is not meant to provide any information about the state of warranty. If the date is not provided by the MachineryItem, the InitialOperationDate should not be added. The InitalOperationDate should be provided as UTC time. For example: “2020-01-29T18:59:59Z”, “2022-11-1712:00:00Z”.
How the InitialOperationDate is set is vendor-specific. This might be done by some manual configuration or can be done automatically. If the InitialOperationDate is set automatically, the vendor needs to ensure, that it uses a coordinated system time.
The optional 2:ProductInstanceUri is a globally unique resource identifier provided by the manufacturer of the MachineryItem. It is defined by the 2:IVendorNameplateType. It is intended to uniquely identify the MachineryItem and shall not change during the life-cycle of the MachineryItem. The length is restricted to 255 characters and it is the responsibility of the manufacturer that the 2:ProductInstanceUri is globally unique. The recommended syntax of the 2:ProductInstanceUri is: <ManufacturerUri>/<any string>. The manufacturer might choose the serial number of the MachineryItem as <any string>, if the serial number is unique within the manufacturer’s scope, or a combination of model and serial number, if the serial number is only unique within a model. Examples are: “http://www.trumpf.com/A3231E001”, “http://www.kuka.com/#KR210R2700_EXTRA_C4_FLR/667659”, “http://www.engelglobal.com/Viper06/235223”.
The optional 2:ManufacturerUri is a globally unique identifier of the manufacturer of the MachineryItem. It is defined by the 2:IVendorNameplateType. It is intended to uniquely identify the manufacturer. It is the manufacturers responsibility to use the same identifier across its products. If the 2:ManufacturerUri is provided, it is recommended to be used as Prefix in the 2:ProductInstanceUri. As 2:ManufacturerUri is recommended to be used inside the 2:ProductInstanceUri, it shall not change during the life-cycle of the MachineryItem, even if the manufacturer changes its name, e.g. due to an acquisition. Examples are: “http://www.trumpf.com”, “http://www.kuka.com”, “http://www.engelglobal.com”.
The optional 2:Model provides a human-readable, localized name of the model of the MachineryItem. It is defined by the 2:IVendorNameplateInterfaceType. If there is no specific model, this Property should not be provided. If the physical nameplate on the MachineryItem provides a model, the Property shall be provided. It is recommended to provide a language neutral LocalizedText. Examples are “{“”,“TruLaser 5030 (L76)”}”, “{“”,“VC 200/50”}”, “{“”,”KR210R2700EXTRAC4FLR”}”, “{“”,”Viper 6”}”.
The optional 2:ProductCode provides a machine-readable string of the model of the MachineryItem, that might include options like the hardware configuration of the model. This information might be provided by the ERP system of the vendor. For example, it can be used as order information. It is defined by the 2:IVendorNameplateType. If no specific information is available, the Property should not be provided. The value of this Property shall not change during the life-cycle of the MachineryItem. Examples are “11182372”, “2377636”.
The optional 2:HardwareRevision provides a string representation of the revision level of the hardware of a MachineryItem. Hardware is physical equipment, as opposed to programs, procedures, rules and associated documentation (see IEC 61499-1, [2]). The Property is defined by the 2:IVendorNameplateType. Many Machines will not provide such information due to the modular and configurable nature of the Machine. The value of this Property might change during the life-cycle of a MachineryItem. Examples are: “01.33”, “A2”, “014/15120129-2018”.
The optional 2:SoftwareRevision provides a string representation of the overall software revision level of a MachineryItem. It is defined by the 2:IVendorNameplateType. In most cases, MachineryItems consist of several software components. In that case, information about the software components might be provided as additional information in the AddressS pace, including individual revision information. The 2:SoftwareRevision is either not provided or provides an overall software revision level. The value of this Property might change during the life-cycle of a MachineryItem. Examples are: “PLL01 1.10.0.3” “V05.01.01.15”, “3.1 R1293”, “70.0.1”, “4.60.03”.
The optional Properties 2:DeviceRevision, 2:RevisionCounter and 2:DeviceManual defined by the 2:IVendorNameplateType are not further defined in this Interface.
The optional 2:DeviceClass, defined by the 2:IVendorNameplateType, should only be used, when a companion specification defines concrete values for specific MachineryItem classes. This specification does not define any values for this Property. Examples are: “Injection Moulding Machine”, “Drilling Machine”.
The InstanceDeclarations of the IMachineryItemVendorNameplateType have additional Attribute values defined in Table 13.
Table 13 – IMachineryItemVendorNameplateType Attribute Values for Child Nodes
SourceBrowsePath |
Value |
Description |
2:Manufacturer |
- |
A human-readable, localized name of the manufacturer of the MachineryItem. |
2:SerialNumber |
- |
A string containing a unique production number of the manufacturer of the MachineryItem. The global uniqueness of the serial number is only given in the context of the manufacturer, and potentially the model. The value shall not change during the life-cycle of the MachineryItem. |
YearOfConstruction |
- |
The year (Gregorian calendar) in which the manufacturing process of the MachineryItem has been completed. It shall be a four-digit number and never change during the life-cycle of a MachineryItem. |
MonthOfConstruction |
- |
The month in which the manufacturing process of the MachineryItem has been completed. It shall be a number between 1 and 12, representing the month from January to December. |
InitialOperationDate |
- |
The date, when the MachineryItem was switched on the first time after it has left the manufacturer plant. |
The MachineryItemIdentificationType is an abstract ObjectType and cannot be used directly. It provides identification and other identification information of a MachineryItem and is formally defined in Table 20.
Table 14 – MachineryItemIdentificationType Definition
Attribute |
Value |
||||
BrowseName |
MachineryItemIdentificationType |
||||
IsAbstract |
True |
||||
Description |
Contains information about the identification and nameplate of a MachineryItem |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 2:FunctionalGroupType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
0:HasInterface |
ObjectType |
IMachineryItemVendorNameplateType |
|
|
|
0:HasInterface |
ObjectType |
2:ITagNameplateType |
|
|
|
|
|
|
|
|
|
Applied from IMachineryItemVendorNameplateType |
|||||
0:HasProperty |
Variable |
2:ProductInstanceUri |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:Manufacturer |
0:LocalizedText |
0:PropertyType |
M, RO |
0:HasProperty |
Variable |
2:ManufacturerUri |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:Model |
0:LocalizedText |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:ProductCode |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:HardwareRevision |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:SoftwareRevision |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:DeviceClass |
0:String |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
2:SerialNumber |
0:String |
0:PropertyType |
M, RO |
0:HasProperty |
Variable |
YearOfConstruction |
UInt16 |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
MonthOfConstruction |
Byte |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
InitialOperationDate |
DateTime |
0:PropertyType |
O, RO |
|
|
|
|
|
|
Applied from 2:ITagNameplateType |
|||||
0:HasProperty |
Variable |
2:AssetId |
0:String |
0:PropertyType |
O, RW |
0:HasProperty |
Variable |
2:ComponentName |
0:LocalizedText |
0:PropertyType |
O, RW |
The Properties 2:ProductInstanceUri, 2:Manufacturer, 2:ManufacturerUri, 2:Model, 2:ProductCode, 2:HardwareRevision, 2:SoftwareRevision, 2:DeviceClass, 2:SerialNumber, YearOfConstruction, and InitialOperationDate are defined by the IMachineryItemVendorNameplateType and shall be used as defined by the Interface.
In some subtypes it is not recommended to use the Properties 2:DeviceRevision, 2:RevisionCounter and 2:DeviceManual defined by the 2:IVendorNameplateType and inherited by the IMachineVendorNameplateType. Therefore, those optional Properties are not applied on the ObjectType. Subtypes of this ObjectType might add those Properties.
The Properties 2:AssetId and 2:ComponentName are defined by the 2:ITagNameplateType and shall be used as defined by the Interface.
The InstanceDeclarations of the MachineryItemIdentificationType have additional Attribute values defined in Table 21.
Table 15 – MachineryItemIdentificationType Attribute Values for Child Nodes
SourceBrowsePath |
Value |
Description |
2:ProductInstanceUri |
- |
A globally unique resource identifier provided by the manufacturer of the MachineryItem. |
2:Manufacturer |
- |
A human-readable, localized name of the manufacturer of the MachineryItem. |
2:ManufacturerUri |
- |
A globally unique identifier of the manufacturer of the MachineryItem. |
2:Model |
- |
A human-readable, localized name of the model of the MachineryItem. |
2:ProductCode |
- |
A machine-readable string of the model of the MachineryItem, that might include options like the hardware configuration of the model. This information might be provided by the ERP system of the vendor. For example, it can be used as order information. |
2:HardwareRevision |
- |
A string representation of the revision level of the hardware of a MachineryItem. Hardware is physical equipment, as opposed to programs, procedures, rules and associated documentation. Many machines will not provide such information due to the modular and configurable nature of the machine. |
2:SoftwareRevision |
- |
A string representation of the revision level of a MachineryItem. In most cases, MachineryItems consist of several software components. In that case, information about the software components might be provided as additional information in the address space, including individual revision information. In that case, this property is either not provided or provides an overall software revision level. The value might change during the life-cycle of a MachineryItem. |
2:DeviceClass |
- |
Indicates in which domain or for what purpose the MachineryItem is used. |
2:SerialNumber |
- |
A string containing a unique production number of the manufacturer of the MachineryItem. The global uniqueness of the serial number is only given in the context of the manufacturer, and potentially the model. The value shall not change during the life-cycle of the MachineryItem. |
YearOfConstruction |
- |
The year (Gregorian calendar) in which the manufacturing process of the MachineryItem has been completed. It shall be a four-digit number and never change during the life-cycle of a MachineryItem. |
MonthOfConstruction |
- |
The month in which the manufacturing process of the MachineryItem has been completed. It shall be a number between 1 and 12, representing the month from January to December. |
InitialOperationDate |
- |
The date, when the MachineryItem was switched on the first time after it has left the manufacturer plant. |
2:AssetId |
“” |
To be used by end users to store a unique identification in the context of their overall application. Servers shall support at least 40 Unicode characters for the clients writing this value, this means clients can expect to be able to write strings with a length of 40 Unicode characters into that field. |
2:ComponentName |
“” |
To be used by end users to store a human-readable localized text for the MachineryItem. The minimum number of locales supported for this property shall be two. Servers shall support at least 40 Unicode characters for the clients writing the text part of each locale, this means clients can expect to be able to write texts with a length of 40 Unicode characters into that field. |
The IMachineVendorNameplateType is a subtype of the IMachineryItemVendorNameplateType. It makes one Property mandatory. It is formally defined in Table 16.
Table 16 – IMachineVendorNameplateType Definition
Attribute |
Value |
||||
BrowseName |
IMachineVendorNameplateType |
||||
IsAbstract |
True |
||||
Description |
Interface containing identification and nameplate information for a machine provided by the machine vendor |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the IMachineryItemVendorNameplateType defined in 8.2, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
Properties of the 2:IVendorNameplateType |
|||||
0:HasProperty |
Variable |
2:ProductInstanceUri |
0:String |
0:PropertyType |
M, RO |
The Properties defined by the IMachineryItemVendorNameplateType shall be used as defined by that Interface.
It is not recommended to use the optional Properties 2:DeviceRevision, 2:RevisionCounter and 2:DeviceManual defined by the 2:IVendorNameplateType.
The InstanceDeclarations of the IMachineVendorNameplateType have additional Attribute values defined in Table 17.
Table 17 – IMachineVendorNameplateType Attribute Values for Child Nodes
SourceBrowsePath |
Value |
Description |
2:ProductInstanceUri |
- |
A globally unique resource identifier provided by the manufacturer of the machine |
The IMachineTagNameplateType is a subtype of the 2:ITagNameplateType defined in OPC 10000-100. It refines the semantics of the Properties defined in 2:ITagNameplateType, and adds an additional Property. It is formally defined in Table 18.
Table 18 – IMachineTagNameplateType Definition
Attribute |
Value |
||||
BrowseName |
IMachineTagNameplateType |
||||
IsAbstract |
True |
||||
Description |
Interface containing information of the identification of a machine set by the customer |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 2:ITagNameplateType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
0:HasProperty |
Variable |
Location |
0:String |
0:PropertyType |
O, RW |
The optional 2:AssetId is a writable string. It is defined by the 2:ITagNameplateType. The default value shall be an empty string. The Property is intended to be used by end users to store a unique identification in the context of their overall application. Servers shall support at least 40 Unicode characters for the clients writing this value, this means clients can expect to be able to write strings with a length of 40 Unicode characters into that field.
The optional 2:ComponentName is a writable localized text. It is defined by the 2:ITagNameplateType. The default value shall be an empty string for locale and text. The Property is intended to be used by end users to store a human-readable localized text for the Machine. The minimum number of locales supported for this Property shall be two. Servers shall support at least 40 Unicode characters for the clients writing the text part of each locale, this means clients can expect to be able to write texts with a length of 40 Unicode characters into that field.
The optional Location is a writable string. The Property is intended to be used by end users to store the location of the Machine in a scheme specific to the end user. Servers shall support at least 60 Unicode characters for the clients writing this value, this means clients can expect to be able to write strings with a length of 60 Unicode characters into that field. Examples are “Munich/A2/217”, “Area 51”.
The InstanceDeclarations of the IMachineTagNameplateType have additional Attribute values defined in Table 19.
Table 19 – IMachineTagNameplateType Attribute Values for Child Nodes
SourceBrowsePath |
Value |
Description |
Location |
- |
To be used by end users to store the location of the machine in a scheme specific to the end user Servers shall support at least 60 Unicode characters for the clients writing this value, this means clients can expect to be able to write strings with a length of 60 Unicode characters into that field. |
The MachineIdentificationType provides a globally unique identification of a Machine and other identification information of a Machine and is formally defined in Table 20.
Table 20 – MachineIdentificationType Definition
Attribute |
Value |
||||
BrowseName |
MachineIdentificationType |
||||
IsAbstract |
False |
||||
Description |
Contains information about the identification and nameplate of a machine |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the MachineryItemIdentificationType defined in 8.3, i.e. inheriting the InstanceDeclarations of that Node. |
|||||
0:HasProperty |
Variable |
0:DefaultInstanceBrowseName |
0:QualifiedName |
0:PropertyType |
- |
0:HasInterface |
ObjectType |
IMachineVendorNameplateType |
|
|
|
0:HasInterface |
ObjectType |
IMachineTagNameplateType |
|
|
|
|
|
|
|
|
|
Applied from IMachineVendorNameplateType |
|||||
0:HasProperty |
Variable |
2:ProductInstanceUri |
0:String |
0:PropertyType |
M, RO |
|
|
|
|
|
|
Applied from IMachineTagNameplateType |
|||||
0:HasProperty |
Variable |
Location |
0:String |
0:PropertyType |
O, RW |
The Properties 2:ProductInstanceUri, 2:Manufacturer, 2:ManufacturerUri, 2:Model, 2:ProductCode, 2:HardwareRevision, 2:SoftwareRevision, 2:DeviceClass, 2:SerialNumber, YearOfConstruction and InitialOperationDate are defined by the IMachineVendorNameplateType and already inherited from the MachineryItemIdentificationType and shall be used as defined by both. The 2:ProductInstanceUri is mandatory.
It is not recommended to use the optional Properties 2:DeviceRevision, 2:RevisionCounter and 2:DeviceManual defined by the 2:IVendorNameplateType and inherited by the IMachineVendorNameplateType. Therefore, those optional Properties are not applied on the ObjectType.
The Properties 2:AssetId, 2:ComponentName, and Location are defined by the IMachineTagNameplateType and shall be used as defined by the Interface. 2:AssetId and 2:ComponentName are also inherited from the MachineryItemIdentificationType.
The InstanceDeclarations of the MachineIdentificationType have additional Attribute values defined in Table 21.
Table 21 – MachineIdentificationType Attribute Values for Child Nodes
SourceBrowsePath |
Value |
Description |
0:DefaultInstanceBrowseName |
2:Identification |
The default BrowseName for instances of the type. |
2:ProductInstanceUri |
- |
A globally unique resource identifier provided by the manufacturer of the machine |
Location |
- |
To be used by end users to store the location of the machine in a scheme specific to the end user. Servers shall support at least 60 Unicode characters for the clients writing this value, this means clients can expect to be able to write strings with a length of 60 Unicode characters into that field. |