Overview

Activation

Crosstalk compensation is activated in the axis machine data record of the slave axis by P-AXIS-00789 (lr_param.crosstalk).

Programing Example

prg_example

Excerpt from the axis parameter list:

:

lr_param.crosstalk       1

:

Notice

notice

Crosstalk compensation can also be used for a gantry axis group. A compensation value list must then be specified for each axis in the gantry combination (crosstalk compensation slave).

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

Activating/deactivating

Crosstalk compensation (ON if 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:

These compensation values can be smoothed by using a sine-square filter. The parameter P-COMP-00064 (n_cycles) switches the filter order to activate it.

Direction dependency of compensation

If position errors are dependent on the motion direction, compensation can be configured direction-dependent using the P-COMP-00084 parameter.

Crosstalk compensation modes

Three modes are provided for crosstalk compensation.

Mode 1:

Crosstalk compensation – Mode 1
Crosstalk compensation – Mode 1

An acceleration and the related compensation value are specified. With accelerations less than the specified values, the compensation value is linear interpolated.

Mode 2:

Crosstalk compensation – Mode 2
Crosstalk compensation – Mode 2

Compensation is calculated using an adaptation axis which is obtained by the user conducting three measurement tests. The measurement tests are conducted at various positions on the adaptation axis. Compensation is then calculated using the position of the adaptation axis and the current acceleration.

Mode 3:

Crosstalk compensation – Mode 3
Crosstalk compensation – Mode 3

Two adaptation axes can be specified. The user can enter up to 15 measurement tests in the compensation value list. Crosstalk compensation calculates compensation values using surface interpolation.

Here, please note that the measurements must cover the complete workspace. If this is not the case, incorrect compensation values can occur with positions outside the specified measuring range.

Management data of the crosstalk compensation list

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

Management data elements

Variable name

Type

Meaning

mode

UNS08

Compensation mode

master_dyn_ax_nr

UNS16

Logical axis number of the master axis whose acceleration is used as the input variable of the compensation list.

master_pos1_ax_nr

UNS16

Logical axis number of the first adaptation axis.

master_pos2_ax_nr

UNS16

Logical axis number of second adaptation axis

n_cycles

UNS16

Number of cycles of the sine-square filter.

manual_activation

BOOLEAN

0: (Default) The CNC activates crosstalk compensation automatically as soon as the required preconditions are met.

max_points

UNS32

Number of measurement tests in the compensation value list.

acceleration

SGN32

Acceleration [mm/s²] in case of axis excursion.

deceleration

SGN32

Negative acceleration [mm/s²] in case of axis excursion.

velocity_dependent

BOOLEAN

Different compensation values for different motion directions.

 

 

 

Compensation values of crosstalk compensation

The corresponding compensation value of the slave axis is entered for each acceleration in the list kw.crosstalk.table[i].*. The compensation list is valid for positive and negative directions of acceleration.

Compensation value list

Variable name

Type

Meaning

position[i].ax_1

SGN64

Position of the first adaptation axis with acceleration test i

position[i].ax_2

SGN64

Position of the second adaptation axis with acceleration test i

position[i].correction_accelerate_dir_pos

SGN64

Compensation value for acceleration in positive motion direction

position[i].correction_decelerate_dir_pos

SGN64

Compensation value for deceleration in positive motion direction

position[i].correction_accelerate_dir_neg

SGN64

Compensation value for acceleration in negative motion direction

position[i].correction_decelerate_dir_neg

SGN64

Compensation value for deceleration in negative motion direction