Plane compensation

Compensation process

The plane compensation enables the correction of an axis position in dependence on the actual positions of two other axes.

The axis, which must be corrected, is named slave axis. Both axes, which actual positions influences the correction value, are named master axes.

One of the master axis can also be slave axis itself.

Plane compensation 1:

The data for the plane compensation has to be defined in the correction list of the slave axis.

Plane compensation 2:
Figure 1-2: Calculation of the compensation value based on the actual positions of the master axes.

Characteristics

The both master axes create a two-axes coordinate system, in the simplest case it is the X-Y-plane (master axis 1 = X-axis, master axis 2 = Y-axis).

The coordinate system is divided in squares like a chess board.

The length of the square can be defined.

The edges of the squares are the interpolation points of the table (shown figure 1-3)

For each interpolation point a compensation value can be defined.

Between two interpolation points linear interpolation is active (shown in figure 1-4).

Outside the table the compensation values of the table margin keep valid.

Plane compensation 3:
Figure 1-3: Definition of the compensation values at the interpolation points
Plane compensation 4:
Figure 1-4: Linear interpolation between 4 interpolation points of a square

Action

The plane compensation acts under the following preconditions:

Activation

The plane compensation is activated with P-AXIS-00174 in the axis parameter list [AXIS] of the slave axis:

Variable name

Type

Significance

lr_param.crosscomp2

BOOLEAN

0: No plane compensation
1: Plane compensation is active

Example

Excerpt from axis parameter list:

:
lr_param.crosscomp2     1
:

Coupling/Decoupling

The plane compensation (ON, if: Master axes are referenced and compensation is active) can be coupled or decoupled at any time, if the slave axis is in standstill. During this, the monitored command positions of the slave axis are allocated with compensation values.

Filter

During referencing of the master axis for a moved slave axis in the run of the compensation values discontinuities can occur. They can be smoothed with a sin2-filter. The filter order and its activation can be influenced by the parameter P-COMP-00027 (n_cycles).

Special feature for rotatory master axes

From CNC version v263.1504 onwards, it is possible to use the plane compensation with rotatory axes or spindles. For these axis types the position controller performs a modulo calculation of the axis position.

If a master axis of the plane compensation is a modulo axis,a "modulo transition" also occurs in the compensation table at the modulo transition of the master axis position.Therefore the correction values at the modulo transition must be the same in order to prevent a jump in the correction values of the slave axis at this position.

General data of plane compensation

In the general data of the list body the required axes, the limits of the compensation area and so on are defined. The general data of the list body are entered into the structure kw.crosscomp2.* It contains following elements:

Elements of general data

Variable name

Type

Significance

unit

BOOLEAN

Unit of the position entries
0: Encoder increments
1: Metric (in 0.1μm)

interval

UNS32

Distance between two interpolation points 0,1 µm (unit=1), respect.
increments (unit=0)

last_index_master1

SGN32

Last valid index in the table of master axis 1 (maximum value is 100).
Table starts with index 0

last_index_master2

SGN32

Last valid index in the table of master axis 2 (maximum value is 100).

start_position_master1

SGN32

Start position in the compensation table for master axis 1

start_position_master2

SGN32

Start position in the compensation table for master axis 2

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 thesin2-filter.

Compensation values of plane compensation

For each interpolation point in the tablekw.crosscomp2.table[j][i].*the corresponding compensation value of the slave axis is entered.

Compensation table

Variable name

Type

Significance

table[j][i].correction

SGN32

Compensation value of the slave axis at
interpolation point[j][i],
see figure1.5

CAUTION

In the indexing of the interpolation points in the compensation table, the first index j refers to the second master axis. (see following figure).
Index j -> Master axis 2
Index i -> Master axis 1

Plane compensation 5:
Figure 1- 5 : Parameters of compensation table