Overview

Activation

Plane compensation is activated in the axis machine record of the slave axis by P-AXIS-00174:

Variable name

Type

Meaning

lr_param.crosscomp2

BOOLEAN

0: no plane compensation
1: Plane compensation active

Programing Example

prg_example

Excerpt from the axis parameter list:

:

lr_param.crosscomp2     1

:

Activating/deactivating

Plane compensation (ON if master axes are 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 master axes are 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-00027 (n_cycles) switches the filter order to activate it.

Special feature for rotary master axes

As of CNC Build v263.1504, plane 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 plane 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.

Management data of the plane compensation table

The general data of the list body parameterise the axes involved, the limits of the compensation range, etc. General data is entered in the structure kw.crosscomp2.*. 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)

grid

STRING

Type of interpolation point sample grid:

QUADRATIC: Identical grid structure, interval for both master axes

RECTANGULAR: Different grid structure, interval1 and interval2 for both master axes

interval

UNS32

Interval between 2 interpolation points in 0.1 µm for the two master axes (grid = QUADRATIC)

interval1

UNS32

Interval of the first master axis between 2 interpolation points in 0.1 µm
(grid = RECTANGULAR)

interval2

UNS32

Interval of 2nd master axis between 2 interpolation points in 0.1 µm
(grid = RECTANGULAR)

last_index_master1

SGN32

Last valid index in the table for master axis 1 (see Limits of compensation table).
The table always starts with index 0

last_index_master2

SGN32

Last valid index in the table for master axis 2 (see Limits of compensation table).
The table always starts with index 0

start_position_master1

SGN32

Position of master axis 1 at which the compensation table starts

start_position_master2

SGN32

Position of master axis 2 at which the compensation table starts

master1_ax_nr

UNS16

Log. axis number of master axis 1

master2_ax_nr

UNS16

Log. axis number of master axis 2

n_cycles

UNS16

Number of cycles of sin2 filter.

manual_activation

BOOLEAN

0: Default: The CNC activates plane compensation automatically as soon as the required conditions are met (e.g. the master axes are referenced)

1: Plane 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.

Limits of compensation table

As of CNC Build V3.1.3079.06 the maximum possible of table entries can be defined in P-COMP-00061. In previous builds, the entries “last_index_master1”(P-COMP-00010) and “last_index_master2” (P-COMP-00011) are limited to 100 entries.

This rigid limitation non longer applies. Note only that:

P-COMP-00010 x P-COMP-00011 <= P-COMP-00061

Compensation values of plane compensation

The corresponding compensation value of the slave axis is entered in the table kw.crosscomp2.table[j][i].* for every interpolation point.

Compensation value table

Variable name

Type

Meaning

table[j][i].correction

SGN32

Compensation value of slave axis at interpolation point [j][i],
see figure below.

Notice

notice

When interpolation points are indexed in the compensation value table, the 1. index j always refers to the 2. master axis (see figure below).

Index j -> master axis 2

Index i -> master axis 1

Notice

notice

Unassigned interpolation points are assigned the value 0 in the compensation value table. This value is also used in the calculation.

Compensation value list parameters
Compensation value list parameters