Parameterisation
Activate
Temperature compensation is activated in the axis machine data record [AXIS] of the required axis using P-AXIS-00271:
kopf.achs_nr 1
#
# temperature compensation on/off
lr_param.temp_comp 1
Compensation can also be activated using a write access to the CNC object via the GEO task:
TEMPC::is_active Index group = 0x120300, Index offset = 0x10041
Reference measurement
Before specifying the parameters of temperature compensation, a reference measurement must first be carried out using an external position measuring system. It determines the deviations of the axis positions between the internal and external measuring system at different temperatures.
Determine parameters
The parameters reference position, offset and coefficient can be taken from the measurement curves. The values at a given temperature can be set later from the curves. Temperatures that are not measured can be interpolated or extrapolated from the measured temperature curves.
If the virtual intersection of the approximated linear curves is chosen as the reference position, the offset is independent of temperature. In this case, only the coefficient must be reset for different temperatures.
Influence of temperature
The individual parameters can be set by the PLC depending on the current temperature. To do this, a corresponding temperature signal (sensor) is transmitted to the PLC which then derives the parameters from it.
Explicit activation in NC program
lr_param.temp_comp_manual_activation 0
- 0 (default): The CNC activates temperature compensation automatically as soon as the required preconditions are met (e.g. the axis is homed).
- 1: Temperature compensation must be activated manually in the NC program using the COMP command (see Section “Selecting and deselecting axis compensations in the NC program").
Compensation is deselected:
- at the end of the NC program
- at CNC reset and
- on release of the axis.
Change parameters
Each of the parameters can be changed by downloading the axis list:
kopf.achs_nr 1
#
# temperature compensation on/off
lr_param.temp_comp 1
# reference position
lr_param.temp_comp_position_0 100 [0.1µm]
# reference offset
lr_param.temp_comp_offset_0 40 [0.1µm]
lr_param.temp_comp_coefficient 4000 [µm/m]
#
In addition to the download option, there is also the option of writing and reading the parameters via direct access to the GEO task via CNC objects. For example, the first axis can be addressed via the following index group and index offset:
Monitoring and coupling/decoupling
The compensation values are recalculated for each interpolation cycle. If the change per cycle exceeds the given maximum axis acceleration, this change can be output filtered over multiple cycles.
For this the number of cycles of the sin² filter can be defined in the axis parameter list. By default, this is set to one cycle.
kopf.achs_nr 1
#
# Cycle of the sin² filter
lr_param.temp_comp_n_cycles 20
Display the compensation
In addition to the download option, there is also the option of writing and reading the parameters via direct access to the CNC objects of the GEO task. For example, the 1st axis can be addressed using the following index group and index offset:
TEMPC::is_active Index group = 0x120300, Index offset = 0x10041
TEMPC::is_active Index group = 0x120300, Index offset = 0x10042
Display the axis position
When temperature compensation is activated, the normal command and actual positions of the axis are displayed unchanged.
The corrections are only calculated and included before output to the drive bus and can therefore be viewed in the position values of the drive bus (dig_cmd_pos, dig_act_pos).