# Automatic axis tracking (C axis tracking) (#CAXTRACK)

Machining operations, such as cutting various materials, require tool guidance generally associated with the C axis so that the tool is always aligned tangentially relative to the path followed.

It must be noted that the tangent is not unique at each point of the path (break points). Consequently, a solution requires strategies for handling block transitions which do not feature constant tangents.

One typical application is the technology sector for glass cutting. This involves machining level contours with the aid of cutting tools in the form of carbide metal cutting wheels using CNC machines. The flat workpiece is scored slightly at the machining point in accordance with the programmed contour (closed contour, e.g. ellipse). The required contour can then be broken out of the glass workpiece.

Tracking the rotary C axis tangentially relative to the x-y contour

The C axis can also be guided tangentially relative to the path by explicit programming. However, the NC commands described below simplify programming considerably.

Syntax:
#CAXTRACK ON [ [ [ANGLIMIT=..] [OFFSET=..] [OPTALIGN=..] [ROTMODE=..] [SCALEFACT=..] [AX=<axis_name> | AXNR=..] [START_STROKE] [SYMMETRIC_TOOL] ]
#CAXTRACK OFF [ [ ANGPOS=.. ] ]

ANGLIMIT=.. | Limit angle in [°]. This parameter is only considered for non-tangential continuous contour sections. For example, tangential continuous contour sections are created by the contouring function G61. If the angle between the tangents to the contour exceeds the limit angle on block transition, the contouring motion is halted and the dressing movement is performed by an inserted motion block at rapid traverse velocity. In this case, the inserted movement forms one unit with the following second block. This means in particular that PLC synchronisation events in conjunction with the motion (M functions etc.) are possible only before or after this motion unit.

If the transition angle to second block is smaller than the limit angle, the dressing motion starts immediately on transition to the second block. In general limited axis acceleration in general causes a lower feedrate at the block transition. If this reaction is not acceptable, the axis dynamic monitoring of the tracking axis can be excluded. (e.g. G116 C1)

OFFSET=.. | Angle offset in [°]. This specifies an angle offset in order to orient the tool opposite to the tangent against the contour.
OPTALIGN=.. | When selected, orientation is automatically optimised if the orientation distance is greater than the defined angle value 'OPTALIGN' in [°]. This parameter is only considered for active automatic aligning according to P-CHAN-00101 and rotary linear axes with limited motion range (no modulo axis). It is only effective during the automatic orientation process on the first contour element.

After selecting the tangential tracking function with automatic orientation, the position of the tracking axis lies without any offset in the range of -180 to +180°. The parameter allows that the position of the tracking axis is considered during the automatic orientation process before the tangential tracking function is selected.

The function is only useful if the tracking axis has approximately the correct position to the first contour element before automatic orientation is selected. However, for example, it has a pre-orientation of +-360°. If the internally calculated orientation angle exceeds the programmed angle 'OPTALIGN', alternative solutions for the orientation angle are taken into consideration. Then the smallest orientation distance of the solutions determines the real orientation angle. (*)

## Notice

(*) For modulo axes, the automatic orientation process is always executed on the shortest way.

ROTMODE=.. | Boolean value indicating assignment of the tracking axis: 0: The tracking axis is an axis in the tool (default). 1: The tracking axis is an axis in the workpiece. The tool axis always has to be aligned vertically to the XY plane. Alternatively, the position of the tracking axis can also be defined in the channel parameters (P-CHAN-00185).

SCALEFACT=.. | Scaling factor for the tracking angle in the range >0.0... ≤1.0. For values outside the permissible limits, the scaling factor is set to 1.0 (default). For special applications only.
ANGPOS=.. | Position at deselection in [°]. When deselected, the tracking axis can also be positioned. Rotary axes are positioned on the shortest way.
AX=<axis_name> | Specify the tracking axis by name. The axis is valid until program end (M30). After program start or if no tracking axis is programmed, the default axis defined in the channel parameter P-CHAN-00095 is valid.
AXNR=.. | Specify the tracking axis by logical axis number, positive integer. The axis is valid until program end (M30). After program start or if no tracking axis is programmed, the default axis defined in the channel parameter P-CHAN-00095 is valid.
START_STROKE | Executes a reduced orientation sequence once, defined by #STROKE DEF CAXTRACK ALIGN BLOCK with #CAXTRACK ON. If automatic orientation is used with P-CHAN-00101, the orientation motion is additionally executed at the beginning of the orientation sequence. START_STROKE is non-modal and must be programmed for each time #CAXTRACK ON is activated. START_STROKE is only relevant when an orientation sequence is used.
SYMMETRIC_TOOL | Keywords activate tracking with a symmetric tool that can be moved in the material both in the 0° and in the 180° directions. The orientation motions are always executed on the shortest possible path and the flute side is selected automatically. SYMMETRIC_TOOL is non-modal and must be programmed for each time #CAXTRACK is activated

## Notice

The tracking axis used must be an additional axis. This may not lie on a main axis index.

Automatic tracking of the axis is performed with the correct sign relative to the last position depending on the resulting contour transition angle.

## Notice

Depending on the P-CHAN-00101 parameter, the alignment of the tracking axis in the required orientation (generally parallel to the contour) is as follows:

- Programmed aligning before selecting automatic tracking. No check of the position is conducted. The current angle position is frozen and the tracking axis is aligned at that angle.
- Automatic tangential alignment of the tracking axis (P-CHAN-00101) to the first programmed contour element when automatic tracking is selected.

Caution: The activation of automatic tangential alignment is absolutely necessary if there are programmed contour sections with polynomials (e.g. G261).

Tracking commences with the transmission of the first to the second relevant motion block after i is activated by #CAXTRACK ON. Automatic axis tracking operates in the main plane of circular interpolation (1st + 2nd main axes). This must be defined before activation (G17 / 18 / 19, #PUT AX / #CALL AX / #SET AX).

If the tracking axis already has the correct orientation when selected, the path motion is continued without interruption to the first relevant motion block provided by the parameter P-CHAN-00109.

If the contouring function (G261) is already active and parameter ANGLIMIT > 0, the following condition is required for a smooth motion transition:

- Contour elements before and after #CAXTRACK ON [..] must be tangential linear blocks to each other.

## Notice

Do not operate an active tracking axis in synchronous mode as a slave axis.

## Programing Example

Automatic axis tracking (C axis tracking)

Example 1: Selecting axis tracking

N10 G00 G90 X0 Y0 Z0 C0

N20 X5 Y5 C45 ;straight line 45° to the X axis, tracking axis C

;aligned parallel to the contour

N20 #CAXTRACK ON [ANGLIMIT 3, OFFSET 0] ;Enable axis

;tracking, limit angle 3°

;Angular offset 0°

N30 X10 Y10 ;Primary motion block, C axis is

;already aligned

N40 X20 ;Angle to previous block: -45° >

;Limit angle -> Block is inserted: End

;position of C = 0

N50 M99 X30 ;If M function synchronisation before

;motion > First synch., then motion C

;at 0, then X at 30.

;If sync. After block > motion C at 0

;then X at 30, then sync.

N60 X40 ;C axis angle 0°

N70 X30 ;C axis angle 180°

N80 Y0 ;C axis angle -90°

N90 #CAXTRACK OFF ;Disable axis tracking

M30

Example 2: Couple a slave axis (C2) to master tracking axis (C)

N20 G00 X0 Y0 Z0 C0 A0 C2=0 A2=0

N50 #SET AX LINK[1, C2=C]

N70 #ENABLE AX LINK[1]

N140 G01 X0 Y0 Z0 A0 C0 F2000

N170 #CAXTRACK ON [AX=C ANGLIMIT 0.1]

N190 LL SUB_1

N220 #CAXTRACK OFF

N250 #DISABLE AX LINK[1]

M30