Function Manual
106 01/2017
Compensation value at reference point
The compensation table should be structured such that the compensation value at the reference point is "zero". This
prevents position jumps occurring when the LEC is activated (after reference point approach).
The leadscrew error compensation / measuring system error compensation (LEC) is an axis-specific compensation.
The principle of the LEC is to modify the axis-specific position actual value by the assigned compensation value in the
interpolation cycle and to apply this value to the machine axis for immediate traversal. A positive compensation value causes
the corresponding machine axis to move in the negative direction.
The magnitude of the compensation value is not limited and is not monitored. In order to avoid impermissibly high velocities
and accelerations caused by compensation, small compensation values must be selected. Large compensation values can
cause other axis monitoring functions to output alarms (e.g. contour monitoring, velocity setpoint limitation).
● The compensation values are stored in the NC user memory and active (after POWER ON).
● The function has been activated for the relevant machine axis
(MD32700 ENC_COMP_ENABLE [0] = 1).
● The axis has been referenced (IS "Referenced/synchronized 1" DB390x.DBX0.4 set).
As soon as these conditions have been fulfilled, the axis-specific actual value is altered by the compensation value in all
modes and traversed by the machine axis immediately.
If the reference is then lost, e.g. because the encoder frequency has been exceeded (IS "Referenced/synchronized 1" =0),
compensation processing is de-activated.
The position-related compensation values are stored in the form of system variables for the relevant axis in the
compensation table. Up to 200 interpolation points (N = 0...199) are possible.
The following measuring-system-specific parameters must be set for the table (see figure "Compensation table parameters
(system variables for LEC)"):
●
Compensation value for interpolation point N in compensation table:
$AA_ENC_COMP [0,N,AXi]= ...
where: AXi = machine axis name, e.g. X1, Y1, Z1; N = interpolation point index
For every individual interpolation point (axis position) the compensation value must be entered in the table. The
magnitude of the compensation value is not limited.
Note
The first and last compensation values remain active over the entire traversing range; i.e.
these values should be set to
"0" if the compensation table does not cover the entire traversing range.
●
Distance between interpolation points:
$AA_ENC_COMP_STEP[0,AXi]= ...
The distance between interpolation points defines the distance between the compensation values in the relevant
compensation table (see above for AXi).
●
$AA_ENC_COMP_MIN[0,AXi]= ...
The starting position is the axis position at which the compensation table for the relevant axis begins (interpolation point
0).
The compensation value for the starting position is $AA_ENC_COMP[0,
,AXi].
The compensation value of interpolation point 0 is used for all positions smaller than the starting position (exception:
table with modulo function).
●
$AA_ENC_COMP_MAX[0,AXi]= ...
The end position is the axis position at which the compensation table for the relevant axis ends (interpolation point k <
125).
The compensation value for the end position is $AA_ENC_COMP[0,
,AXi]