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.
The data for the cross compensation must be defined in the correction list of the slave axis. |
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:
- The function is activated for the slave axis.
- A compensation table must be provided to the control system for the axis.
- Master- and slave axes are translatory axes. From CNC version v263.1504 onwards it is also possible to use the cross compensation with rotatory axes or spindles.
- The master axis has been referenced. A homing of the slave axis is not required.
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 |
Example
Excerpt from axis parameter list:
:
lr_param.crosscomp 1
:
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:
Variable name | Type | Significance |
---|---|---|
unit | SGN32 | Unit of the position entries |
last_index | SGN32 | Index of last valid value in the correction table of the slave axis (Maximum 1000 values). |
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.
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.