IF_AdditionalComponentsTransformation - Inverse (Method)

Overview

Type:

Method

Available as of:

V3.6.9.0

This chapter provides information on:

Task

Calculating the inverse transformation of the additional components.

Description

The method is used to calculate the inverse transformation of the configured additional components. The inputs i_stRefPositionTCP and i_stRefOrientationTCP represent the TCP reference position calculated by the trajectory generation.

In case the additional components affect the TCP position and/or orientation, the resulting values must be forwarded to the outputs q_stRefPositionTCP and q_stRefOrientationTCP.

For unaffected components the values from the inputs must be forwarded to their respective outputs.

Only the drive positions for the additional components must be written.

The configured main transformation writes the values for its own drives afterwards.

Example: For a Delta3 Robot that uses a 4th/5th axes module for rotation and tilting, the additional transformation only must write the axes “D” and “E” as the Delta3 transformation is calculated and written to A, B and C.

In case of the rotational and tilting module, the TCP position must be at the flange of the module. So, the additional component transformation must calculate a modified position for the output q_stRefPositionTCP that the main transformation uses these values for the calculation.

The outputs q_etDiag, q_etDiagExt and q_sMsg can be used to trigger an exception on the robot in case there is any exception detected by the user code implemented in this method. An exception can be triggered by setting the output q_etDiag to a value not equal to GD.ET_Diag.Ok. When a value unequal to zero for a not configured TCP component is calculated and transferred to the robot via the outputs q_stRefPositionTCP.lrX / lrY / lrZ or q_stRefOrientation.lrX / lrY / lrZ, the robot returns the diagnostic message ET_Diag.ExecutionAborted / ET_DiagExt.ComponentNotConfigured. When a value unequal to zero for a not configured axis is calculated and transferred to the robot via the output q_alrRefPositionAxis[…], the robot returns the diagnostic message ET_Diag.ExecutionAborted / ET_DiagExt.DriveNotConfigured.

Sequence of Inverse Transformation Calls

The inverse transformation methods are called in the following sequence:

The additional component transformation is called. Its results are forwarded to the main transformation which is called afterwards.

The full sequence with all options starts with the additional transformation TCP call. Next, the additional component transformation is called, followed by the main transformation. The additional transformation axes method is called last.

Interface

Input

Data type

Description

i_stRefPositionTCP

PDL.ST_Vector3D

Reference position of the TCP

i_stRefOrientationTCP

PDL.ST_Vector3D

Reference orientation of the TCP

i_etOrientationConvention

ET_OrientationConvention

Orientation convention

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = ET_Diag.Ok -> Status message

q_etDiag <> ET_Diag.Ok -> Diagnostic message

q_sMsg

STRING[80]

Event-triggered message that gives additional information on the diagnostic state.

q_stRefPositionTCP

PDL.ST_Vector3D

TCP reference position for the configured transformation.

q_stRefOrientationTCP

PDL.ST_Vector3D

TCP reference orientation for the configured transformation.

q_alrRefPositionAxis

ARRAY [ET_RobotComponent.AxisA .. ET_RobotComponent.AxisAll +Gc_udiMaxNumberOfAxes] OF LREAL

Reference position for the robot axes.