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

Maintenance

Service

0:HasComponent

Variable

LastService

0:UtcTime

0:BaseDataVariableType

M, RO

Maintenance

Service

0:HasComponent

Variable

ServicePlace

0:String

0:BaseDataVariableType

M, RO

Maintenance

Service

0:HasComponent

Variable

NextService

0:UtcTime

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

ServiceCycleSpan

0:Int32

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

ServiceCycleCount

0:Int32

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

NumberOfServices

0:Int32

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

ServiceReminderDays

0:Int16

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

RemainingCycles

0:Int32

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

ServiceReminderCycles

0:Int32

0:BaseDataVariableType

O, RO

Maintenance

Service

0:HasComponent

Variable

ServiceOperationCycles

0:UInt64

0:BaseDataVariableType

O, RO

Maintenance

Calibration

0:HasComponent

Variable

CalibrationValue

0:Double

0:BaseDataVariableType

O, RO

Maintenance

Calibration

0:HasComponent

Variable

LastCalibration

0:UtcTime

0:BaseDataVariableType

M, RO

Maintenance

Calibration

0:HasComponent

Variable

CalibrationPlace

0:String

0:BaseDataVariableType

O, RO

Maintenance

Calibration

0:HasComponent

Variable

NextCalibration

0:UtcTime

0:BaseDataVariableType

O, RO

Maintenance

Calibration

0:HasComponent

Variable

SensorScale

0:Double

0:BaseDataVariableType

O, RO

Maintenance

Calibration

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.