Overview
Activation
Leadscrew error compensation (LSEC) is activated in the axis machine data record of the corresponding slave axis by P-AXIS-00175:
Variable name | Type | Meaning |
lr_param.ssfk | BOOLEAN | 0: no LSEC |
lr_param.n_backlash_cyc | UNS16 | Number of cycles with bilateral leadscrew error compensation with reversal of direction |
Example
Excerpt from the axis parameter list:
:
lr_param.ssfk 1
:
Management data of the LSEC table
The general data of the list body parameterises the operation mode of the compensation, e.g. unilateral or bilateral. General data is entered in the structure kw.ssfk..* and contains the following elements.
Management data elements
Variable name | Type | Meaning |
unit | BOOLEAN | Unit of the length entries: |
interval | SGN32 | Distance between interpolation points of the compensation table for use if using equidistant interpolation points. If this parameter is = 0, the position of each interpolation point must be specified separately. |
kw_startpos | SGN32 | Start position of the compensation table (with equidistant interpolation points) |
kw_nr_max | SGN32 | Number of entries in the compensation table As of CNC Build V3.1.3079.06, the maximum possible number of entries can be defined in P-COMP-00059 . In previous builds the default value is 1500. |
bilateral | BOOLEAN | 0: Unilateral compensation |
modulo | BOOLEAN | Compensation for a modulo axis take place |
manual_activation | BOOLEAN | 0 (default): The CNC activates leadscrew error compensation automatically as soon as the required conditions are met (e.g. the master axis is referenced) 1: Leadscrew error compensation must be activated explicitly in the NC program by the COMP command (see Section “Selecting/deselecting axis compensations in the NC program“) . Compensation is deactivated at the end of the NC program, when the CNC is reset or when the axis is released. |
set_pos_without_comp | BOOLEAN | By default, leadscrew error compensation also considers the compensation values generated from other axis compensations, e.g. cross and plane compensation. Direction-dependent leadscrew error compensation (see P-COMP-00021) may result in undesired backlash cover. The parameter set_pos_without_comp can disable the inclusion of other compensation values in the calculation. 0: Compensation values of other compensations are considered in the leadscrew error compensation. 1: Compensation values of other compensations are not considered. |
LSEC compensation values
The compensation values are specified in the table kw.ssfk.table[i].*.
The field index i can then assume the value 0 to kw.ssfk.kw_nr_max –1. The maximum number of entries is specified in [SYSP//Number 2.23].
The compensation values are specified as absolute position errors in the unit specified in kw.ssfk.unit (metric in 0.1 µm or incremental). Where:
[Delta] si i-th compensation value
ssoll, i i-th command value (interpolation point of the compensation table)
sist, i i-th actual value (measured with reference measuring system)
Compensation value table
Variable name | Type | Meaning |
pos | SGN16 | Compensation value for motion in a positive direction (bilateral compensation) and compensation value for use with unilateral compensation. |
neg | SGN16 | Compensation value for motion in a negative direction. Not used with unilateral SSKF. |
setpoint | SGN32 | Interpolation point of the axis (programmed value). Only with non equidistant interpolation points. |
For use with bilateral compensation, enter position errors for motion in a position direction in the pos entry, The interpolation points specified are valid for both directions.
For use with unilateral compensation, also enter position errors in the pos Entry. The neg entry is omitted.
As opposed to the entry of individual interpolation points for the compensation table, a grid structure can also be used. Entries for interpolation points can then be omitted in the setpoint variable in this case.
To use an interpolation point grid, enter the increment of the interpolation point grid in the kw.ssfk.interval variable. The interpolation points are then calculation internally from the start position (kw.ssfk. kw_startpos) and the increment.
Special features applicable to modulo axes
If a compensation table is configured for a modulo axis (kw.ssfk.modulo = 1), a modulo transition also occurs in the compensation table at the modulo transition of the axis position.
This can be used in order to compensate for position errors caused by gears or transmissions for instance.
The following special aspects must be noted:
- The position values of the first and last entries in the compensation list must be identical.
- The number of compensation values is also equal here to the number of entries in the compensation value table.