# Overview

## Activation

Cross compensation is activated in the axis machine data record of the slave axis by P-AXIS-00047:

Variable name | Type | Meaning
lr_param.crosscomp | BOOLEAN | 0: no cross compensation 1: Cross compensation active

## Programing Example

Excerpt from the axis parameter list:

:

lr_param.crosscomp 1

:

## Notice

Cross compensation can also be used for a gantry axis group. A compensation value table must then be specified for each individual axis in the gantry combination (cross compensation slave).

Compensation value tables can therefore have different settings for each gantry axis.

## Activating/deactivating

Cross compensation (ON if master axis is referenced and compensation is activated) can be switched on or off at any time when the slave axis is at standstill. The slave axis command positions displayed are offset with the offset values.

## Filter:

When the master axis is referenced, inconsistencies may occur when compensation values are calculated for a moved slave axis. These inconsistencies can be smoothed by using a sin2 filter. The parameter P-COMP-00026 (n_cycles) switches the filter order to activate it.

## Management data of the cross compensation table

General data of the list body is entered in the structure kw.crosscomp..*. It contains the following elements.

## Management data elements

Variable name | Type | Meaning
unit | BOOLEAN | Unit of the length entries: 0: Encoder increments 1: metric (in 0.1 µm)
last_index | SGN32 | Last valid index in the slave axis table. As of CNC Build V3.1.3079.06 the maximum possible of table entries can be defined in P-COMP-00060. In previous Builds the default value is 1000. The table always starts with index 0
master_ax_nr | UNS16 | Axis number of the master axis; its command position acts as the input variable of the compensation table.
n_cycles | UNS16 | Number of cycles of sin2 filter.
manual_activation | BOOLEAN | 0: (Default) The CNC activates cross compensation automatically as soon as the required conditions are met (e.g. the master axis is referenced). 1: Cross compensation must be activated explicitly in the NC program by the COMP command (see section “Selecting/deselecting axis compensations in the NC program”). Compensation is deactivated at the end of the NC program, when the CNC is reset or when the axis is released.

## Compensation values for cross compensation

The corresponding compensation value of the slave axis is entered in the table kw.crosscomp.table[i].* for every interpolation point. The compensation table is valid for positive and negative directions of motion.

## Compensation value table

Variable name | Type | Meaning
table[i].setpoint | SGN32 | Interpolation point of master axis for which the slave axis must be compensated.
table[j][i].correction | SGN32 | Relative compensation value for the salve axis at interpolation point i

## Special feature for rotary master axis

As of CNC Build v263.1504, cross compensation can also be used for rotary axes or spindles. A modulo calculation of the axis position is carried out in the position controller for these axis types.

If a cross compensation master axis is a modulo axis, a "modulo transition" also takes place in the compensation table in the modulo transition of the axis position of this master axis. To prevent a jump from occurring at this point of the compensation value process of the slave axis, the same compensation value must be specified in the compensation table at the modulo transition.