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

prg_example

Excerpt from the axis parameter list:

:

lr_param.crosscomp     1

:

Notice

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.