Cross compensation

Compensation process

The cross compensation enables the correction of an axis position in dependence on the actual position of an other axis.

The axis, which has to be corrected, is named slave axis. The axis, which actual position influences the correction value, is named master axis.

A master axis can also be slave axis of an other master axis.

Cross compensation 1:

The data for the cross compensation must be defined in the correction list of the slave axis.

Cross compensation 2:
Figure 1-1: Example for usage of cross compensation (Y: master, Z: slave).

Characteristics

A master axis corrects one or many slave axis.

A slave axis is only corrected by one master axis.

A compensation value can be defined for each interpolation point.

Linear interpolation of the compensation values between the given points in the table.

The cross compensation is realized for±10Volt drives, for simulation drives with relative measurement system and for SEROCS drives.

The corrections are only visible in the position values directly passed to the drive. The normal display data does not include the compensation values, because the compensation is done out of normal calculation.

Action

The cross-compensation acts under the following preconditions:

Activation

The cross compensation is activated for the specified axis with P-AXIS-00047 in the axis parameter list [AXIS] of the slave axis:

Variable name

Type

Significance

lr_param.crosscomp

BOOLEAN

0: no cross compensation
1: Cross compensation active

Example

Excerpt from axis parameter list:

:
lr_param.crosscomp     1
:
Cross compensation 3:

The cross compensation also can be used for gantry axes. In this case each gantry axis has its individual compensation table. The tables need not to be identical.

Coupling/Decoupling

The cross compensation (ON, if: Master is referenced and compensation is active) can be coupled or decoupled at anytime, if the slave axis is in standstill. During this, the monitored comm

and positions of the slave axis are allocated with the 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-00026 (n_cycles).

General data of cross compensation table

The general data of the list body are entered into the structure kw.crosscomp.*It contains following elements:

Elements of general data

Variable name

Type

Significance

unit

SGN32

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

last_index

SGN32

Index of last valid value in the correction table of the slave axis (Maximum 1000 values).
The table always starts with index 0.

master_ax_nr

UNS16

Logical number of the master axis which command position is used to calculate the correction values.

n_cycles

UNS16

Number of cycles of thesin2-filter.

Compensation values of cross compensation

For each interpolation point in the tablekw.crosscomp.table[i].*the corresponding compensation value of the slave axis is entered.The compensation table is valid for the positive and negative moving direction.

Compensation table

Variable name

Type

Significance

table[i].setpoint

SGN32

Absolute command position of the master axis on which the slave axis must be corrected.

table[i].correction

SGN32

Relative compensation value for the slave axis at interpolation point i.

Special feature for rotatory master axis

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

If the master axis of the cross 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.