This structure contains measured times that were generated during the execution of a joining process. These measured values provide information about the duration required by the various sub-functions. The structure is defined in Table 68.

Table 68 - ProcessingTimesDataType Structure

Name

Type

Description

ProcessingTimesDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

StartTime

0:UtcTime

Contains the time when the system started execution of the joining process.

EndTime

0:UtcTime

Contains the time when the system finished (or stopped/aborted) execution of joining process.

AcquisitionDuration

0:Duration

Time spent by the joining system collecting required information.

ProcessingDuration

0:Duration

Time spent by the joining system processing data.

Its representation in the AddressSpace is defined in Table 69.

Table 69 - ProcessingTimesDataType Definition

Attribute

Value

BrowseName

ProcessingTimesDataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

The enumeration ResultEvaluation indicates whether the operation is successful or not. The enumeration is defined in Table 70.

Table 70 - ResultEvaluation Items

Name

Value

Description

UNDEFINED

0

UNDEFINED represents an uncertain outcome of the operation.

OK

1

OK represents a successful operation.

NOT_OK

2

NOT_OK represents an unsuccessful operation.

Its representation in the AddressSpace is defined in Table 71.

Table 71 - ResultEvaluation Definiton

Attribute

Value

BrowseName

ResultEvaluation

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

0:HasProperty

Variable

0:EnumStrings

0:LocalizedText[]

0:PropertyType

This structure contains aggregated information to identify one or more Tags corresponding to the Tags attribute defined in ResultType and ResultDataType. The structure is defined in Table 72.

Table 72 - TagDataType Structure

Name

Type

Description

TagDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

Name

0:String

The mandatory Name is the type of the identifier. It can be empty if a system could not determine the identifier. If it is empty, it is the application responsibility to handle the received Tag.

Example: PRODUCT_ID, PART_ID, SOCKET_NUMBER, VIN, etc.

Note: Application can send custom names which could be a combination of different terms in a given system.

Value

0:String

The mandatory Value is the identifier of the tag corresponding to the Name attribute.

Note: There could be additional rules and formats for different types of identifiers. Applications should handle it based on the defined constraints.

Example: If it is a VIN, it should be defined as per the respective standard.

Its representation in the AddressSpace is defined in Table 73.

Table 73 - TagDataType Definiton

Attribute

Value

BrowseName

TagDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It aggregates the properties of Result data which are reported for a given joining system. It is represented by ResultType variable. The structure is defined in Table 74.

Table 74 - ResultDataType Structure

Name

Type

Description

ResultDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

ResultId

0:Guid

The mandatory ResultId is the system-wide unique identifier of the result.

ProcessingTimes

ProcessingTimesDataType

The optional ProcessingTimes is the collection of different processing times that were needed to create the result.

CreationTime

0:UtcTime

The optional CreationTime indicates the time when the result was created.

ResultEvaluation

ResultEvaluation

The optional ResultEvaluation indicates whether the joining operation was successful or not. Refer section 10.2 for the pre-defined values.

ResultEvaluationCode

0:Int32

The optional ResultEvaluationCode is a vendor/application specific code. It can be up to the system to define few numbers to describe Nine-field code, or derivative of the nine-field matrix, etc. 0 – OK, successful operation.

ResultEvaluationDetails

0:LocalizedText

The optional ResultEvaluationDetails provides high level status information in a user-friendly text. This can be left empty for successful operations.

SequenceNumber

0:Int32

The optional SequenceNumber is the cyclic counter which is incremented for each result generated.

Tags

TagDataType[]

The optional Tags is a list of identifiers associated to the given result. Examples: {VIN, XYZ1234}, {PardId, E54YJH}, {SocketNumber, 5}, etc.

Classification

0:Byte

The optional Classification provides information on the classification of the result in the joining system. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 - UNDEFINED
  • 1 - SINGLE_RESULT represents a single result.
  • 2 - APPLICATION_RESULT represents a group of results. Example: Synchronized result from multiple spindles.
  • 3 - BATCH_RESULT represents a group of results done with the same program.
  • 4 - JOB_RESULT represents a group of results done with the different programs.
  • 5 - STITCHING_RESULT represents a group of APPLICATION_RESULT.

OperationMode

0:Byte

The optional OperationMode provides information on how the joining process was selected. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 - UNDEFINED
  • 1 - AUTOMATIC indicates that the joining process was selected by PLC, Robot, etc.
  • 2 - MANUAL indicates that the joining process was selected manually by the user.

IsSimulated

0:Boolean

The optional IsSimulated indicates whether the system was in simulation mode when the joining process created this result.

IsPartial

0:Boolean

The optional IsPartial indicates whether the result is the partial result of a total result. If this is true, then it indicates that result data is not complete. If the result is sent in multiple calls, then ResultId must be same for linking the complete result data.

ReporterAssetId

0:Guid

The optional ReporterAssetId is the identifier of the asset which has reported the result.

GeneratorAssetId

0:Guid

The optional GeneratorAssetId is the identifier of the asset which has generated the result.

Example: In a handheld System with one controller and one connected tool. ReporterAssetId will be identifier of the controller and GeneratedAssetId will be the identifier of the tool.

ResultContent

0:BaseDataType

The optional ResultContent is an abstract data type to hold result data created by the selected program.

Note: The data for ResultContent is system specific. Examples: TighteingResultDataType or Vendor specific extension of the TighteingResultDataType.

Its representation in the AddressSpace is defined in Table 75.

Table 75 - ResultDataType Definiton

Attribute

Value

BrowseName

ResultDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is used report data associated with Tightening Result and the corresponding measurement values. It is represented by TighteningResultType variable. The structure is defined in Table 76.

Table 76 - TighteningResultDataType Structure

Name

Type

Description

TighteningResultDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

ProgramId

0:Guid

The optional ProgramId the system-wide unique Identifier of the Program configured for generating this result.

ProgramVersionId

0:Guid

The optional ProgramVersionId is the system-wide unique version identifier of the Program configured for generating this result. This will be unique for every change/update of the given program.

FailureReason

0:Byte

The optional FailureReason is an enumeration which provides the primary reason for failure. If a violation is handled by a rework step resulting in a successful operation, then it is not reported as failure. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 – NOT_OK_REASON_UNDEFINED
  • 1 – NOT_OK_REASON_PROGRAM indicates the failure of the operation is due to the violation of global program limits.
  • Note: Refer OverallResultValues list in the TighteningResultType instance if this is the failure reason.
  • 2 – NOT_OK_REASON_STEP indicates the failure of the operation is due to the violation of program step limits.
  • Note: Refer StepResults list in the TighteningResultType instance if this is the failure reason.
  • 3 – NOT_OK_REASON_ERROR indicates the failure of the operation is due to external factors which are outside the boundary of the joining operation. Example: Temperature Overheat, Tool Trigger Lost, etc.
  • Note: Refer Errors list in the TighteningResultType instance if this is the failure reason.

OverallResultValues

ResultValueDataType[]

The mandatory OverallResultValues is an array of overall result values which contains the measurement values of different quantities like torque, angle, time, etc. based on the program.

Note: If the operation is terminated in the first step and no values are available to report, then this list may be empty.

StepResults

StepResultDataType[]

The optional StepResults is an array of step results corresponding to each step in the program. This parameter is used if the system provides one or more step results.

Errors

ErrorInformationDataType[]

The optional Errors is an array of external errors which captures the failures outside the boundary of the program are captured as part of the Errors. It is up to the application to fill in the critical/primary error in the Errors list as top entry.

FailingStepResultId

0:Guid

The optional FailingStepResultId is the identifier of the step result which is the primary cause of failure.

JointId

0:Guid

The optional JointId is the system-wide unique identifier of the Joint corresponding to this result.

Trace

TighteningTraceDataType

The optional Trace is a structure to include the TighteningTrace content. This can be NULL or empty and it is up to the application to send this as part of the Tightening Result.

Its representation in the AddressSpace is defined in Table 77.

Table 77 - TighteningResultDataType Definiton

Attribute

Value

BrowseName

TighteningResultDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is used to report measurement values of the joining operation. Those are meant to characterize the quality of the process. It is used in TighteningResultDataType and StepResultDataType and represented as ResultValueType variable. The structure is defined in Table 78.

Table 78 - ResultValueDataType Structure

Name

Type

Description

ResultValueDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

Value

0:Double

The mandatory Value is the measured value of the given result. The value corresponds to the PhysicalQuantity attribute of JoiningDataVariableType in the following section 9.10.

Note: Additional information on whether the Torque or Angle are evaluated as positive or negative is described in the following section D.5.

Name

0:String

The optional Name is a user readable name of the given measurement value.

ResultEvaluation

ResultEvaluation

The optional ResultEvaluation indicates whether the measured value is as per the configured limits and corresponds to a successful result or not. Refer section 10.2 for the pre-defined values.

ValueId

0:Guid

The optional ValueId is the system-wide unique Identifier of the given value if it is available in the system.

ValueTag

0:Byte

The optional ValueTag is an associated tag to the given measurement value to classify it based on the tightening domain. Examples: FINAL, YIELD, SNUG, etc. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 - UNDEFINED
  • 1 - FINAL indicates the final reported measurement value.
  • 2 - TORSION indicates the twisting of the tightening system when applying the tightening torque. When a bolt is tightened it is subjected to tensile stress as preload is introduced but also to torsion stress as a result of thread friction.
  • 3 - SNUG or SEATING is the reported point where screw head touches the surface and all parts have mated.
  • 4 - YIELD is the yield point is the reported point on a stress-strain curve that indicates the limit of elastic behaviour and the beginning of plastic behaviour.
  • 5 - EXIT indicates a transition value between two steps in a multi-step program.
  • 6 - TRACE_START is the point that represents the offset from the start of the step to the FIRST reported trace value when a given trace is not beginning at the start of the step.
  • 7 - TRACE_END is the point that represents the offset from the start of the step to the LAST reported trace value when a given trace is not beginning at the start of the step.
  • 8 - MAX represents the maximum value of the given measurement.
  • 9 - MIN represents the minimum value of the given measurement.
  • 10 - TOOL_ANGLE_MOVEMENT represents the angle that handheld tool has moved until reaching the FINAL point, as registered by the internal GYRO.

Note: Additional explanations and pictures describing of some of the ValugTag values are provided in Annex C.

TracePointIndex

0:Int32

The optional TracePointIndex is the index to the trace sample array from which corresponds to this specific result.

TracePointTimeOffset

0:Double

The optional TracePointTimeOffset is the time offset (in seconds) to point out the absolute time point in the array of trace samples. This may or may not match with an element in the TraceContent array. If it is not available in the TraceContent array, the value can be visualized in the trace graph via interpolation or some other plotting mechanisms.

ReporterId

0:Guid

The optional ReporterId is the system-wide unique identifier of the parameter configured in the Program which is being monitored or sampled.

ViolationType

0:Byte

The optional ViolationType indicates whether the measured value is above or below the configured limit. It is only relevant if program or step configuration is violated. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 – UNDEFINED
  • 1 - ABOVE_LIMIT indicates that the measured value is above the configured limit.
  • 2 - BELOW_LIMIT indicates that the measured value is below the configured limit.

ViolationConsequence

0:Byte

The optional ViolationConsequence provides information on the consequence occurred due to the violation of the configurable limits. Examples: Step Transition, Abort Tightening Operation. Is the consequence repairable or not, etc. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 - UNDEFINED
  • 1 - ABORT
  • 2 - NORMAL_STEP_TRANSITION
  • 3 - REPAIR_STEP_TRANSITION

SensorId

0:Guid

The optional SensorId is the system-wide unique identifier of the sensor which has reported the value.

LowLimit

0:Double

The optional LowLimit provides the lower limit of the measured value as per the program.

HighLimit

0:Double

The optional HighLimit provides the upper limit of the measured value as per the program.

TargetValue

0:Double

The optional TargetValue provides the target value of the specific measurement in the program step.

ResultStep

0:String

The optional ResultStep provides the step number or name of the program step which has generated the result.

Note: This is not applicable for StepResultValues in StepResultType or StepResultDataType. This is added for OverallResultValues in TighteningResultType or TighteningResultDataType to get the information of particular step which has reported the specific value.

PhysicalQuantity

0:Byte

The optional PhysicalQuantity is to determine the type of the physical quantity associated to a given value(s). Refer section 9.10 for the pre-defined values.

EngineeringUnits

0:EUInformation

The optional 0:EngineeringUnits defines the engineering unit of the value.

Its representation in the AddressSpace is defined in Table 79.

Table 79 - ResultValueDataType Definiton

Attribute

Value

BrowseName

ResultValueDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is used report measurement values corresponding to a given step in the program. It is used in TighteningResultDataType and is represented as StepResultType variable. The structure is defined in Table 80.

Table 80 - StepResultDataType Structure

Name

Type

Description

StepResultDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

StepResultId

0:Guid

The mandatory StepResultId is the system-wide unique identifier of the step result.

ProgramStepId

0:Guid

The optional ProgramStepId is the system-wide unique identifier of the Program Step.

ProgramStep

0:String

The optional ProgramStep is the step number or name of the program step. Sometimes the step id is like 2A, 3B based on number of branches. Hence a string place holder is needed instead of number.

Name

0:String

The optional Name is the user readable name of the given step. This can be the name of the step in the configuration for ease of use and troubleshooting.

ResultEvaluation

ResultEvaluation

The optional ResultEvaluation indicates if the StepResult is successful or not. Refer section 10.2 for the pre-defined values.

StartTimeOffset

0:Double

The optional StartTimeOffset (in seconds) is the offset to the ProcessingTimes.StartTime in Result, this value can be used to order the steps in execution order if same step is run multiple times.

StepTraceId

0:Guid

The optional StepTraceId is the system-wide unique identifier of the StepTrace associated to the StepResult.

StepResultValues

ResultValueDataType[]

The optional StepResultValues is the set of values which needs to be measured as per the program step.

Its representation in the AddressSpace is defined in Table 81.

Table 81 - StepResultDataType Definiton

Attribute

Value

BrowseName

StepResultDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is used report errors occurred in the system which are outside the boundaries of the given program. It is used in TighteningResultDataType and is represented as ErrorInformationType variable. The structure is defined in Table 82.

Table 82 - ErrorInformationDataType Structure

Name

Type

Description

ErrorInformationDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

ErrorType

0:Byte

The mandatory ErrorType is the classification of type of errors due to external factors. Examples: Tool Trigger Lost is Operator error. Temperature overheat is hardware error, etc. It has the following pre-defined values which shall be used for each instance of this type.

  • 0 - UNDEFINED
  • 1 - OTHER
  • 2 - HARDWARE
  • 3 - PROCESS
  • 4 - OPERATOR
  • 5 - SYSTEM
  • 6 – SAFETY

ErrorId

0:Guid

The optional ErrorId is the system-wide unique identifier of the error in the system. This will be useful if system wants to provide an identifier where user can query the system and get more information for troubleshooting. It can also point to the respective EventId reported if available.

LegacyError

0:String

The optional LegacyError is the application or system specific error code.

ErrorMessage

0:LocalizedText

The optional ErrorMessage is user readable text message to describe the error.

Its representation in the AddressSpace is defined in Table 83.

Table 83 - ErrorInformationDataType Definiton

Attribute

Value

BrowseName

ErrorInformationDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is a base type to encapsulate common data for a Trace. It is represented as TraceType variable. The structure is defined in Table 84.

Table 84 - TraceDataType Structure

Name

Type

Description

TraceDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

TraceId

0:Guid

The mandatory TraceId is the system-wide unique identifier of the Trace.

ResultId

0:Guid

The mandatory ResultId is the system-wide unique identifier of the associated result. This is useful to link Result and Trace instances when the Result and Trace are sent separately.

Its representation in the AddressSpace is defined in Table 85.

Table 85 - TraceDataType Definiton

Attribute

Value

BrowseName

TraceDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

This structure is to describe the content of traces for all the steps in the given program. It is used in TighteningResultDataType and is represented as TighteningTraceType variable. The structure is defined in Table 86.

Table 86 - TighteningTraceDataType Structure

Name

Type

Description

TighteningTraceDataType

structure

Subtype of the TraceDataType.

StepTraces

StepTraceDataType[]

The mandatory StepTraces is an array of StepTraceType which provides trace content for each step in the given program.

Its representation in the AddressSpace is defined in Table 87.

Table 87 - TighteningTraceDataType Definiton

Attribute

Value

BrowseName

TighteningTraceDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the TraceDataType.

It is to describe of the trace for a given program step. It is used in TighteningTraceDataType and is represented as StepTraceType variable. The structure is defined in Table 88.

Table 88 - StepTraceDataType Structure

Name

Type

Description

StepTraceDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

StepTraceId

0:Guid

The mandatory StepTraceId is the system-wide unique identifier of the step trace.

StepResultId

0:Guid

The mandatory StepResultId is the system-wide unique identifier of the associated step result.

NumberOfTracePoints

0:UInt32

The mandatory NumberOfTracePoints is the total number of trace points to be sent for each quantity.

SamplingInterval

0:Double

The optional SamplingInterval (in seconds) is the time between each sample in the given Trace array. This is required if applications want to reduce the amount of data by omitting the TraceData array which represents TIME.

StartTimeOffset

0:Double

The optional StartTimeOffset is the offset to the ProcessingTimes.StartTime in the Result instance. This value can be used to order the steps in execution order if same step is run multiple times.

StepTraceContent

TraceContentDataType[]

The mandatory StepTraceContent is an array of trace data which contains the samples of different quantities like torque, angle, time, etc. The array size of TraceContent array should be same for each quantity and that is determined by the NumberOfTracePoints value.

Its representation in the AddressSpace is defined in Table 89.

Table 89 - StepTraceDataType Definiton

Attribute

Value

BrowseName

StepTraceDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.

It is to describe of the trace samples for a given program step. It is used in StepTraceDataType and is represented as TraceContentType variable. The structure is defined in Table 90.

Table 90 - TraceContentDataType Structure

Name

Type

Description

TraceContentDataType

structure

Subtype of the 0:Structure defined in OPC 10000-5.

Values

0:Double[]

The mandatory Values is an array of trace samples. The values correspond to the PhysicalQuantity attribute.

SensorId

0:Guid

The optional SensorId is the system-wide unique identifier of the sensor which has reported the values. This will be useful for identifying the sensor when the same set of samples are reported by multiple sensors.

Name

0:String

The optional Name is the user readable name for the given trace.

Description

0:String

The optional Description is an additional text to describe the trace samples.

PhysicalQuantity

0:Byte

The optional PhysicalQuantity is to determine the type of the physical quantity associated to a given value(s). Refer section 9.10 for the pre-defined values.

EngineeringUnits

0:EUInformation

The optional 0:EngineeringUnits defines the engineering unit of the values.

Its representation in the AddressSpace is defined in Table 91.

Table 91 - TraceContentDataType Definiton

Attribute

Value

BrowseName

TraceContentDataType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5.