Auxiliary functions for coordinate transformations

Auxiliary functions for coordinate transformations 1:

The use of this feature requires the license for the extension package "Transformations". It is not included in the scope of the standard license.

For 5-axis machines and machines with non cartesian structure (e.g. Hexapods) two typical variants for the definition of movements are used.

In the first case the contour in the space is programmed by the user with circles, straight lines or polynomials and the tool tip (TCP) is moved according to the programmed contour on the path.

In the second case the user programs the target point in space or work piece coordinates (WCS), which are mapped to machine coordinates (MCS). Corresponding to the maximum possible velocities in the axes the TCP moves on a non-predictable curve (PTP). Due to the loss of the TCP movement along a curve in space the PTP movement in general is faster than the TCP path movement.

In NC program the above-mentioned mapping of programmed WCS target points to MCS target points (backward transformation) can be executed by the following NC commands. The moving blocks to the calculated MCS target points have to be programmed by the user explicitly in absolute dimensions.

This method for example can be used, to move sequentially each single axis out of a collision area.

Notice

This commands only can be used with inactive transformation and inactive self-defined coordinate systems.

Calculation of machine coordinates (MCS) from work piece coordinates (WCS):

#WCS TO MCS [ [CS<ID_expr>] [KIN] ] (non-modal)

CS<ID_expr> Calculation of the target points under consideration of a cartesian transformation with a specific valid ID.

KIN Calculation of the target points under consideration of the currently valid kinematic transformation.

For the declaration of the WCS target points and the storage of the calculated MCS target points the following axis specific variables are available. This variables allow write and read access:

V.A. WCS.* Access on the axis specific auxiliary variable "work piece coordinate" (WCS). During active transformation this value in general do not correspond to the programmed work piece coordinates.
V.A. MCS.* Access on the axis specific auxiliary variable "machine coordinate" (MCS). During inactive transformation this value do not correspond to the programmed machine coordinates.

Programming example

From some specific WCS points the NC calculates via cartersian and kinematic backward transformations the MCS target points. With the special variables mentioned before in NC program the user has access on this calculated MCS positions. Dependent on the programmed keywords and the related CS-ID the user defines the executed transformation.

N02 #CS DEF[1][0,0,0,0,0,45] 
N00 #KIN ID [1]
N10 V.A.WCS.X=10
N20 V.A.WCS.Y=10
N30 V.A.WCS.Z=100
N40 #WCS TO MCS[CS 1, KIN] (Transformation of WCS into MCS)
N50 G00 Z=V.A.MCS.Z (Moving of single axes on MCS-target points..)
N60 G00 X=V.A.MCS.X
N70 G00 Y=V.A.MCS.Y
N
:

Incorrect use:

N05 #CS DEF[1][0,0,0,0,0,45] 
N10 #CS ON[1]
N20 V.A.WCS.X=100
N30 V.A.WCS.Y = 0
N40 V.A.WCS.Z = 0
N50 #WCS TO MCS [CS 1] <- not allowed because a CS is active
N05 #KIN ID[12]
N10 #TRAFO ON
N20 V.A.WCS.X=100
N30 V.A.WCS.Y = 0
N40 V.A.WCS.Z = 0
N50 #WCS TO MCS [KIN] <- not allowed because a trafo is active

Calculation of work piece coordinates (WCS) from machine coordinates (MCS):

The inverse mapping of MCS target points to WCS target points (forward transformation) is executed with the following command. This method for example can be used for the mapping of measured values to a WCS.

#MCS TO WCS [ [CS<ID_expr>] [KIN] ] (non-modal)

CS<ID_expr> Calculation of the target points under consideration of a cartesian transformation with a specific valid ID.

KIN Calculation of the target points under consideration of the currently valid kinematic transformation.