Compensation value lists
Storing compensation values
Data for the compensation processes
- Cross compensation
- Plane compensation
- Leadscrew error compensation
- Friction compensation and
- crosstalk compensation
are stored for each axis in so-called compensation value lists that are loaded when the controller starts up. It is also possible to update the lists at a later date.
Notice
It is possible to activate all the compensation processes for an axis simultaneously.
When you use leadscrew error compensation, it is recommended to include a possible backlash directly in the compensation table of the leadscrew error compensation (double-sided compensation P-COMP-00021).
Notice
As of CNC Build V3.1.3079.06 you can adjust the size of the compensation value lists.
Providing the compensation value lists
The following entries must be present in the start-up description [STUP] in order to signal the compensation table to the controller:
Variable name | Type | Meaning |
zahl_kw | UNS16 | Number of offset value lists |
achs_kw[i] | String | Name of datafile |
achs_kw_log_ax_nr[i] | UNS16 | Logical number of axis for which the compensation value list is valid. |
Programing Example
Excerpt from the start-up list hochlauf.lis:
:
zahl_kw 3
#
achs_kw_log_ax_nr[0] 1
achs_kw[0] ..\listen\achskw1.lis
#
achs_kw_log_ax_nr[1] 2
achs_kw[1] ..\listen\achskw2.lis
#
achs_kw_log_ax_nr[2] 6
achs_kw[2] ..\listen\achskw6.lis
:
Structure of the compensation value list
The compensation value list consists of
- a list header containing general data and
- the body of the list where the compensation algorithms are configured and containing the actual compensation tables.
List header
The list header is identified in the list by the structure variable kopf . It contains the following elements:
Variable name | Type | Meaning |
kopf.achs_nr | UNS16 | Logical number of compensation value list |
kopf.log_achs_name | String | Name of the axis, which is only used for diagnostic purposes |
Body of the list
The list body contains general data and the compensation tables. The entries in the list body are identified by the structure variable kw and frict_comp . It contains the following substructures for each of the compensation processes:
Variable name | Meaning |
kw.crosscomp. | Data structure for cross compensation |
kw.crosscomp2 | Data structure for plane compensation (2-dimensional cross compensation) |
kw.ssfk. | Data structure for leadscrew error compensation |
kw.crosstalk. | Data structure for cross compensation |
frict_comp | Data structure for friction compensation |
Updating the compensation table
The compensation table can be updated while the controller is running, provided the conditions for the effectiveness of a compensation are fulfilled.
Attention
After start-up, updating or re-initialisation, it is “almost” not permissible to command a rapid program start or exchange an axis without requesting axis positions.
First, the NC channel must be synchronised in relation to axis positions.