|
|
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Corner without pole traversal
&RUQHU
[
[
$SSURDFK WR
([LW IURP SROH
SROH
Figure 8-4
Machining on one pole side
Requirements:
AUTOMATIC mode,
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2
The control system inserts a traversing block at the step change point. This block generates
the necessary rotation so that machining of the contour can continue on the same side of the
pole.
Transformation selection in pole
If the machining operation must continue from a position on the tool center path which
corresponds to the pole of the activated transformation, then an exit from the pole is specified
for the new transformation.
If
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 0
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 0
is set (pole transition), then a rotation as small as possible is generated at the beginning of the
block originating in the pole. Depending on this rotation, the axis then traverses either in front
of or behind the turning center.
For
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1
or
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
417
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 1
machining is done before the rotational center point (linear axis in positive traversing range),
for
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 2
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 2
behind the rotational center point (linear axis in negative traversing range).
Transformation selection outside pole
The control system moves the axes involved in the transformation without evaluating machine
data MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_<t>. In this case, <t> = 1 stands for the
first and <t> = 2 for the second TRANSMIT transformation in the channel.
8.1.1.3
Working area limitations
Initial situation
When TRANSMIT is active, the pole is replaced by a working area limitation if the tool center
point cannot be positioned at the turning center of the rotary axis involved in the transformation.
This is the case when the axis perpendicular to the rotary axis (allowing for tool offset) is not
positioned on the same radial plane as the rotary axis or if both axes are positioned mutually
at an oblique angle. The distance between the two axes defines a cylindrical space in the BCS
in which the tool cannot be positioned.
The illegal range cannot be protected by the software limit switch monitoring function since
the traversing range of the machine axes is not affected.
[
'LVWDQFH EHWZHHQ D[HV
XQPDFKLQDEOH F\OLQGHU RI
WKH ZRUNLQJ DUHD OLPLWDWLRQ
Figure 8-5
Working area limitation based on offset linear axis
Extended Functions
418
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Traverse into working area limitation
Any motion that leads into the working area limitation is rejected with alarm 21619. Any
corresponding parts program block is not processed. The control system stops processing at
the end of the preceding block.
If the motion cannot be foreseen promptly enough (JOG modes, positioning axes), then the
control stops at the edge of the working area limitation.
Response close to working area limitation
If a tool center point traverses past the prohibited range, the control system automatically
reduces the feedrate and path acceleration rate such that the settings in the machine axes
(MD 32000 $MA_MAX_AX_VELO[AX*] and MD32300 $MA_ MAX_AX_ACCEL[AX*]) are not
exceeded. The closer the path is to the working area limitation, the greater the reduction in the
feedrate may be.
8.1.1.4
Overlaid motions with TRANSMIT
The control system cannot predict overlaid motions. However, these do not interfere with the
function provided that they are very small (e.g. fine tool offset) in relation to the current distance
from the pole (or from working area limitation). With respect to axes that are relevant for the
transformation, the transformation monitors the overlaid motion and signals any critical quantity
by alarm 21618. This alarm indicates that the block-related velocity planning function no longer
adequately corresponds to the actual conditions on the machine. When the alarm is output,
the conventional, non-optimized online velocity monitor is therefore activated. The
preprocessing routine is re-synchronized with the main run by a REORG generated internally
in the control.
Alarm 21618 should be avoided whenever possible since it indicates a state that can lead to
axis overload and thus abortion of parts program processing.
8.1.1.5
Monitoring of rotary axis rotations over 360º
The positions of the rotary axis are ambiguous with respect to the number of rotations. The
control breaks down blocks containing several rotations around the pole into sub-blocks.
This subdivision must be noted with respect to parallel actions (e.g. output of auxiliary
functions, block-synchronized positioning axis motions) since the programmed block end is
no longer relevant for synchronization, but the end of the first sub-block.
Reference:
Function Manual Basic Functions; "H2: Auxiliary function outputs to the PLC"
Function Manual Synchronized Actions
In single block operation the control system machines individual blocks explicitly. Otherwise
the sub-blocks are traversed with Look Ahead just like a single block. A limitation of the rotary
axis setting range is monitored by the software limit switch monitoring function.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
419
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
8.1.2
Parameter assignment
8.1.2.1
Overview
Machine data: Transformation data in general
The following machine data is used to define transformation data sets in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<n> (definition of the <n>th transformation in the channel)
● MD2xxxx $MC_TRAFO_AXES_IN_<n> (axis assignment for the <n>th transformation in
the channel)
● MD2xxxx $MC_TRAFO_GEOAX_ASSIGN_TAB_<n> (assignment of geometry axes to
channel axes for transformation <n>)
● MD2xxxx $MC_TRAFO_INCLUDES_TOOL_<n> (tool handling with active nth
transformation)
where <n> = 1, 2, 3, ... max. number of transformation data sets
For TRANSMIT (type 256 or 257), no more than two transformation data sets may be
parameterized in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<x> = <TRANSMIT type>
● MD2xxxx $MC_TRAFO_TYPE_<y> = <TRANSMIT type>
Machine data: TRANSMIT transformation
A TRANSMIT transformation is parameterized using the following machine data:
● MD2xxxx $MC_TRANSMIT_ROT_AX_OFFSET_<n> (offset of the rotary axis)
● MD2xxxx $MC_TRANSMIT_ROT_AX_FRAME_<n> (rotary axis offset)
● MD2xxxx $MC_TRANSMIT_ROT_SIGN_IS_PLUS_<n> (sign of the rotary axis)
● MD2xxxx $MC_TRANSMIT_BASE_TOOL_<n> (vector of the base tool)
● MD2xxxx $MC_TRANSMIT_POLE_SIDE_FIX_<n> (limitation of the working area in front
of/behind the pole)
where <n> = 1, 2 (TRANSMIT data set number)
Extended Functions
420
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
8.1.2.2
Axis configuration
The following shows an axis configuration that is typical of TRANSMIT.
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0'
&KDQQHO
0&B $;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VW JHRPHWU\ D[LV > @
;
0'
QG JHRPHWU\ D[LV > @
<
0&B75$)2B*(2$;B$66,*1B7$%
UG JHRPHWU\ D[LV > @
=
&KDQQHO
&KDQQHO
0'
0'
0&B $;&21)B&+$1$;B1$0(B7$%
0&B$;&21)B0$&+$;B86('
&KDQQHO
&KDQQHO
&KDQQHO
&KDQQHO
VW FKDQQHO D[LV > @
;&
QG FKDQQHO D[LV > @
=&
UG FKDQQHO D[LV > @
&&
WK FKDQQHO D[LV > @
$6&
0'
0'
0$B63,1'B$66,*1B72B0$&+$;
0$B$;&21)B0$&+$;B1$0(B7$%
VW PDFKLQH D[LV >$; @
&0
QG PDFKLQH D[LV >$; @
;0
UG PDFKLQH D[LV >$; @
=0
WK PDFKLQH D[LV >$; @
$60
① Effective if TRANSMIT is active.
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "XM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ASM"
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
421
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "CC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "ASC"
Assignment of geometry axes to channel axes
TRANSMIT not active
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 1 (1st geometry axis → 1st channel
axis XC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 2 (3rd geometry axis → 2nd
channel axis ZC)
TRANSMIT active
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 1 (1st transformation geometry
axis → 1st channel axis XC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 3 (2nd transformation geometry
axis → 3rd channel axis CC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 2 (3rd transformation geometry
axis → 2nd channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 2 (1st channel axis → 2nd machine axis
XM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 3 (2nd channel axis → 3rd machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 1 (3rd channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 4 (4th channel axis → 4th machine axis
ASM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle)
Extended Functions
422
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
8.1.2.3
Specific settings
One rotary and one linear axis: TRAFO_TYPE = 256
The transformation type 256 must be set for TRANSMIT with a rotary and a linear axis:
$MC_TRAFO_TYPE_<n> = 256
where <n> = 1, 2, ... max. number of transformations
Transformation input axes: $MC_TRAFO_AXES_IN_<n>
Those channel axes are specified in the machine data on which the axes of the transformation
Cartesian coordinate system are to be mapped:
$MC_TRAFO_AXES_IN_<n>[ <index> ] = <channel axis number>
where <n> = 1, 2, ... max. number of transformations
<Index>
Meaning
0
Linear axis, perpendicular to rotary axis
1
Rotary axis
2
Linear axis, parallel to rotary axis
The channel axis numbers must refer to the axis sequence defined with
$MC_TRAFO_GEOAX_ASSIGN_TAB_<n>.
One rotary and two linear axes: TRAFO_TYPE = 257
The transformation type 257 must be set for TRANSMIT with a rotary and two linear axes:
$MC_TRAFO_TYPE_<n> = 257
where <n> = 1, 2, ... max. number of transformations
The second linear axis must be oriented perpendicular to the plane clamped by the rotary and
the linear axis. The second linear axis for TRANSMIT is used exclusively for tool correction.
Transformation input axes: $MC_TRAFO_AXES_IN_<n>
Those channel axes are specified in the machine data on which the axes of the transformation
Cartesian coordinate system are to be mapped:
$MC_TRAFO_AXES_IN_<n>[ <index> ] = <channel axis number>
where <n> = 1, 2, ... max. number of transformations
<Index>
Meaning
0
Linear axis, perpendicular to rotary axis
1
Rotary axis
2
Linear axis, parallel to rotary axis
3
Linear axis perpendicular to the axes from index 0 and 1
The channel axis numbers must refer to the axis sequence defined with
$MC_TRAFO_GEOAX_ASSIGN_TAB_<n>.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
423
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Rotary axis offset: TRANSMIT_ROT_AX_OFFSET
If the rotary axis zero point does not match the rotary axis zero position when the TRANSMIT
transformation is active, the angular difference must be entered as an offset in the machine
data:
$MC_TRANSMIT_ROT_AX_OFFSET_<t> = <angular difference>
where <t> = 1, 2
Direction of rotation: TRANSMIT_ROT_SIGN_IS_PLUS
TRANSMIT must be informed of the rotary axis direction of rotation with the following machine
data:
● The direction of rotation of the rotary axis is positive with regard to TRANSMIT if the rotary
axis rotates counterclockwise (in relation to the X/Y plane looking at the Z axis), when
traversing in the positive direction.
● The rotary axis direction of rotation with regard to TRANSMIT is negative if it rotates
clockwise when traversing in the positive direction
<
<
;
;
=
=
① Positive direction of rotation
② Negative direction of rotation
Figure 8-6
Rotary axis direction of rotation
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_<t> = <direction of rotation>
where <t> = 1, 2
<Direction of rotation>
Meaning
0
Negative rotary axis direction of rotation ⇒ internal sign reversal
1
Positive rotary axis direction of rotation ⇒ no internal sign reversal
Position of the tool zero: TRANSMIT_BASE_TOOL
The position of the tool zero is specified in relation to the origin of the effective Cartesian
coordinate system for TRANSMIT:
● MD24920 $MC_TRANSMIT_BASE_TOOL_<t>[ 0 ] = <offset in X>
● MD24920 $MC_TRANSMIT_BASE_TOOL_<t>[ 1 ] = <offset in Y>
● MD24920 $MC_TRANSMIT_BASE_TOOL_<t>[ 2 ] = <offset in Z>
where <t> = 1, 2
Extended Functions
424
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Replaceable geometry axes
When the GEOAX() geometry axes are switched, the parameterized M function is output to
the NC/PLC interface:
● MD22534 $MC_TRAFO_CHANGE_M_CODE = <M function>
Note
The values 0 to 6, 17 and 30 are not output.
References:
Function Manual Basic Functions; K2, "Coordinate Systems, Axis Types, Axis Configurations,
Workpiece-related Actual-Value System, External Zero Offset"
8.1.3
Programming
The front face transformation (TRANSMIT) is activated in the part program or synchronized
action using the TRANSMIT statement.
Syntax
TRANSMIT
TRANSMIT(<n>)
Meaning
TRANSMIT:
Activate TRANSMIT with the first TRANSMIT data set
TRANSMIT(n):
Activate TRANSMIT with the nth TRANSMIT data set
Note
A TRANSMIT transformation active in the channel is activated with:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRAANG, TRAORI
8.1.4
Constraints
Look Ahead
All functions requiring Look Ahead (traversal through pole, Look Ahead) work satisfactorily
only if the relevant axis motions can be calculated exactly in advance. With TRANSMIT, this
applies to the rotary axis and the linear axis perpendicular to it. If one of these axes is the
positioning axis, then the Look Ahead function is deactivated by alarm 10912 and the
conventional online velocity check activated instead.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
425
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Selection of method
The user is responsible for making the optimum choice of "Traversal through pole" or "Rotation
around pole".
Several pole traversals
A block can traverse the pole any number of times (e.g. programming of a helix with several
turns). The part program block is subdivided into a corresponding number of sub-blocks.
Analogously, blocks which rotate several times around the pole are likewise divided into sub-
blocks.
Rotary axis as modulo axis
The rotary axis can be a modulo rotary axis. However, this is not a mandatory requirement as
was the case in SW 2 and 3. The relevant restrictions applying in SW 2 and 3 have been
eliminated.
Rotary axis as spindle
If the rotary axis without transformation is used as a spindle, it must be switched to position-
controlled mode with SPOS before the transformation is selected.
TRANSMIT with supplementary linear axis
With active TRANSMIT, the channel name of posBCS[ax[3]] must have another name in the
part program, like the geometry axes. If posBCS[ax[3]] is written only outside the TRANSMIT
transformation, this restriction does not apply if the axis has been assigned to a geometry axis.
With active TRANSMIT, no contour information is processed via ax[3].
REPOS
It is possible to reposition on the sub-blocks produced as a result of the extended TRANSMIT
function in SW 4. In this case, the control uses the first sub-block that is closest to the
repositioning point in the BCS.
Block search
In the case of block search with calculation, the block end point (of the last sub-block) is
approached in cases where intermediate blocks have been generated as the result of the
extended functionality in SW 4.
Extended Functions
426
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
8.1.5
Example
The example refers to the axis configuration shown in the following figure.
&0
X, Y, Z
Geometry axes
CM
1st machine axis: Rotary axis
XM
2nd machine axis: Linear axis, perpendicular to rotary axis
ZM
3rd machine axis: Linear axis, parallel to rotary axis
ASM
4th machine axis: Main spindle
Parameter assignment
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM" (1st machine axis: spindle/
rotary axis)
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "XM" (2nd machine axis: linear
axis)
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM" (3rd machine axis: linear axis)
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ASM" (4th machine axis: spindle)
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC" (linear axis)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "ZC" (linear axis)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
427
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "CC" (spindle/rotary axis)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "ASC" (spindle)
Assignment of geometry axes to channel axes
TRANSMIT not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 1 (1st geo. axis → 1st channel axis
XC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 2 (3rd geo. axis → 2nd channel
axis ZC)
TRANSMIT active:
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 1 (1st TrafoGeoAxis → 1st
channel axis XC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 3 (2nd TrafoGeoAcxis → 3rd
channel axis CC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 2 (3rd TrafoGeoAxis → 2nd
channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 2 (1st channel axis → 2nd machine axis
XM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 3 (2nd channel axis → 3rd machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 1 (3rd channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 4 (4th channel axis → 4th machine axis
ASM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (1st machine axis: spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (2nd machine axis: axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (3rd machine axis: axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (4th machine axis: spindle)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 256 (transformation TRANSMIT with a rotary or linear
axis)
Offset relative to the zero position of the rotary axis
● MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_1 = 0
Sign of rotary axis
● MD24910 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_1 = 0
Extended Functions
428
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.1 TRANSMIT face end transformation (option)
Basic offset of the tool zero relative to the geometry axes while TRANSMIT is active
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 0 ] = 0.0 (offset relative to 1st TrafoGeoAxis)
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 1 ] = 0.0 (offset relative to 2nd TrafoGeoAxis)
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 2 ] = 0.0 (offset relative to 3rd TrafoGeoAxis)
TRANSMIT input axes
● MD24110 $MC_TRAFO_AXES_IN_1[ 0 ] = 1 (1st channel axis XC, perpendicular to the
rotary axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 1 ] = 3 (3rd channel axis CC, rotary axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 2 ] = 2 (2nd channel axis ZC, parallel to the rotary
axis)
Modulo conversion for rotary axis
● MD30300 $MA_ROT_IS_MODULO[ 0 ] = 0 (1st machine axis: spindle/rotary axis)
● MD30300 $MA_ROT_IS_MODULO[ 1 ] = 0 (2nd machine axis: linear axis)
● MD30300 $MA_ROT_IS_MODULO[ 2 ] = 0 (3rd machine axis: linear axis)
● MD30300 $MA_ROT_IS_MODULO[ 3 ] = 1 (4th machine axis: spindle)
Programming example
Program code
Comment
N10 T1 D1 G54 G17 G90 F5000 G94
; tool selection
; 1st Settable work offset
; XY plane
; absolute dimensions
; linear feedrate F in mm/min
N20 G0 X20 Z10 SPOS=45
; approach the start position
; spindle positioning 45
N30 TRANSMIT
; TRANSMIT with first
; data record from MD24100 ON
N40 ROT RPL=-45
; frame: Rotation in XY plane by Z
N50 ATRANS X-2 Y10
; frame: Additive offset
N60 G1 X10 Y-10 G41 OFFN=1
; square roughing; 1 mm tolerance (OFFN)
N70 X-10
N80 Y10
N90 X10
N100 Y-10
N110 G0 Z20 G40 OFFN=0
; tool radius compensation OFF,
; 0 mm tolerance
N120 T2 D1 X15 Y-15
; tool change
N130 Z10 G41
; tool radius compensation left of contour
N140 G1 X10 Y-10
; square part finishing
N150 X-10
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
429
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Program code
Comment
N160 Y10
N170 X10
N180 Y-10
N190 Z20 G40
N200 TRANS
; deselect frame
N210 TRAFOOF
; TRANSMIT OFF
N220 G0 X20 Z10 SPOS=45
; approach the start position
N230 M30
8.2
TRACYL cylinder surface transformation (option)
8.2.1
Function
Note
The licensed "TRANSMIT and peripheral surface transformation" option is required for the
function "Cylinder surface transformation (TRACYL)."
The TRACYL transformation permits the machining of cylinder jacket curves (grooves) on
turning machines.
The path of the grooves is programmed with reference to the unwrapped, level surface of the
cylinder.
The controller transforms the programmed traversing movements of the cylinder coordinate
system to the traversing movements of the real machine axes.
;
<
=
Extended Functions
430
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
The machine kinematics must correspond to the cylinder coordinate system:
● One, two or three linear axes and one rotary axis
● The linear axes must be oriented perpendicular to each other
● The rotary axis must be oriented parallel to one of the linear axes
Note
For active transformation, the names of the involved machine, channel and geometry axes are
different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Transformation Types
The TRACYL transformation exists in three variants:
● without groove side offset (transformation type 512):
● with groove side offset (transformation type 513):
● programmable with or without groove side offset (transformation type 514)
TRACYL without groove wall offset
The cylinder surface transformation without groove side offset is used in machine kinematics
with one or two linear axes (axis configuration 1).
One linear axis
For a machine kinematic with only one linear axis (X), only grooves parallel to the periphery
of the cylinder can be generated (transverse grooves).
Two linear axes
For a machine kinematic with two linear axes (X and Z), grooves of any form can be generated
on the cylinder.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
431
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
<
RU &0
$60
= RU =0
;0
XM
Infeed axis perpendicular to the turning center
ZM
Linear axis parallel to the turning center
Y / CM
Transformatory Y axis / rotary axis
ASM
Main spindle
Figure 8-7
Machine kinematics with two linear axes
Groove edges
For a cylinder surface transformation without groove wall correction, the edges of the groove
longitudinal to the rotary axis (longitudinal grooves) are only parallel if the groove width
corresponds to the tool diameter. For groove widths greater than the tool diameter, the groove
edges are at an angle to each other (see ①).
The groove edges of grooves that extend parallel to the circumference (transverse grooves)
are not parallel to each other (see ②). Only the start and the end of the groove edges are not
parallel.
① Longitudinal groove
② Transverse groove
Figure 8-8
Groove edges with TRACYL without groove side offset
Extended Functions
432
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
TRACYL with groove wall offset
The cylinder surface transformation with groove wall offset is used for machine kinematics with
three linear axes (X, Y, and Z) (axis configuration 2).
<
RU &0
= RU =0
<0
$60
;0
XM
Infeed axis perpendicular to the turning center
YM
Supplementary axis perpendicular to the X-Z plane
ZM
Linear axis parallel to the turning center
Y / CM
Transformatory Y axis / rotary axis
ASM
Main spindle
Figure 8-9
Machine kinematics with three linear axes
For a machine kinematic with three linear axes (X, Y and Z), grooves of any form can be
generated on the cylinder.
Groove edges
Because the Y axis is oriented perpendicular to the turning center, almost parallel groove edges
can be generated even for groove widths larger than the tool diameter.
Figure 8-10
Parallel limited longitudinal groove with TRACYL with groove side offset
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
433
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
8.2.2
Parameter assignment
8.2.2.1
Overview
Machine data: Transformation data in general
The following machine data is used to define transformation data sets in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<n> (definition of the <n>th transformation in the channel)
● MD2xxxx $MC_TRAFO_AXES_IN_<n> (axis assignment for the <n>th transformation in
the channel)
● MD2xxxx $MC_TRAFO_GEOAX_ASSIGN_TAB_<n> (assignment of geometry axes to
channel axes for transformation <n>)
● MD2xxxx $MC_TRAFO_INCLUDES_TOOL_<n> (tool handling with active <n>th
transformation)
where <n> = 1, 2, 3, ... max. number of transformation data sets
For TRACYL (type 512, 513, or 514), no more than two transformation data sets may be
parameterized in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<x> = <TRACYL type>
● MD2xxxx $MC_TRAFO_TYPE_<y> = <TRACYL type>
Machine data: TRACYL transformation
A TRACYL transformation is parameterized in the following machine data:
● MD2xxxx $MC_TRACYL_ROT_AX_OFFSET_<n> (offset of the rotary axis)
● MD2xxxx $MC_TRACYL_ROT_AX_FRAME_<n> (rotary axis offset)
● MD2xxxx $MC_TRACYL_DEFAULT_MODE_<n> (selection of TRACYL mode)
● MD2xxxx $MC_TRACYL_ROT_SIGN_IS_PLUS_<n> (sign of the rotary axis)
● MD2xxxx $MC_TRACYL_BASE_TOOL_<n> (vector of the base tool)
where <n> = 1, 2 (TRACYL data set number)
Extended Functions
434
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
8.2.2.2
Axis configuration
The following shows an axis configuration that is typical of TRACYL.
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0'
&KDQQHO
0&B $;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VW JHRPHWU\ D[LV > @
;
0'
QG JHRPHWU\ D[LV > @
<
0&B75$)2B*(2$;B$66,*1B7$%
UG JHRPHWU\ D[LV > @
=
&KDQQHO
&KDQQHO
0'
0'
0&B $;&21)B&+$1$;B1$0(B7$%
0&B$;&21)B0$&+$;B86('
&KDQQHO
&KDQQHO
&KDQQHO
&KDQQHO
VW FKDQQHO D[LV > @
;&
QG FKDQQHO D[LV > @
<&
UG FKDQQHO D[LV > @
=&
WK FKDQQHO D[LV > @
&&
WK FKDQQHO D[LV > @
$6&
0'
0'
0$B63,1'B$66,*1B72B0$&+$;
0$B$;&21)B0$&+$;B1$0(B7$%
VW PDFKLQH D[LV >$; @
&0
QG PDFKLQH D[LV >$; @
;0
UG PDFKLQH D[LV >$; @
<0
WK PDFKLQH D[LV >$; @
=0
WK PDFKLQH D[LV >$; @
$60
① Effective if TRACYL is active.
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "XM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "YM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 4 ] = "ASM"
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
435
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "YC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "CC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 4 ] = "ASC"
Assignment of geometry axes to channel axes
TRACYL not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 1 (1st geometry axis → 1st channel
axis XC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 2 (2nd geometry axis → 2nd
channel axis YC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 3 (3rd geometry axis → 3rd channel
axis ZC)
TRACYL active:
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 1 (1st transformation geometry
axis → 1st channel axis XC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 4 (2nd transformation geometry
axis → 4th channel axis CC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 3 (3rd transformation geometry
axis → 3rd channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 2 (1st channel axis → 2nd machine axis
XM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 3 (2nd channel axis → 3rd machine axis
YM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 4 (3rd channel axis → 4th machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 1 (4th channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 4 ] = 5 (5th channel axis → 5th machine axis
ASM)
Extended Functions
436
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 2 (spindle)
8.2.2.3
Specific settings
Setting the transformation type
The transformation type is set specifically for the transformation data set in:
$MC_TRAFO_TYPE_<n> = <transformation type>
where <n> = 1, 2, ... max. number of transformations
Axis configuration
<transformation type>
1
512
2
513 or 514
The TRACYL transformation with programmed groove side offset (type 514) can be activated
with or without groove side offset (see "Programming (Page 441)").
Transformation type 514 without groove wall offset
If the machine has another linear axis which is perpendicular to both the rotary axis and the
first linear axis, transformation type 514 can be used to apply tool offsets with the real Y axis.
In this case, it is assumed that the working area of the second linear axis is small and will not
be used to execute the part program.
The existing settings for MD10000 $MC_TRAFO_GEOAX_ASSSIGN_TAB_<n> apply.
Grooves with groove side offset
The required inclusion of the tool offset has already been taken into account for the TRACYL
transformation with groove side offset.
Axis image
The following paragraph describes how the transformation axis image is specified.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
437
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Transformation geometry axes
For the transformation data set <n>, three (or 4) channel axis numbers must be specified for
TRACYL:
● MD24110 $MC_TRAFO_AXES_IN_1[0]=channel axis number of the axis radial to the rotary
axis.
● MD24110 $MC_TRAFO_AXES_IN_1[1]=channel axis number of the rotary axis.
● MD24110 $MC_TRAFO_AXES_IN_1[2]=channel axis number of the axis parallel to the
rotary axis.
● MD24110 $MC_TRAFO_AXES_IN_1[3]=channel axis number of the supplementary axis
parallel to the cylinder surface and perpendicular to the rotary axis (provided two axis
configurations are present).
The axis numbers must refer to the channel axis sequences defined by the following machine
data:
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_<n>
Grooves without groove wall offset
For transformation type 514 the following indices apply to MD24110
$MC_TRAFO_AXES_IN_<n>[ ].
Meaning of indices in relation to base coordinate system (BCS):
●
[0]: Cartesian axis radial to rotary axis (if configured)
●
[1]: Axis in generated cylinder surface perpendicular to rotary axis
●
[2]: Cartesian axis parallel to rotary axis
●
[3]: Linear axis parallel to index 2 in initial position of machine
Meaning of indices in relation to machine coordinate system (MCS):
●
[0]: Linear axis radial to rotary axis (if configured)
●
[1]: Rotary axis
●
[2]: Linear axis, parallel to rotary axis
●
[3]: Linear axis, perpendicular to the axes of indices [0] and [1]
Extended Functions
438
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Rotational position
The rotational position of the axis on the cylinder peripheral surface perpendicular to the rotary
axis must be defined as follows:
<
E
$QJOH D E LQ
D
GHJUHHV
D
5RWDWLRQDO SRVLWLRQ RI URWDU\ D[LV ZLWK &
E
3RVLWLRQ RI <
Figure 8-11
Center of axis rotation in the peripheral cylinder surface
MD24800 TRACYL_ROT_AX_OFFSET_<t>
The rotational position of the peripheral surface in relation to the defined zero position of the
rotary axis is specified with:
MD24800 $MC_TRACYL_ROT_AX_OFFSET_<t> = ...°
In this case, <t> is replaced by the number of TRACYL transformations declared in the
transformation data blocks (<t> must not be greater than 2).
Direction of rotation
The direction of rotation of the rotary axis is specified by machine data as described in the
following paragraph.
TRACYL_ROT_SIGN_IS_PLUS_<t>
If the direction of rotation of the rotary axis on the x-y plane is counterclockwise when viewed
against the z axis, then the machine data must be set to TRUE, otherwise to FALSE.
\
758(
[
MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_<t>=TRUE
In this case, "t" is substituted by the number of TRACYL transformations declared in the
transformation data blocks (t may not be greater than 2).
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
439
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Replaceable geometry axes
The PLC is informed when a geometry axis has been replaced using GEOAX( ) through the
optional output of an M code that can be set in machine data.
● MD22534 $MC_TRAFO_CHANGE_M_CODE
Number of the M code that is output at the VDI interface in the case of transformation
changeover.
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is output.
References:
Function Manual Basic Functions; Coordinate Systems, Axis Types, Axis Configurations,
Workpiece-related Actual-Value System, External Zero Offset (K2)
Position of tool zero
The position of the tool zero point in relation to the origin of the Cartesian coordinate system
is specified by machine data as described in the following paragraph.
MD24820 TRACYL_BASE_TOOL_<t>
This machine data is used to inform the control of the tool zero point position in relation to the
origin of the cylinder coordinate system declared for TRACYL. The machine data has three
components for the axes X, Y, Z of the machine coordinate system.
W\
W[
=
<
;
W]
<&
7RRO ]HUR
Figure 8-12
Position of tool zero in relation to machine zero
Example
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 0 ] = tx
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 1 ] = ty
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 2 ] = tz
Extended Functions
440
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Where <t> = number of TRACYL transformations defined in the transformation data records
=
G
˭
*URRYH
H[DPSOH
<
Figure 8-13
Cylinder coordinate system
8.2.3
Programming
The cylinder surface transformation (TRACYL) is activated in the part program or synchronized
action using the TRACYL statement.
Syntax
TRACYL(<d>)
TRACYL(<d>,<n>)
TRACYL(<d>,<n>,<k>)
Meaning
TRACYL(<d>):
Activate TRACYL with the first TRACYL data set and working diameter
<d>
TRACYL (<d>,<n>):
Activate TRACYL with the <n>th TRACYL data set and working diameter
<d>
<d>:
Reference or working diameter
The value must be greater than 1.
<n>:
TRACYL data set number (optional)
Range of values:
1, 2
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
441
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
<k>:
The parameter <k> is only relevant for transformation type 514
k = 0:
without groove side correction
k = 1:
with groove side correction
If the parameter is not specified, then the parameterized basic position
applies:
$MC_TRACYL_DEFAULT_MODE_<n>
With <n> = TRACYL data set number
Note
A TRACYL transformation active in the channel is switched-off with:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRAANG, TRANSMIT, TRAORI
Example
Program code
Comment
N40 TRACYL(40.)
; Activate TRACYL with the first TRACYL data set
and working diameter 40 mm.
Further information
Program structure
A part program for milling a groove with TRACYL transformation 513 (TRACYL with groove
side offset) generally comprises the following steps:
1. Select tool.
2. Select TRACYL.
3. Select suitable coordinate offset (frame).
4. Positioning.
5. Program OFFN.
6. Select TRC.
7. Approach block (position TRC and approach groove side).
8. Groove center line contour.
9. Deselect TRC.
10.Retraction block (retract TRC and move away from groove side).
11.Positioning.
12.TRAFOOF.
13.Reselect original coordinate shift (frame).
Extended Functions
442
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Contour offset (OFFN)
In order to mill grooves using TRACYL transformation 513, the center line of the groove and
half of the groove width via the OFFN address are programmed in the part program.
To avoid damage to the groove side, OFFN acts only when the tool radius compensation is
active.
It is possible to change OFFN within a part program. This allows the groove center line to be
offset from the center:
2))1
3URJUDPPHG SDWK
Note
OFFN should be at least as large as the tool radius to avoid damage occurring to the opposite
side of the groove wall.
Note
OFFN acts differently with TRACYL than it does without TRACYL. Since, even without
TRACYL, OFFN is included when TRC is active, OFFN should be reset to zero after TRAFOOF.
NOTICE
Effect of OFFN depends on the transformation type
For TRACYL transformation 513 (TRACYL with groove side offset), half the groove width is
programmed for OFFN.
For TRACYL transformation 512 (TRACYL with groove side offset), the value of OFFN acts
as an allowance for the TRC.
Tool radius compensation (TRC)
For TRACYL transformation 513, the TRC is not taken into account relative to the groove side,
but to the programmed center of the groove. In order that the tool travels to the left of the
groove side, statement G42 must be programmed instead of G41 or the value of OFFN
specified with a negative sign.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
443
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Tool diameter
With TRACYL and a tool whose diameter is less than the groove width, the same groove side
geometry is not generated as with a tool whose diameter is the same as the groove width. To
improve the precision, it is recommended that the tool diameter is selected to be only slightly
less than the groove width.
Axis utilization
Note
The following axes cannot be used as a positioning axis or a reciprocating axis:
● The geometry axis in the peripheral direction of the cylinder peripheral surface (Y axis).
● The additional linear axis for groove side compensation (Z axis).
8.2.4
Boundary conditions
Selection/deselection
● An intermediate motion block is not inserted (phases/radii).
● A series of spline blocks must be concluded.
● Tool radius compensation must be deselected.
● The frame which was active prior to TRACYL is deselected by the control system (analog
G500).
● An active working area limit is deselected for axes affected by the transformation (analog
WALIMOF).
● Continuous path control and rounding are interrupted.
● DRF offsets must have been deleted by the operator.
● The Y axis used for the compensation should be set to zero for selection and active groove
side compensation.
Tool change
Tools can be changed only when the tool radius compensation function is deselected.
Frame
A frame change with G91 (incremental dimension) is not specially treated for active
transformation. The path to be traversed is evaluated in the workpiece coordinate system of
the new frame - regardless of which frame was active in the previous block.
A rotary axis offset can, for example, be entered by compensating the inclined position of a
workpiece can be considered using a frame or as offset of the rotary axis.
The following setting is required for the axial complete frame of the rotary axis to act in the
transformation:
Extended Functions
444
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
$MC_TRACYL_ROT_AX_FRAME_<t> = 1
Note
Changes in the axis assignments are converted every time the transformation is selected or
deselected.
References:
Function Manual Basic Functions; "Co-ordinate Systems, Frames" (K2)
Function restriction for transformation axes
The axes involved on the cylinder surface transformation must not be used for the following
functions:
● Positioning axis
● Oscillating axis
● Preset axis
● Fixed point approach G75
● Reference point approach G74
Manual traversal in JOG
When generated cylinder surface transformation with groove side compensation
($MC_TRAFO_TYPE = 513) is active in JOG mode, it must be noted that the axes are traversed
depending on the preceding status in AUTOMATIC. For active groove side compensation, the
axes so move differently than for deselected compensation. The part program can therefore
be continued (REPOS) after a part program interruption.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
445
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Interrupt part program
● Mode change from AUTOMATIC to JOG
If a part program machining is interrupted for active transformation and traversed manually
in the JOG operating mode, ensure for continuation of the part program in the AUTOMATIC
operating mode that the transformation is already active in the restart block from the current
position to the interruption location.
WARNING
Risk of collision
No monitoring for collisions takes place.
The operator is responsible for ensuring that the tool can be re-positioned without any
difficulties.
● START after RESET
If a part program machining is interrupted with RESET and restarted with START, ensure
that at part program begin all axes travel with a linear block (G0 or G1) to a defined position,
and the remaining part program is traversed reproducably. A tool which was active on
RESET may no longer be taken into account by the control (settable via machine data).
Extended Functions
446
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
8.2.5
Examples
8.2.5.1
Machining grooves on a cylinder surface with X-Y-Z-C kinematics
The example refers to the turning machine with an additional Y axis drawn in the following
figure.
<0
&0
;0
=0
$60
XM
Infeed axis, perpendicular to rotary axis
YM
Additional axis
ZM
Axis is parallel to rotary axis
CM
Rotary axis
ASM Main spindle
Parameter assignment
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "XM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "YM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 4 ] = "ASM"
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
447
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "YC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "CC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 4 ] = "ASC"
Assignment of geometry axes to channel axes
TRACYL not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 1 (1st geometry axis → 1st channel
axis XC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 2 (2nd geometry axis → 2nd
channel axis YC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 3 (3rd geometry axis → 3rd channel
axis ZC)
TRACYL active:
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 1 (1st transformation geometry
axis → 1st channel axis XC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 4 (2nd transformation geometry
axis → 4th channel axis CC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 3 (3rd transformation geometry
axis → 3rd channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 2 (1st channel axis → 2nd machine axis
XM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 3 (2nd channel axis → 3rd machine axis
YM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 4 (3rd channel axis → 4th machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 1 (4th channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 4 ] = 5 (5th channel axis → 5th machine axis
ASM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 2 (spindle)
Extended Functions
448
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 513 (TRACYL with groove side offset)
Offset relative to the zero position of the rotary axis
● MD24800 $MC_TRACYL_ROT_AX_OFFSET_1 = 0
Sign of rotary axis
● MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_1 = FALSE
Basic offset of the tool zero relative to the geometry axes while TRACYL is active
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 0 ] = 0.0 (offset relative to 1st transformation
geometry axis)
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 1 ] = 0.0 (offset relative to 2nd transformation
geometry axis)
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 2 ] = 0.0 (offset relative to 3rd transformation
geometry axis)
TRACYL input axes
● MD24110 $MC_TRAFO_AXES_IN_1[ 0 ] = 1 (1st channel axis XC, perpendicular to the
rotary axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 1 ] = 4 (4th channel axis CC, rotary axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 2 ] = 3 (3rd channel axis ZC, parallel to the rotary
axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 3 ] = 2 (2nd channel axis YC, special axis)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
449
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Programming
Producing a hook-shaped groove with groove side offset (TRACYL transformation type 513)
,QLWLDO VHWWLQJ
=
;
<
+DOI
2))1
=
JURRYH
ZLGWK
1
1
3RVLWLRQLQJ
RYHU WKH JURRYH
3URJUDPPHG SDWK
FHQWHU
˭
*URRYH ZLWK
JURRYH VLGH RIIVHW
+DQGOLQJ RI WKH F\OLQGHU VXUIDFH
<
Tool definition
Program code
Comment
; Tool parameters
$TC_DP1[1,1]=120
; Tool type: Milling tool
$TC_DP2[1,1] = 0
; Cutting edge position: For turning tools only
Program code
Comment
; Geometry: Length compensation
$TC_DP3[1,1]=8.
; Length compensation vector: Calculation acc. to
type
$TC_DP4[1,1]=9.
; Length compensation vector: Calculation accord-
ing to plane
$TC_DP5[1,1]=7.
Program code
Comment
; Geometry: Radius
$TC_DP6[1,1]=6.
; Radius
$TC_DP7[1,1]=0
; Groove width b for slotting saw, rounding radi-
us for milling tools
$TC_DP8[1,1]=0
; Projection k: For slotting saw only
$TC_DP9[1,1]=0
Extended Functions
450
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Program code
Comment
$TC_DP10[1,1]=0
$TC_DP11[1,1]=0
; Angle for tapered milling tools
Program code
Comment
; Wear: Length and radius compensation
$TC_DP12[1,1] =0
; Remaining parameters to $TC_DP24=0 (basis di-
mension/adapter)
Groove machining on the cylinder surface
Program code
Comment
N10 T1 D1 G54 G90 F5000 G94
; Tool selection, clamping compensation
N20 SPOS=0
; Switchover of the spindle to rotary axis opera-
tion, positioning at 0 degrees
N30 G0 X25 Z110
; Approach the start position
N40 TRACYL(40.)
; Activating TRACYL with the first TRACYL data set
and working diameter 40 mm
N50 G19
; Machining plane Y/Z (cylinder surface)
N60 Y70
; Positioning over the groove center
N70 G1 X15
; Infeed tool to groove base
N80 OFFN=10
; Define 10 mm groove side spacing relative to
groove center line
N90 Z100 G42
; TRC selection and approach to right groove wall
; G42: TRC right of the progr. contour (≙ groove
center)
N100 Z50
; Path I: Producing the groove section parallel
with the cylinder axis
N110 Y10
; Path I: Producing the groove section parallel
with the circumference
N120 Y70
; Path II: Producing the groove section parallel
with the circumference
N130 Z100
; Path II: Producing the groove section parallel
with the cylinder axis
N140 Z110 G40
; Travel away from the groove wall and TRC dese-
lection
N150 G0 X25 Y0
; Return to the initial position
N170 TRAFOOF
; Deactivate transformation
N180 M30
; End of program
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
451
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
8.2.5.2
Machining grooves on a cylinder surface with X-Y-Z-A-C kinematics
The example refers to the 5-axis milling machine with an A- and a C-axis in the following figure.
630
=0
<0
;0
&0
$0
XM
1. axis of the machining plane
YM
2. axis of the machining plane
ZM
Infeed axis
AM
Rotary axis
CM
Rotary axis
SPM Main spindle
Parameter assignment
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "XM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "YM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "SPM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 4 ] = "AM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 5 ] = "CM"
Extended Functions
452
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "YC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "SPC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 4 ] = "AC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 5 ] = "CC"
Assignment of geometry axes to channel axes
TRACYL not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 1 (1st geometry axis → 1st channel
axis XC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 2 (2nd geometry axis → 2nd
channel axis YC)
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 3 (3rd geometry axis → 3rd channel
axis ZC)
TRACYL active:
● MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[ 0 ] = 6 (1st transformation geometry
axis → 6th channel axis CC)
● MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[ 1 ] = 2 (2nd transformation geometry
axis → 2nd channel axis YC)
● MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[ 2 ] = 3 (3rd transformation geometry
axis → 3rd channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 1 (1st channel axis → 1st machine axis
XM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 2 (2nd channel axis → 2nd machine axis
YM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 3 (3rd channel axis → 3rd machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 4 (4th channel axis → 4th machine axis
SPM)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
453
M1: Kinematic transformation
8.2 TRACYL cylinder surface transformation (option)
● MD20070 $MC_AXCONF_MACHAX_USED[ 4 ] = 5 (5th channel axis → 5th machine axis
AM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 5 ] = 6 (6th channel axis → 6th machine axis
CM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 0 (axis)
Transformation type
● MD24200 $MC_TRAFO_TYPE_2 = 513 (TRACYL with groove side offset)
Offset relative to the zero position of the rotary axis
● MD24850 $MC_TRACYL_ROT_AX_OFFSET_2 = 0
Sign of rotary axis
● MD24860 $MC_TRACYL_ROT_SIGN_IS_PLUS_2 = FALSE
Basic offset of the tool zero relative to the geometry axes while TRACYL is active
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 0 ] = 0.0 (offset relative to 1st transformation
geometry axis)
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 1 ] = 0.0 (offset relative to 2nd transformation
geometry axis)
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 2 ] = 0.0 (offset relative to 3rd transformation
geometry axis)
TRACYL input axes
● MD24210 $MC_TRAFO_AXES_IN_2[ 0 ] = 3 (3rd channel axis ZC, perpendicular to the
rotary axis)
● MD24210 $MC_TRAFO_AXES_IN_2[ 1 ] = 6 (6th channel axis CC, rotary axis)
● MD24210 $MC_TRAFO_AXES_IN_2[ 2 ] = 2 (2nd channel axis YC, parallel with the rotary
axis)
● MD24210 $MC_TRAFO_AXES_IN_2[ 3 ] = 1 (1st channel axis XC, special axis)
Programming
Program code
Comment
N10 WORKPIECE(,"",,"CYLINDER",0,0,-180,-80,179)
; Blank definition
N20 M3 S2000
; Setting spindle speed
Extended Functions
454
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
Program code
Comment
N30 T="NUTFRAESER" M6 D1
; Tool selection
N40 G0 G54 X0 Y-20 Z105
; Positioning
N50 CYCLE800(0,"TABLE",100000,57,0,0,0,-90,0,0,0,0,0,-1,100,1)
; Rotate A-axis with swivel cycle
N60 G17 G90
; Setting the machining plane
N70 G0 Y-10 Z100 G40
; Positioning
N80 TRACYL(179, 2)
; Selecting the Tracyl data set
2 with groove wall offset
N90 OFFN=20
; Setting the offset (half
groove width)
N100 G1 F500 X0 Z75 G42
; Setting the starting point and
selecting the TRC
N110 Y30
; Groove center path
N120 X-60
; Groove center path
N130 X0
; Groove center path
N140 Y-10
; Groove center path
N150 Z105 G40
; Retraction and deselection of
the TRC
N160 TRAFOOF
; Deselection of the transforma-
tion
N170 G0 X0 Y-20 Z115
; Positioning retract movement
N180 M5
; Spindle stop
N190 CYCLE800(0,"TABLE",100000,57,0,0,0,0,0,0,0,0,0,-1,100,1)
; Turn back A axis
N200 M30
; End of program
8.3
Oblique angle transformation (inclined axis) TRAANG (option)
8.3.1
Function
Note
Option
For function "Oblique angle transformation (TRAANG) with programmable angle", option
"6FC5800-0AM28-0YB0" is necessary which requires a license.
For function "Oblique angle transformation (TRAANG) with fixed angle", option
"6FC5800-0AS54-0YB0" is necessary which requires a license.
The oblique angle transformation permits programming in the Cartesian workpiece coordinate
system (WCS) on machines with obliquely arranged machine axes, which is a typical axis
arrangement on grinding machines.
The controller transforms the programmed traversing movements of the Cartesian coordinate
system to the traversing movements of the real machine axes.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
455
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
80
˞
*ULQGLQJ ZKHHO
;
&0
$60
=
=0
:RUNSLHFH
X
Geometry axis
Z
Geometry axis
ZM
Machine axis
UM
Machine axis
α
Angle of inclined axis
CM
Machine axis (spindle)
ASM Machine axis (tailstock)
Figure 8-14
Grinding with inclined infeed axis
Versions
● Oblique angle transformation (TRAANG) with programmable angle
For oblique angle transformation (TRAANG) with programmable angle, when activating the
transformation, the angle can be specified.
See Section "Activating an oblique angle transformation with programmable angle
(TRAANG) (Page 461)"
● Oblique angle transformation (TRAANG) with fixed angle
For oblique angle transformation (TRAANG) with fixed angle, when activating the
transformation, an angle cannot be specified.
See Section "Activate oblique angle transformation with fixed angle (TRAANG) (Page 462)"
Note
For active transformation, the names of the involved machine, channel and geometry axes are
different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Extended Functions
456
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
8.3.2
Parameter assignment
8.3.2.1
Overview
Machine data: Transformation data in general
The following machine data is used to define transformation data sets in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<n> (definition of the <n>th transformation in the channel)
● MD2xxxx $MC_TRAFO_AXES_IN_<n> (axis assignment for the <n>th transformation in
the channel)
● MD2xxxx $MC_TRAFO_GEOAX_ASSIGN_TAB_<n> (assignment of geometry axes to
channel axes for transformation <n>)
● MD2xxxx $MC_TRAFO_INCLUDES_TOOL_<n> (tool handling with active <n>th
transformation)
where <n> = 1, 2, 3, ... max. number of transformation data sets
For TRAANG (type 1024), no more than two transformation data sets may be parameterized
in a channel:
● MD2xxxx $MC_TRAFO_TYPE_<x> = <TRAANG type>
● MD2xxxx $MC_TRAFO_TYPE_<y> = <TRAANG type>
Machine data: Transformation TRAANG
A TRAANG transformation is parameterized using the following machine data:
● MD2xxxx $MC_TRAANG_ANGLE_<n> (angle between longitudinal axis and inclined axis)
● MD2xxxx $MC_TRAANG_BASE_TOOL_<n> (basic offset of the tool zero)
● MD2xxxx $MC_TRAANG_PARALLEL_VELO_RES_<n> (velocity margin for the
compensation movements
of the longitudinal axis)
● MD2xxxx $MC_TRAANG_PARALLEL_ACCEL_RES_<n> (acceleration margin for the
compensation movements
of the longitudinal axis)
where <n> = 1, 2 (TRAANG data set number)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
457
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
8.3.2.2
Axis configuration
The following shows an axis configuration that is typical of TRAANG.
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0'
&KDQQHO
0&B $;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VW JHRPHWU\ D[LV > @
;
0'
QG JHRPHWU\ D[LV > @
<
0&B75$)2B*(2$;B$66,*1B7$%
UG JHRPHWU\ D[LV > @
=
&KDQQHO
&KDQQHO
0'
0'
0&B $;&21)B&+$1$;B1$0(B7$%
0&B$;&21)B0$&+$;B86('
&KDQQHO
&KDQQHO
&KDQQHO
&KDQQHO
VW FKDQQHO D[LV > @
=&
QG FKDQQHO D[LV > @
&&
UG FKDQQHO D[LV > @
$6&
WK FKDQQHO D[LV > @
8&
0'
0'
0$B63,1'B$66,*1B72B0$&+$;
0$B$;&21)B0$&+$;B1$0(B7$%
VW PDFKLQH D[LV >$; @
&0
QG PDFKLQH D[LV >$; @
80
UG PDFKLQH D[LV >$; @
=0
WK PDFKLQH D[LV >$; @
$60
① Effective if TRAANG is active.
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "UM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ASM"
Extended Functions
458
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "CC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ASC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "UC"
Assignment of geometry axes to channel axes
TRAANG not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 1 (3rd geometry axis → 1st channel
axis ZC)
TRAANG active:
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 4 (1st transformation geometry
axis → 4th channel axis UC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 0 ( - )
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 1 (3rd transformation geometry
axis → 1st channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 3 (1st channel axis → 3rd machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 1 (2nd channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 4 (3rd channel axis → 4th machine axis
ASM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 2 (4th channel axis → 2nd machine axis
UM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
459
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
8.3.2.3
Specific settings
Angle between longitudinal axis and inclined axis
● MD24700 $MC_TRAANG_ANGLE_<n> = <angle>
with -90° < angle < 90° , without 0°
The angle is counted positively in the clockwise direction starting at X (see Section "Function
(Page 455)": Angle α).
Base offset of the tool zero
The base offset of the tool zero is specified for the valid geometry axes for the active
transformation. The base offset is included with and without selection of the tool length
compensation. Programmed tool length compensations are added to the base tool.
● $MC_TRAANG_BASE_TOOL_<n>[ k ] = <base offset>
with k = 0, 1, 2 (1st - 3rd geometry axis)
Note
The tool zero is not converted when the angle is changed.
Optimization of velocity control
The machine data used to optimize the velocity control in jog mode and in positioning and
oscillation modes:
Speed margin
The machine data sets the speed margin for the compensation movements of the longitudinal
axis:
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_<n> = <value>
<value>
Meaning
0.0
The speed margin is determined by the NC depending on the angle of the inclined
axis and the speed capability of the inclined and the longitudinal axis so that the same
speed limitation results in the direction of the longitudinal axis and of the associated
perpendicular (virtual) axis.
> 0.0
Speed margin = <value> * (MD32000 $MA_MAX_AX_VELO of the longitudinal axis)
Acceleration margin
The machine data sets the acceleration margin for the compensation movements of the
longitudinal axis:
Extended Functions
460
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
$MC_TRAANG_PARALLEL_ACCEL_RES_<n> = <value>
<value>
Meaning
0.0
The acceleration margin is determined by the NC depending on the angle of the
inclined axis and the acceleration capability of the inclined and the longitudinal axis
so that the same acceleration limitation results in the direction of the longitudinal axis
and of the associated perpendicular (virtual) axis.
> 0.0
Acceleration margin = <value> * (MD32300 $MA_MAX_AX_ACCEL of the longitudi-
nal axis)
M code for transformation change
The specified M code is output for switching the transformation:
● MD22534 $MC_TRAFO_CHANGE_M_CODE = <value>
WARNING
No M code is output.
The values 0 to 6, 17 and 30 are not output to the PLC.
8.3.3
Programming
8.3.3.1
Activating an oblique angle transformation with programmable angle (TRAANG)
The oblique angle transformation with programmable angle is activated in the part program or
synchronized action using the TRAANG statement.
Syntax
TRAANG
TRAANG()
TRAANG(, <n>)
TRAANG(<α>)
TRAANG(<α>,<n>)
Meaning
TRAANG:
Activate TRAANG with the first TRAANG data set and last valid angle
<α>
TRAANG():
TRAANG(, <n>):
Activate TRAANG with the <n>th TRAANG data set and last valid angle
<α>
TRAANG(<α>):
Activate TRAANG with the first TRAANG data set and angle <α>
TRAANG(<α>,<n>):
Activate TRAANG with the <n>th TRAANG data set and angle <α>
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
461
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
<α>:
Angle of the inclined axis (optional)
Range of values:
-90° < α < + 90°
The initial state parameterized in the machine data is effective if an
angle is not specified:
MD2xxxx $MC_TRAANG_ANGLE_<n>
<n>:
TRAANG data set number (optional)
Range of values:
1, 2
Note
Oblique angle transformation TRAANG active in the channel is deactivated using:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRANSMIT, TRAORI
Example
Program code
Comment
N20 TRAANG(45)
; Activate TRAANG with the first TRAANG data set and angle 45°
8.3.3.2
Activate oblique angle transformation with fixed angle (TRAANG)
The oblique angle transformation (TRAANG) with a fixed angle (TRAANG) is activated in the
part program or synchronized action using the TRAANG statement. When activated, it is not
permissible that an angle is specified. The angle parameterized in the machine data of the
particular TRAANG data set is active.
Syntax
TRAANG
TRAANG()
TRAANG(, <n>)
Meaning
TRAANG:
Activate TRAANG with the first TRAANG data set and angle <α> from
machine data MD24700 $MC_TRAANG_ANGLE_1
TRAANG():
TRAANG(, <n>):
Activate TRAANG with <n>th TRAANG data set and angle <α> from
machine data MD2xxxx $MC_TRAANG_ANGLE_<n>
<n>:
TRAANG data set number (optional)
Range of values:
1, 2
Extended Functions
462
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
Note
Oblique angle transformation TRAANG active in the channel is deactivated using:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRANSMIT, TRAORI
Example
Program code
Comment
N20 TRAANG(,2)
; Activate TRAANG with second TRAANG data set
; and angle from MD24750 $MC_TRAANG_ANGLE_2.
8.3.3.3
Oblique plunge-cutting on grinding machines (G5, G7)
The G commands G7 and G5 are used to simplify programming of oblique plunge-cutting on
grinding machines with "inclined axis (TRAANG)", so that when plunge cutting, only the inclined
axis is traversed.
Only the required end position of the plunge-cutting motion has to be programmed in X and
Z. For G7, starting from the actual position of the X axis, the NC calculates and approaches
the programmed end position and angle α of the inclined axis.
The starting position is calculated from the point where the two straight lines intersect:
● Straight line parallel to the Z axis, at a distance from the actual position of the X axis
● Straight line parallel to the inclined axis through the programmed end position
With the subsequent G5, the inclined axis is traversed to the programmed end position.
Syntax
G7 <Endpos_X> <Endpos_Z>
G5 <Endpos_X>
Meaning
G7:
Calculate the starting position for the oblique plunge-cutting and approach.
G5:
Traverse the inclined axis to the programmed end position
<Endpos_X>:
X axis end position
<Endpos_Z>:
End position of the Z axis
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
463
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
Example
˞
80
*ULQGLQJ ZKHHO
;
1
&0
1
$60
=
=0
:RUNSLHFH
① Parallel to the Z axis, at a distance from the actual position of the X axis
② Parallel to the inclined axis through the programmed end position
③ Starting position
④ Plunge-cutting: Starting position
⑤ Plunge-cutting: End position
X
Geometry axis
Z
Geometry axis
ZM Machine axis
UM Machine axis
Program code
Comment
N... G18
; Select XZ plane.
N40 TRAANG (45.0)
; Activate TRAANG transformation, angle = 45°
N50 G7 X40 Z70 F4000
; Calculate the starting position and approach
N60 G5 X40 F100
; Traverse inclined axis to the end position.
N70 ...
8.3.4
Boundary conditions
The transformation can be selected and deselected via part program or MDA.
Selection and deselection
● An intermediate motion block is not inserted (phases/radii).
● A spline block sequence must be terminated.
● Tool radius compensation must be deselected.
● The current frame is deselected by the control system. Corresponds to programmed G500.
Extended Functions
464
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
● An active working area limitation is deselected by the control for the axes affected by the
transformation (corresponds to programmed WALIMOF).
● An activated tool length compensation is included in the transformation by the control.
● Continuous path control and rounding are interrupted.
● DRF offsets must have been deleted by the operator.
● All axes specified in machine data MD24110 $MC_TRAFO_AXES_IN_n must be
synchronized on a block-related basis (e.g. no traversing instruction with POSA...).
Tool change
Tools may only be changed when the tool radius compensation function is deselected.
Frames
All instructions which refer to the workpiece coordinate system are permissible (FRAME, tool
radius compensation). Unlike the procedure for inactive transformation, however, a frame
change with G91 (incremental dimension) is not specially treated. The increment to be
traversed is evaluated in the workpiece coordinate system of the new frame - regardless of
which frame was effective in the previous block.
Extensions
When the oblique angle transformation (TRAANG) is selected and deselected, the assignment
between geometry axes and channel axes can change. The user can apply these geometric
contour sections to the axial frame as a translation, rotation, scaling and mirroring in relation
to the x and z planes with respect to the inclined infeed axis.
References
Further detailed information on the frame corrections for transformations can be found in:
Function Manual, Basic Functions; Axes, Coordinate Systems, Frames (K2)
Unusable functions
The following functions cannot be used in channel axes involved in the transformation:
● Set actual value (PRESETON)
● Travel to fixed stop (FXS)
● Reference point approach (G74 or manual reference point approach)
Velocity control
The velocity monitoring function for oblique angle transformation (TRAANG) is implemented by
default during preprocessing. The velocity monitoring function and limitation in the main run
takes place in the following operating states:
● AUTOMATIC mode: Programming of a positioning or oscillating axis that is involved in the
transformation
● JOG mode: After a change of operating mode to JOG mode
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
465
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
After resynchronization of the preprocessing to the main run, e.g. after a change of operating
mode from JOG to AUTOMATIC mode, velocity monitoring and limitation takes place in the
preprocessing again.
Note
Program operation: Behavior with axis-specific feedrate stop
● Velocity monitoring in main run
Program execution is stopped with active velocity monitoring in the main run for one of the
axes involved in the transformation of the axis-specific feedrate stop at (DBX31, ... DBX4.3
== 1).
● Velocity monitoring in the preprocessing
The NC program execution continues with active velocity monitoring in the preprocessing
for one of the axes involved in the transformation of the axis-specific feedrate stop at
(DBX31, ... DBX4.3 == 1). The precondition for this is that no traversing motions are
programmed for the relevant axis.
8.3.5
Example
The example refers to the axis configuration shown in the following figure.
80
˞
*ULQGLQJ ZKHHO
;
&0
$60
=
=0
:RUNSLHFH
X
Geometry axis
Z
Geometry axis
ZM
Machine axis
UM
Machine axis
α
Angle of inclined axis
Parameter assignment
Machine axis name
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "UM"
Extended Functions
466
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM"
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ASM"
Geometry axis names
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis)
Channel axis names
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "ZC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "CC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ASC"
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "UC"
Assignment of geometry axes to channel axes
TRAANG not active:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 0 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 1 ] = 0 ( - )
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[ 2 ] = 1 (3rd geometry axis → 1st channel
axis ZC)
TRAANG active:
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 0 ] = 4 (1st transformation geometry
axis → 4th channel axis UC)
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 1 ] = 0 ( - )
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[ 2 ] = 1 (3rd transformation geometry
axis → 1st channel axis ZC)
Assignment of channel axes to machine axes
● MD20070 $MC_AXCONF_MACHAX_USED[ 0 ] = 3 (1st channel axis → 3rd machine axis
ZM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 1 ] = 1 (2nd channel axis → 1st machine axis
CM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 2 ] = 4 (3rd channel axis → 4th machine axis
ASM)
● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 2 (4th channel axis → 2nd machine axis
UM)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
467
M1: Kinematic transformation
8.3 Oblique angle transformation (inclined axis) TRAANG (option)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 1024 (TRAANG)
Angle between Cartesian axis and real (oblique) axis
● MD24700 $MC_TRAANG_ANGLE_1 = 45.
Basic offset of the tool zero relative to the geometry axes while TRAANG is active
● MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0 (offset relative to 1st transformation
geometry axis)
● MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0 (offset relative to 2nd transformation
geometry axis)
● MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0 (offset relative to 3rd transformation
geometry axis)
TRAANG input axes
● MD24110 $MC_TRAFO_AXES_IN_1[ 0 ] = 4 (4th channel axis UC, inclined axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 1 ] = 1 (1st channel axis ZC, parallel with the Z axis)
● MD24110 $MC_TRAFO_AXES_IN_1[ 2 ] = 0 ( - )
Programming example
Program code
Comment
N10 G0 G90 Z0 UM=10 G54 F5000 G18 G64 T1 D1
; XZ planes, tool selection, clamping compensation
N20 TRAANG(45)
; Activate TRAANG with the first TRAANG data set
and angle 45°
N30 G0 Z10 X5
; Approach the start position
N40 WAITP(Z)
; Wait for end of travel of the Z axis
N50 OSP1[Z]=10 OSP2[Z]=5 OST1[Z]=-2 OST2[Z]=-2
; Oscillating motion
FA[Z]=5000
; OSP1/OSP2: Left/right reversal point
; OST1/OST2: Stopping point at the left/right re-
versal point
N60 OS[Z]=1
; Activate oscillation
N70 POS[X]=4.5 FA[X]=50
; Position X axis in parallel
N80 OS[Z]=0
; Deactivate oscillation
N90 WAITP(Z)
; Wait for end of travel of the Z axis
N100 TRAFOOF
; Deactivate transformation
N110 G0 Z10 UM=10
; Retract
N120 M30
Extended Functions
468
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
8.4
Chained transformations
8.4.1
Function
8.4.1.1
Introduction
For a concatenated transformation, two transformations can be connected one after the other
(chained). As a consequence, motion components of the axes can be taken from the first
transformation and used as input data for the second transformation. The motion components
of the axes from the second transformation then act on the machine axes.
● The following are possible as first transformation:
- TRAORI orientation transformations, including universal milling head
Reference:
Function Manual, Special Function; Multi-Axis Transformations (F2)
- Face end transformation TRANSMIT
- Cylinder surface transformation TRACYL
● Only the following is possible as second transformation:
- Inclined axis TRAANG
Note
Exception, when commissioning
A concatenated transformation normally comprises two transformations chained one after the
other. For test purposes, e.g. during commissioning, it is also permissible to enter just one
transformation in the chaining list.
Note
Different axis identifiers
For active transformation, the names of the machine, channel and geometry axes involved
must be different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Application examples
● Grinding contours that are programmed as a side line of a cylinder (TRACYL) using an
inclined grinding wheel, e.g. tool grinding.
● Finish cutting of a contour that is not round and was generated with TRANSMIT using an
inclined grinding wheel.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
469
M1: Kinematic transformation
8.4 Chained transformations
Axis configuration
The following configuration measures are necessary for a chained transformation:
● Assignment of names to geometry axes
● Assignment of names to channel axes
● Assignment of geometry axes to channel axes
- General situation (no transformation active)
● Assignment of channel axes to machine axis numbers
● Identification of spindle, rotation, modulo for axes
● Allocation of machine axis names
● Transformation-specific settings (for individual transformations and for chained
transformations)
- Transformation type
- Axes going into the transformation
- Assignment of geometry axes to channel axes during active transformation
- Depending on transformation, rotational position of the coordinate system, direction of
rotation, tool zero point in relation to the original coordinate system, angle of the inclined
axis, etc.
Note
Supplementary conditions and special cases
The supplementary conditions and special cases specified in the individual transformation
descriptions must also be observed when used within a chained transformation.
Supplementary conditions
Transformation data blocks for each channel
Several transformation data blocks can be defined for each channel. The names of the
corresponding machine data of the transformations begin with $MC_TRAFO... and end
with..._n, where n = 1, 2, 3, ...
Number of chained transformations
Within the transformations of a channel, a maximum of two chained transformations may be
defined.
Chaining direction
The first transformation of the chained transformations has the basic coordinate system (BCS)
as input.
The second transformation of the chained transformations has the machine coordinate system
(MCS) as output.
Extended Functions
470
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
Tool data
A tool is always assigned the first transformation of chained transformations. The subsequent
transformation then behaves as if the active tool length were zero.
Only the basic tool lengths set in the machine data (_BASE_TOOL_) are valid for the first
transformation in the chain.
8.4.1.2
System variables
The following transformation-specific system variables are available:
System variable
Meaning
$AA_ITR
Current setpoint value at output of the nth transformation
$AA_IBC
Current setpoint value of a cartesian axis
$VA_ITR
Current actual value at output of the nth transformation
$VA_IBC
Current cartesian BCS encoder position of an axis
$VA_IW
Current WCS actual value of an axis
$VA_IB
Current BCS encoder position of an axis
Boundary conditions
● Warm restart
The encoder position has the value 0 for non-referenced axes. For the $VA variables, the
encoder actual values are appropriately inverse-transformed.
● Channel reset
The active transformation can change after a channel reset. This can have a direct influence
on the system variable values.
An active transformation, which is active again after a channel reset, is briefly deactivated
and then reactivated. This influences the position variables. The values of variables can
change.
Via the variable:
$AC_STAT == 0
this status can be queried in synchronous actions.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
471
M1: Kinematic transformation
8.4 Chained transformations
$AA_ITR: Actual setpoint value at output of the nth transformation
System variable $AA_ITR[ <axis>, <transformation layer> ] determines the setpoint position
of an axis at the output of the n th cascaded transformation.
\
\
\
\
\
[
[
[
[
[
%&6
7UDQVI
7UDQVI
0&6
7UDQVI
7UDQVI
Figure 8-15
Transformer layer
Axis
As 1st index of the system variable, either a geometry, a channel or a machine axis name is
permissible. When programming geometry axis names, in each transformer layer, the
assignment of the channel axes to the geometry axes corresponding to transform layer 0 is
effective. This means that the geometry axis assignment on the BCS side is active in all planes.
Using geometry axis names is meaningful only if the geometry axes are not switched over.
Otherwise, it is always better to use channel axis names.
Transformer layer
The 2nd index of the system variable corresponds to the transformation layer from which the
positions are taken:
● Transformer layer 0: The positions correspond to BCS positions, $AA_ITR[x,0] == $AA_IB[x]
● Transformer layer 1: Setpoint positions at the output of the 1st transformation
● Transformer layer 2: Setpoint positions at the output of the 2nd transformation
● Transformer layer 3: Setpoint positions at the output of the 3rd transformation
● Transformer layer 4: Setpoint positions at the output of the 4th transformation, $AA_ITR[x,
4] == $AA_IM[x]
If one or more transformations of the transformation chain are missing, the highest layers
continue to deliver the same values. If, for example, transformation 3 and transformation 4 are
missing, then the following applies:
$AA_ITR[x,2] = $AA_ITR[x,3] = $AA_ITR[x,4] = $AA_IM[x]
If the transformations are deactivated using TRAFOOF - or for a channel reset - then layers 0
to 4 merge. The system variable then supplies the BCS value (layer 0).
Extended Functions
472
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
$AA_IBC: Actual setpoint of a cartesian axis
System variable $AA_IBC[ <axis>] determines the setpoint position of a cartesian axis lying
between BCS and MCS. If an axis is cartesian at the output of the nth transformation, then
this output value is delivered. If the corresponding axis at the output of all transformations is
not cartesian, then the BCS value including all BCS offsets of the axis are determined.
If TRACON responds to an axis as cartesian, then its MCS value is delivered. The used axis
name can be a geometry, channel or a machine axis name.
$VA_ITR: Actual value at the output of the nth transformation
System variable $VA_ITR[ <axis>, <transformation layer> ] determines the setpoint position
of an axis at the output of the n th chained transformation.
$VA_IBC: Actual cartesian BCS encoder position of an axis
System variable $VA_IBC[ <axis> ] determines the encoder position of a cartesian axis lying
between BCS and MCS. The used axis name can be a geometry, channel or a machine axis
name.
If an axis at the output of the nth transformation is cartesian, then this output value is delivered.
If the corresponding axis at the output of all transformations is not cartesian, then the BCS
value of the axis is determined.
$VA_IW: Current WCS actual value of an axis
System variable $VA_IW[ <axis> ] determines the encoder position of an inverse-transformed
axis in WCS. The WCS value contains all axis-related superimposition portions (DRF,
AA_OFF, ext. zero offset etc.) and offset values (CEC, etc.).
$VA_IB: Actual BCS encoder position of an axis
System variable $VA_IB[ <axis> ] determines the inverse-transformed encoder position of an
axis in BCS. The BCS value contains all axis-related superimposition portions (DRF, AA_OFF,
ext. zero offset etc.) and offset values (CEC, etc.).
Note
$VA_ITR$, VA_IBC, $VA_IW, $VA_IB
The value of the variable does not change while reading the variable within an IPO cycle,
although the actual value could have changed.
In active transformations, one must consider that the transformation of the actual values into
BCS in the IPO cycle can be very time-consuming. In this case one must set an adequate IPO
cycle.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
473
M1: Kinematic transformation
8.4 Chained transformations
8.4.2
Programming
A configured concatenated (chained) transformation is activated in the part program or
synchronized action using the TRACON statement.
Syntax
TRACON(<Trafo_No>,<Par_1>,...,<Par_n>,<Par_n+1>)
TRAFOOF
Meaning
TRACON:
Activate concatenated transformation
If another transformation was previously activated, it is implicitly dis-
abled by means of TRACON().
<Trafo_No>:
Number of the concatenated transformation:
Type:
INT
Range of val-
0 ... 2
ues:
Value:
0, 1
First/only concatenated transformation
2
Second concatenated transformation
Not
Same meaning as with 0 or 1
speci-
fied
Note:
Values not equal to 0, 1, 2 generate an error
alarm.
<Par_1>, ..., <Par_n>,
Parameters for the concatenated transformations
<Par_n+1>:
<Par_1>, ..., <Par_n>
Parameters of the first transforma-
tion in the chain
The actual number depends on
the transformation type:
● TRAORI: 2 parameters
● TRACYL: 1 to 2 parameters
<Par_n+1>
Parameters of the second transfor-
mation in the chain (TRAANG)
≙ angle of the inclined axis
If parameters are not set, the defaults or the parameters last used
take effect. Commas must be used to ensure that the specified pa-
rameters are evaluated in the sequence in which they are expected,
if default settings are to be effective for previous parameters. In
particular, a comma is required before at least one parameter, even
though it is not necessary to specify <Trafo_No> - for example TRA-
CON( , 3.7).
TRAFOOF:
Deactivate the last activated (concatenated) transformation
Extended Functions
474
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
Example
Program code
Comment
N230 TRACON(1,45.)
; Activate first concatenated transformation.
; The previously active transformation is automatically de-
selected.
; The angle for the inclined axis is 45°.
N330 TRACON(2,40.)
; Activate second concatenated transformation.
; The angle for the inclined axis is 40°.
N380 TRAFOOF
; Deactivate second concatenated transformation.
8.4.3
Examples
8.4.3.1
Application example of chained transformations
The following transformations are to be defined in the channel:
Data set
Transformation
1
TRAORI
5-axis transformation with rotatable tool and axis sequence AB (trafo type 16)
2
TRANSMIT
Face end transformation (trafo type 256)
3
TRAANG
Oblique angle transformation (trafo type 1024)
4
TRAORI + TRAANG
First chained transformation (trafo type 8192)
5
TRANSMIT + TRAANG
Second chained transformation (trafo type 8192)
Parameter assignment
General channel configuration
CHANDATA(1)
; Channel data in channel 1
MD20070 $MC_AXCONF_MACHAX_USED[0]=1
MD20070 $MC_AXCONF_MACHAX_USED[1]=2
MD20070 $MC_AXCONF_MACHAX_USED[2] = 3
MD20070 $MC_AXCONF_MACHAX_USED[3] = 4
MD20070 $MC_AXCONF_MACHAX_USED[4]=5
MD20070 $MC_AXCONF_MACHAX_USED[5]=6
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
475
M1: Kinematic transformation
8.4 Chained transformations
MD20070 $MC_AXCONF_MACHAX_USED[6]=7
MD20070 $MC_AXCONF_MACHAX_USED[7] = 0
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[3]="A"
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[4]="B"
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[5]="C"
MD36902 $MA_IS_ROT_AX[ AX4 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX5 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX6 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX7 ] = TRUE
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX5]= 0
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX7] = 1
MD35000 $MA_ROT_IS_MODULO[AX7] = TRUE
Single transformations
; 1. TRAORI
MD24470 $MC_TRAFO_TYPE_1= 16
; TRAORI: A-B kinematics
MD24410 $MC_TRAFO_AXES_IN_1[0]=1
MD24410 $MC_TRAFO_AXES_IN_1[1]=2
MD24410 $MC_TRAFO_AXES_IN_1[2]=3
MD24410 $MC_TRAFO_AXES_IN_1[3]=4
MD24410 $MC_TRAFO_AXES_IN_1[4]=5
MD24410 $MC_TRAFO_AXES_IN_1[5]=0
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
MD24550$MC_TRAFO5_BASE_TOOL_1[0]=0
MD24550$MC_TRAFO5_BASE_TOOL_1[1]=0
MD24550$MC_TRAFO5_BASE_TOOL_1[2]=0
; 2. TRANSMIT
MD24200 $MC_TRAFO_TYPE_2 = 256
; TRANSMIT
MD24210 $MC_TRAFO_AXES_IN_2[0] = 1
MD24210 $MC_TRAFO_AXES_IN_2[1] = 6
MD24210 $MC_TRAFO_AXES_IN_2[2]=3
MD24210 $MC_TRAFO_AXES_IN_2[3]=0
MD24210 $MC_TRAFO_AXES_IN_2[4] = 0
MD24210 $MC_TRAFO_AXES_IN_2[5] = 0
MD24210 $MC_TRAFO_AXES_IN_2[6]=0
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =6
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
; 3. TRAANG
MD24300 $MC_TRAFO_TYPE_3 = 1024
; TRAANG
Extended Functions
476
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
MD24310 $MC_TRAFO_AXES_IN_3[0] = 1
MD24310 $MC_TRAFO_AXES_IN_3[1] = 3
MD24310 $MC_TRAFO_AXES_IN_3[2] = 2
MD24310 $MC_TRAFO_AXES_IN_3[3] = 0
MD24310 $MC_TRAFO_AXES_IN_3[4] = 0
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =1
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =3
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =2
MD24700 $MC_TRAANG_ANGLE_1 = 45.
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 = 0.2
MD24721 $MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0
Chained transformations
; 4. TRACON (TRAORI + TRAANG chaining)
MD24400 $MC_TRAFO_TYPE_4 = 8192
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[0] =2
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] =1
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] =3
MD24995 $MC_TRACON_CHAIN_1[0] = 1
MD24995 $MC_TRACON_CHAIN_1[1] = 3
MD24995 $MC_TRACON_CHAIN_1[2] = 0
; 5. TRACON (TRANSMIT + TRAANG chaining)
MD24430 $MC_TRAFO_TYPE_5 = 8192
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] =1
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] =6
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[2] =3
MD24996 $MC_TRACON_CHAIN_2[0] = 2
MD24996 $MC_TRACON_CHAIN_2[1] = 3
MD24996 $MC_TRACON_CHAIN_2[2] = 0
Programming example
The following programming example assumes that the angle of the "inclined axis" can be set
on the machine and is set to 0° when the single transformations are activated.
Program code
Comment
; Tool specification
$TC_DP1[1,1]=120
;Tool type
$TC_DP3[1,1]=10
; Tool length
N2 X0 Y0 Z0 A0 B0 F20000 T1 D1
N4 X20
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
477
M1: Kinematic transformation
8.4 Chained transformations
Program code
Comment
; Call single transformations
N30 TRANSMIT
;
Activate TRANSMIT
N40 X0 Y20
N50 X-20 Y0
N60 X0 Y-20
N70 X20 Y0
N80 TRAFOOF
;
Deactivate TRANSMIT
N130 TRAANG(45.)
;
Activate inclined axis transformation
;
Parameter: Angle 45°
N140 X0 Y0 Z20
N150 X-20 Z0
N160 X0 Z-20
N170 X20 Z0
; Activate chained transformations
N230 TRACON(1,45.)
;
First concatenated transformation
;
Activate (TRAORI + TRAANG).
;
The previously active transformation
;
is automatically deselected.
;
The parameter for the inclined axis is 45°.
N240 X10 Y0 Z0 A3=-1 C3=1 ORIWKS
N250 X10 Y20 B3=1 C3=1
N330 TRACON(2,40.)
;
Activate second concatenated
;
transformation (TRANSMIT + TRAANG).
;
The parameter for the inclined axis
;
is 40°.
N335 X20 Y0 Z0
N340 X0 Y20 Z10
N350 X-20 Y0 Z0
N360 X0 Y-20 Z0
N370 X20 Y0 Z0
N380 TRAFOOF
;
Deactivate second concatenated
;
transformation.
N1000 M30
Extended Functions
478
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.4 Chained transformations
8.4.3.2
Determining the axis positions in the transformation chain
Two chained transformations are configured in the following example, and the system variables
for determining the axis positions in the synchronous action are read cyclically in the part
program.
[
;0
\
75$160,7
75$$1*
<0
]
=0
\
&
[
\
75$&</
75$$1*
]
\
Parameter assignment
CHANDATA(1)
; TRANSMIT
MD24100 $MC_TRAFO_TYPE_1=256
MD24110 $MC_TRAFO_AXES_IN_1[0] = 2
MD24110 $MC_TRAFO_AXES_IN_1[1] = 1
MD24110 $MC_TRAFO_AXES_IN_1[2] = 3
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [0] = 2
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [1] = 1
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [2] = 3
; TRACYL
MD24200 $MC_TRAFO_TYPE_2=512
MD24210 $MC_TRAFO_AXES_IN_2[0]=2
MD24210 $MC_TRAFO_AXES_IN_2[1]=1
MD24210 $MC_TRAFO_AXES_IN_2[2]=3
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =2
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
479
M1: Kinematic transformation
8.4 Chained transformations
; TRAANG
MD24300 $MC_TRAFO_TYPE_3=1024
MD24310 $MC_TRAFO_AXES_IN_3[0] = 2
MD24310 $MC_TRAFO_AXES_IN_3[1]=4
MD24310 $MC_TRAFO_AXES_IN_3[2] = 3
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =2
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =4
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =3
MD24700 $MC_TRAANG_ANGLE_1 = 45.
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 = 0.2
MD24721 $MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0
; 1. TRANSMIT/TRAANG chaining
MD24400 $MC_TRAFO_TYPE_4=8192
; TRACON (1)
MD24995 $MC_TRACON_CHAIN_1[0] = 1
MD24995 $MC_TRACON_CHAIN_1[1] = 3
MD24995 $MC_TRACON_CHAIN_1[2] = 0
MD24995 $MC_TRACON_CHAIN_1[3] = 0
MD24410 $MC_TRAFO_AXES_IN_4[0]=1
MD24410 $MC_TRAFO_AXES_IN_4[1]=2
MD24410 $MC_TRAFO_AXES_IN_4[2]=3
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[0] =2
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] =1
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] =3
; 2. TRACYL/TRAANG chaining
MD24430 $MC_TRAFO_TYPE_5=8192
; TRACON (2)
MD24996 $MC_TRACON_CHAIN_2[0] = 2
MD24996 $MC_TRACON_CHAIN_2[1] = 3
MD24996 $MC_TRACON_CHAIN_2[2]=0
MD24996 $MC_TRACON_CHAIN_2[3]=0
MD24432 $MC_TRAFO_AXES_IN_5[0]=1
MD24432 $MC_TRAFO_AXES_IN_5[1]=2
MD24432 $MC_TRAFO_AXES_IN_5[2]=3
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] =2
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] =1
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[2] =3
M17
Programming example
Program code
Comment
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]=20
N30 $TC_DP4[1,1]=0
N40 $TC_DP5[1,1]=0
N50
N60 X0 Y0 Z0 F20000 T1 D1
N70
N80
; Cyclic reading in the synchronized actions
N90 ID=1 WHENEVER TRUE DO $R0=$AA_ITR[X,0] $R1=$AA_ITR[X,1] $R2=$AA_ITR[X,2]
Extended Functions
480
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.5 Persistent transformation
Program code
Comment
N100 ID=2 WHENEVER TRUE DO $R3=$AA_IBC[X] $R4=$AA_IBC[Y] $R5=$AA_IBC[Z]
N110 ID=3 WHENEVER TRUE DO $R6=$VA_IW[X]-$AA_IW[X]
N120 ID=4 WHENEVER TRUE DO $R7=$VA_IB[X]-$AA_IB[X]
N130 ID=5 WHENEVER TRUE DO $R8=$VA_IBC[X]-$AA_IBC[X]
N140 ID=6 WHENEVER TRUE DO $R9=$VA_ITR[X,1]-$AA_ITR[X,1]
N150
N160
N170 TRACON(1,)
; 1. TRANSMIT/TRAANG chaining
N180 X20 Y0 Z0
N190 X0 Y20 Z10
N200 X-20 Y0 Z0
N210 X0 Y-20 Z0
N220 X20 Y0 Z0
N230 TRAFOOF
N240
N250
N260 TRACON(2, 40.)
; 2. TRACYL/TRAANG chaining
N270 X20 Y0 Z0
N280 X0 Y20 Z10
N290 X-20 Y0 Z0
N300 X0 Y-20 Z0
N310 X20 Y0 Z0
N320 TRAFOOF
N330
N340 M30
8.5
Persistent transformation
Function
A persistent transformation is always active and has a relative effect to the other explicitly
selected transformations.
Selected transformations are computed as the first chained transformation in relation to the
persistent transformation.
Transformations such as e.g. TRANSMIT, which are selected relative to the persistent
transformation, are chained in the NC program with persistent transformation using TRACON.
The chained transformation, e.g.TRANSMIT, is then programmed in the NC program.
References:
Programming Manual, Job Planning; Section "Transformations" > "Activate chained
transformations (TRAANG)"
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
481
M1: Kinematic transformation
8.5 Persistent transformation
Selection and deselection
Persistent transformation is selected via the following machine data:
● MD20144 $MC_TRAFO_MODE_MASK, Bit 0 = 1
● MD20144 $MC_TRAFO_RESET_VALUE defines persistent transformation.
● MD20140 $MC_TRAFO_RESET_VALUE=Number of the transformation data set of the
persistent transformation
Other machine data
● MD20110 $MC_RESET_MODE_MASK
- Bit 0 = 1 (Bit 7 is evaluated)
- Bit 7 =0 (MD20140 $MC_TRAFO_RESET_VALUE determines the transformation data
set)
● MD20112 $MC_START_MODE_MASK (MD20140 $MC_TRAFO_RESET_VALUE)
● MD20118 $MC_GEOAX_CHANGE_RESET= TRUE (i.e. geometry axes are reset).
With TRAFOOF the active, chained transformation TRACON is deselected and the persistent
transformation is automatically selected.
Effects on HMI operation
As a transformation is always active with the persistent transformation, the HMI user interface
is adapted accordingly for the selection and deselection of transformations:
Chained transformation TRACON
The HMI operator interface does not display TRACON, but the 1st chain transformation of
TRACON e.g. TRANSMIT . Accordingly, the transformation type of the 1st chained
transformation is returned by the system variable, i.e. $P_TRAFO or $AC_TRAFO. Cycles that
TRANSMIT uses can then be directly used.
Deactivating the TRAFOOF transformation
In accordance with the TRAFOOF programming instruction no transformation is displayed in
the G command list at the user interface. System variable $P_TRAFO as well as $AC_TRAFO
then supply a value of 0. The persistent transformation is active and the BCS and MCS
coordinate systems differ. The displayed MCS position always refers to the actual machine
axes.
System variables
System variable to read transformation types of the active or chained transformations.
● $AC_TRAFO (active transformation)
● $AC_TRAFO_CHAIN[0] (active chained transformation)
● $P_TRAFO (programmed transformation)
● $P_TRAFO_CHAIN[0] (programmed chained transformation)
Extended Functions
482
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.5 Persistent transformation
Frames
Frame adjustments for selection and deselection of the TRACON are carried out as if there
was only the first chained transformation. Transformations on the virtual axis cease to be
effective when TRAANG is selected.
JOG
The persistent transformation remains in effect when traversing with JOG.
Supplementary conditions
The persistent transformation does not change the principle operating sequences in the NC.
All restrictions applying to an active transformation also continue to apply:
● For RESET, an existing transformation is completely deselected - and the persistent
transformation is selected again.
● When referencing, the transformation is deselected and then requires a channel reset or
NC start in order to again select the persistent transformation.
Example
For a lathe with an inclined additional Y axis, the transformation of the inclined axis should be
part of the machine configuration. As a consequence, it does not have to be taken into
consideration by the programmer. With TRACYL or TRANSMIT, the transformations are
selected, which must then includeTRAANG.
When deactivating the programmed transformations, TRAANG is automatically reactivated.
TRACYL or TRANSMIT are correspondingly displayed on the user interface.
Machine constellation: Lathe with a Y1 axis, inclined to X1 and perpendicular to Z1
Machine data parameterization
Program code
CANDATA (1)
; Kinematic without transformations
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[1] = "Y2"
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 0
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
; Data for TRAANG
MD24100 $MC_TRAFO_TYP_1 = 1024 ; TRAANG, Y1 axis inclined to X1,
perpendicular to Z1
MD24110 $MC_TRAFO_AXES_IN_1[0]=2
MD24110 $MC_TRAFO_AXES_IN_1[1]=1
MD24110 $MC_TRAFO_AXES_IN_1[2] = 3
MD24110 $MC_TRAFO_AXES_IN_1[3] = 0
MD24110 $MC_TRAFO_AXES_IN_1[4] = 0
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
483
M1: Kinematic transformation
8.5 Persistent transformation
Program code
; Definition of persistent transformation
MD20144 $MC_TRAFO_MODE_MASK = 1
MD20140 $MC_TRAFO_RESET_VALVUE= 1
MD20110 $MC_RESET_MODE_MASK = 'H01'
MD20112 $MC_START_MODE_MASK = 'H80'
MD20140 $MC_TRAFO_RESET_VALUE
MD20118 $MC_GEOAX_CHANGE_RESET= TRUE
; Data for TRANSMIT, TRACYL
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 ; also 2, causes alarm 21617
MD24200 $MC_TRAFO_TYP_2 = 257 ; TRANSMIT
MD24210 $MC_TRAFO_AXES_IN_2[0] = 1
MD24210 $MC_TRAFO_AXES_IN_2[1] = 4
MD24210 $MC_TRAFO_AXES_IN_2[2] = 3
MD24210 $MC_TRAFO_AXES_IN_2[3] = 0
MD24210 $MC_TRAFO_AXES_IN_2[4] = 0
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =4
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
MD24300 $MC_TRAFO_TYP_3 = 514 ; TRACYL
MD24310 $MC_TRAFO_AXES_IN_3[0] = 1
MD24310 $MC_TRAFO_AXES_IN_3[1] = 4
MD24310 $MC_TRAFO_AXES_IN_3[2] = 3
MD24310 $MC_TRAFO_AXES_IN_3[3] = 0
MD24310 $MC_TRAFO_AXES_IN_3[4] = 0
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =1
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =4
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =3
; Data for TRACON
; TRACON chaining TRANSMIT 257/TRAANG (Y1 axis inclined in relation to X1)
MD24400 $MC_TRAFO_TYP_4 = 8192 ; TRACON
MD24995 $MC_TRACON_CHAIN_1[0] = 3
MD24995 $MC_TRACON_CHAIN_1[1] = 1
MD24995 $MC_TRACON_CHAIN_1[2] = 0
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[0] =1
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] =4
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] =3
; TRACON chaining TRANSMIT 257/TRAANG (Y1 axis inclined in relation to X1)
MD24430 $MC_TRAFO_TYP_5 = 8192 ; TRACON
MD24996 $MC-TRACON_CHAIN_2[0] = 2
MD24996 $MC-TRACON_CHAIN_2[1] = 1
MD24996 $MC_TRACON_CHAIN_2[2] = 0
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] =1
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] =4
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[2] =3
M17
Extended Functions
484
Function Manual, 12/2018, A5E40874029B AB
M1: Kinematic transformation
8.6 Cartesian PTP travel
NC program
Program code
$TC_DP1[1,1]=120 ; tool type
$TC_DP2[1,1] = 0
$TC_DP3[1,1]=3 ; length compensation vector
$TC_DP4[1,1]=25
$TC_DP5[1.1] =5
$TC_DP6[1,1]= 2; Radius; tool radius
; Transformation changeover
N1000 G0 X0 Y=0 Z0 A80 G603 SOFT G64
N1010 X10 Y20 Z30 ; TRAANG(,1) not required, as automatically selected
N1110 TRANSMIT(1)
N1120 X10 Y20 Z30
N1130 Y2=0
; TRACON(2) not required, as automatically converted
N1210 TRAFOOF
; TRAANG(,1) not required, as automatically converted
N1220 X10 Y20 Z30
M30
8.6
Cartesian PTP travel
8.6.1
Function
Precondition
Cartesian point-to-point or PTP travel can only be activated if one of the following
transformations is active:
● TRAORI (orientation transformation)
● TRANSMIT (face side transformation)
● TRACON (chained transformation)
Precondition: The first chained transformation supports PTP travel!
● RCTRA (transformation for 2 to 4-axis handling/robot kinematics)
Precondition: Compile cycle "RMCC/RCTRA Transformation Handling" is loaded and
active!
● ROBX (transformation for 4 to 6-axis robot kinematics)
Precondition: Compile cycle "RMCC/ROBX Transformation Extended Robotics" is loaded
and active!
Without active transformation, alarm 14146 "CP or PTP motion without transformation not
permitted" is output.
Note
The axes of the transformation must not simultaneously be positioning axes.
Extended Functions
Function Manual, 12/2018, A5E40874029B AB
485
M1: Kinematic transformation
8.6 Cartesian PTP travel
Function
With the Cartesian PTP travel, in G0 and G1 sets it is possible to approach a point programmed
as a Cartesian destination point with a synchronous axis movement.
Regarding the traversing movement, the Cartesian PTP travel acts as though no
transformation is active The position data in the part program continue to be in the Cartesian
workpiece coordinate system. Programmed frames (coordinate movements and rotations)
remain valid. The display is also in the Cartesian workpiece coordinate system.
The movement in the Cartesian PTP travel is described by a starting and end position of the
axes. The path of the movement described by the individual axes from the starting to the end
position is not specified by the controller by means of path interpolation points and can
therefore not be predicted. The axes only have to reach their specified target position.
Interaction between the axis movements only exists in regard to time, i.e. all axis start
simultaneously and are stopped at the same time when the target position has been reached.
The slowest axis determines the total traverse time.
One sensible usage option is to travel by a singularity. If Cartesian positions are available,
which are provided by a CAD/CAM system for example, this has the benefit of not having to
convert them into machine axis values. Furthermore, direct traversing of the machine axes is
time-optimized compared to Cartesian traversing with active transformation and programmed
feed. The result of this would either be a corresponding reduction of the feedrate when
traversing through the singularity (speed planning in preprocessing) or an overload of the axis
if no speed planning is carried out in preprocessing.
Note
Cartesian PTP travel is only permissible in conjunction with the interpolation types G0 and G1.
Versions
Three versions are available for Cartesian PTP travel:
● PTP
The programmed Cartesian position in G0 and G1 blocks is approached with synchronous
axis motion.
● PTPG0
Only in G0 blocks is the programmed Cartesian position approached with synchronous axis
motion. In G1 blocks, it is switched to the type of motion CP (CP = Continuous Path) and
the position is approached with a Cartesian path motion.
● PTPWOC (only for orientation transformation)
Just the same as PTP, however, without any compensatory motion, which is caused by
motion of rotary axes and orientation axes.
Since the transformation, which compensates the movement of the tool tip (TCP) during
orientation changes, is not active, the position of the TCP in the workpiece coordinate
system must generally also be changed if no linear axes involved in the transformation are
programmed.
Programmed linear axis movements are carried out in the workpiece coordinate system
that applies at the beginning of the block and overlays the simultaneously programmed
rotary axis movements if applicable. The block end point that is reached in the workpiece
coordinate system is therefore generally not the same as the programmed end point.
Extended Functions
486
Function Manual, 12/2018, A5E40874029B AB
|
||
|
|
|