This is a generic interface common for all assets in the Joining System. The purpose of this interface is to provide the common information (Example: Identification, Health, Maintenance, etc.) of all the assets in a standardized way.
This interface has a standard MachineryItemIdentificationType add-in which can be assigned with MachineIdentificationType or MachineryComponentIdentificationType for an asset based on the requirement of the system.
Note: In a Joining System, Controller and Tool instances are generally considered as Machines and other assets can be modelled as components.
To determine if an asset is classified as Machine or Component is flexible and that is achieved using base add-in from OPC UA for Machinery specification MachineryItemIdentificationType which can be specialized using MachineIdentificationType or MachineryComponentIdentificationType.
The 2:Identification Object includes parameters from MachineryItemIdentificationType (which can be specialized to MachineIdentificationType or MachineryComponentIdentificationType) defined in OPC 40001-1. It also implements IJoiningAdditionalInformationType.
Table 22 – IJoiningSystemAssetType Definition
Attribute |
Value |
||||
BrowseName |
IJoiningSystemAssetType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseInterfaceType defined in OPC 10000-7. |
|||||
0:HasAddIn |
Object |
2:Identification |
-- |
4:MachineryItemIdentificationType |
M |
0:HasComponent |
Object |
Health |
-- |
2:FunctionalGroupType |
O |
0:HasAddIn |
Object |
2:OperationCounters |
|
4:MachineryOperationCounterType |
O |
0:HasAddIn |
Object |
4:LifetimeCounters |
|
4:MachineryLifetimeCounterType |
O |
0:HasComponent |
Object |
2:Maintenance |
-- |
2:FunctionalGroupType |
O |
0:HasComponent |
Object |
Parameters |
-- |
0:FolderType |
O |
0:HasComponent |
Object |
4:MachineryBuildingBlocks |
-- |
0:FolderType |
O |
|
|
|
|
|
|
Conformance Units |
|||||
4:Machinery Machine Identification |
|||||
4:Machinery Component Identification |
|||||
4:Machinery Building Block Organization |
|||||
IJT Asset Management Health |
|||||
IJT Asset Management Operation Counters |
|||||
IJT Asset Management Service |
|||||
IJT Asset Management Calibration |
The components of the IJoiningSystemAssetType have additional subcomponents which are defined in Table 23.
Table 23 – IJoiningSystemAssetType Additional Subcomponents
Source Path |
Reference |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
||
2:Identification |
0:HasInterface |
ObjectType |
IJoiningAdditionalInformationType |
|
|
|
||
2:Identification |
0:HasProperty |
Variable |
Description |
0:LocalizedText |
0:PropertyType |
O, RO |
||
2:Identification |
0:HasProperty |
Variable |
JoiningTechnology |
0:LocalizedText |
0:PropertyType |
O, RO |
||
2:Identification |
0:HasProperty |
Variable |
SupplierCode |
0:String |
0:PropertyType |
O, RO |
||
2:OperationCounters |
0:HasProperty |
Variable |
2:PowerOnDuration |
0:Duration |
0:PropertyType |
O, RO |
||
2:OperationCounters |
0:HasProperty |
Variable |
2:OperationDuration |
0:Duration |
0:PropertyType |
O, RO |
||
2:OperationCounters |
0:HasProperty |
Variable |
2:OperationCycleCounter |
0:UInteger |
0:PropertyType |
O, RO |
||
4:LifetimeCounters |
0:HasComponent |
Variable |
<LifetimeVariable> |
0:Number |
2:LifetimeVariableType |
O, RO |
||
Health |
0:HasInterface |
ObjectType |
2:IDeviceHealthType |
|
|
|
||
Health |
0:HasComponent |
Variable |
2:DeviceHealth |
2:DeviceHealthEnum |
0:BaseDataVariableType |
O, RO |
||
Health |
0:HasComponent |
Object |
2:DeviceHealthAlarms |
|
0:FolderType |
O, RO |
||
Health |
0:HasComponent |
Variable |
ErrorMessage |
0:LocalizedText |
0:BaseDataVariableType |
O, RO |
||
Health |
0:HasComponent |
Variable |
ErrorTimestamp |
0:UtcTime |
0:BaseDataVariableType |
O, RO |
||
Health |
0:HasComponent |
Variable |
ErrorCode |
0:Int64 |
0:BaseDataVariableType |
O, RO |
||
Health |
0:HasComponent |
Variable |
Temperature |
0:Double |
JoiningDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
LastService |
0:UtcTime |
0:BaseDataVariableType |
M, RO |
||
|
0:HasComponent |
Variable |
ServicePlace |
0:String |
0:BaseDataVariableType |
M, RO |
||
|
0:HasComponent |
Variable |
NextService |
0:UtcTime |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
ServiceCycleSpan |
0:Int32 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
ServiceCycleCount |
0:Int32 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
NumberOfServices |
0:Int32 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
ServiceReminderDays |
0:Int16 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
RemainingCycles |
0:Int32 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
ServiceReminderCycles |
0:Int32 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
ServiceOperationCycles |
0:UInt64 |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
CalibrationValue |
0:Double |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
LastCalibration |
0:UtcTime |
0:BaseDataVariableType |
M, RO |
||
|
0:HasComponent |
Variable |
CalibrationPlace |
0:String |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
NextCalibration |
0:UtcTime |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
SensorScale |
0:Double |
0:BaseDataVariableType |
O, RO |
||
|
0:HasComponent |
Variable |
CertificateUri |
0:UriString |
0:BaseDataVariableType |
O, RO |
||
Parameters |
0:HasComponent |
Variable |
Connected |
0:Boolean |
0:BaseDataVariableType |
O, RO |
||
Parameters |
0:HasComponent |
Variable |
Enabled |
0:Boolean |
0:BaseDataVariableType |
O, RO |
||
Parameters |
0:HasComponent |
Variable |
IOSignals |
SignalDataType[] |
0:BaseDataVariableType |
O, RO |
The 2:Identification Object, using the standardized name defined in OPC 10000-100, provides identification information about the asset. This is a mandatory place holder and any asset inheriting IJoiningSystemAssetType will replace it with MachineIdentificationType or MachineryComponentIdentificationType.
The 2:Identification Object implements IJoiningAdditionalInformationType interface with the following properties:
Description is the system specific description of the asset.
Note: Although there is a description attribute at the node level in OPC UA, Description property was added at the same level as the 2:Identification node for consistency.
JoiningTechnology is a human readable text to identify the joining technology.
SupplierCode is the SAP or ERP Supplier Code of the asset.
The Health Object is an instance of 2:FunctionalGroupType to group health related parameters for all the assets in a Joining System. The parameters for Health Object are described below.
2: DeviceHealth indicates the status as defined by NAMUR Recommendation NE107. Clients can read or monitor this Variable to determine the device condition.
ErrorMessage is the user readable text of the error reported by the given asset.
ErrorTimestamp is the timestamp when the error occurred in the given asset.
ErrorCode is the system specific code for the error occurred.
Temperature is the measured temperature of the asset.
The 2:OperationCounters Object is an instance of 4:MachineryOperationCounterType which provides information about the duration something is turned on and how long it performs an activity. The parameters for 2:OperationCounters Object are defined in OPC 40001-1.
Note: The data type of 2:OperationCycleCounter is 0:UInteger and it is recommended to use 0:UInt64 for the instances of an asset in a joining system.
The 4:LifetimeCounters Object is an instance of 4:MachineryLifetimeCounterType which provides an entry point to various lifetime variables.
The <LifetimeVariable > can be used for any kind of lifetime variables.
The Maintenance Object is an instance of 2:FunctionalGroupType to group maintenance related parameters for the given asset in a Joining System. It has the following objects described below:
The Service Object provides a set of parameters related to the service operations performed on a given asset.
The Calibration Object provides a set of parameters related to the calibration operations performed on a given asset.
The parameters for Service Object are described below.
LastService is the date when the last service was completed.
ServicePlace is the location where the last service was completed.
Note: LastService and ServicePlace should have the initial operation date and the place for new assets.
NextService is the date of the next planned service.
ServiceCycleSpan is the maximum allowed number of cycles between two services.
ServiceCycleCount is the total cycle counter since the last service.
NumberOfServices is the total number of services taken place.
ServiceReminderDays is the number of days before a service reminder should be sent.
RemainingCycles is the remaining cycles before the service or maintenance. It can go negative if a service is skipped to indicate overshoot cycles.
ServiceReminderCycles is the configured threshold for the number of remaining cycles before the service reminder is sent. This is calculated based on the RemainingCycles.
Example: If ServiceReminderCycles <= RemainingCycles, then a service reminder is sent.
ServiceOperationCycles is the value of the 2:OperationCycleCounter when the last service was performed.
The parameters for Calibration Object are described below.
CalibrationValue is the configured value of the calibration.
LastCalibration is the date when the last calibration was completed.
CalibrationPlace is the location where the last calibration was completed.
NextCalibration is the date of the next planned calibration.
SensorScale is the nominal scale of the sensor. It corresponds also with the measurement range of the sensor.
CertificateUri contains the URI of a certificate of the calibration target in case the calibration target is certified and the information available. Otherwise, the Variable should be omitted. The String shall be a URI as defined by RFC 3986. Example: MCE test document.
The Parameters Object is an instance of 0:FolderType to group set of common parameters of an asset in a joining system. It has the following parameters described below:
Enabled indicates if a given asset is enabled or disabled. It can change by EnableAsset method or by some other external interface.
Connected indicates if a given asset is connected or disconnected. It can change by DisconnectAsset method or by some other external interface.
IOSignals is an array of signals available for the asset.
Note: The Parameters Object is overridden for the specific assets and contains a set of additional parameters of the given asset.