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.
![]() | The data for the plane compensation has to be defined in the correction list of the slave axis. |

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.


Action
The plane 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 plane compensation with rotatory axes or spindles.
- Master- and slave axes have absolute measuring systems, or they have been referenced.
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 |
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:
Variable name | Type | Significance |
---|---|---|
unit | BOOLEAN | Unit of the position entries |
interval | UNS32 | Distance between two interpolation points 0,1 µm (unit=1), respect. |
last_index_master1 | SGN32 | Last valid index in the table of master axis 1 (maximum value is 100). |
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.
Variable name | Type | Significance |
---|---|---|
table[j][i].correction | SGN32 | Compensation value of the slave axis at |
| |
In the indexing of the interpolation points in the compensation table, the first index j refers to the second master axis. (see following figure). |
