Compensation value lists
Storing of compensation values
The data for the compensation processes
- Cross compensation,
- Plane compensation and
- Leadscrew error compensation
are stored in so called compensation lists for each axis. This lists are interpreted during start up of the control or they can be updated at a later point of time.
![]() | It is possible, to activate for one axis all compensation processes (cross, plane, leadscrew error and temperature compensation) at the same time. |
Provision of the compensation table
The following entries must be present in the startup description to announce the compensation table to the control system:
Variable name | Type | Significance |
---|---|---|
zahl_kw | UNS16 | Number of compensation value lists |
achs_kw[i] | String | Name of the data file |
achs_kw_log_ax_nr[i] | UNS16 | Logical axis number of the axis to which the compensation value list is to apply |
with i as list index.
| |
If the compensation value list is configured by the TwinCAT System Manager, these entries are made automatically in the startup list. |
Example
Excerpt from startup list hochlauf.lis:
Excerpt from startup list
hochlauf.lis:
:
zahl_kw 3
#
achs_kw_log_ax_nr[0] 1
achs_kw[0] tc_...\achskw1.lis
#
achs_kw_log_ax_nr[1] 2
achs_kw[1] tc_...\achskw2.lis
#
achs_kw_log_ax_nr[2] 6
achs_kw[2] tc_...\achskw6.lis
:
Structure of the compensation table
The compensation value list consists of a list header in which general data is entered and the list body in which the compensation algorithm is programmed, and which contains the actual compensation table.
List header
The list header is identified in the list by the variable name kopf. It contains the following elements:
Variable name | Type | Significance |
---|---|---|
kopf.achs_nr | UNS16 | Logical axis number of the compensation value list |
kopf.log_achs_name | String | Axis name of the axis; is used only for diagnostic purposes. |
| |
If the compensation value list is configured by the TwinCAT System Manager, these entries are made automatically in the compensation list. |
List body
The list body contains general data and the compensation table. The entries of the list body are identified by structure variable kw.*. For the specific compensation processes it contains the following sub structures:
Variable name | Significance |
---|---|
kw.crosscomp | Data structure for cross compensation |
kw.crosscomp2 | Data structure for plane compensation |
kw.ssfk | Data structure for leadscrew error compensation |
Updating the compensation table
The compensation table can be updated with the control system in operation. The updated compensation table takes effect immediately provided the conditions for action are met.
| |
With reference to the axes positions the NC channel must be synchronized after start-up respectively actualization or reinitialization of a compensation. The subsequent instruction of a fast program start or an axis exchange without requesting axes positions ("FAST") is not allowed. |