Description
Point of action
The compensation is added to the axes in the position controller. The dynamics of the movement were already pre-calculated there. Therefore, the compensation should not produce any large position jumps since they are not dynamically adapted.
Limit values for acceleration and maximum offset value must be set for individual axes to prevent overloading the motors with excessive offsets or to avoid violating dynamic limits. The CNC then checks the offsets calculated by the compensation before passing them on to the motors.
Application
More complex models may be required to compensate machines with highly complex kinematics. However, the NC kernel does not currently support this.
There are many different methods to compensate industrial robots in order to obtain the most accurate behaviour possible when executing a movement. This is possible by using precise kinematics which can map the exact mechanical properties of a robot. This type of information is generally not available from the manufacturer.
Besides the manufacturers themselves, there are also providers of other measurement techniques that improve the position of the machine. In order to add a compensation to the NC kernel, a special interface was developed to permit the addition of an externally implemented compensation.
Adding a user-defined compensation in TwinCAT 3.1
In TwinCAT 3, a compensation can be added to the CNC via the TcCOM infrastructure.
An external compensation is a user-defined compensation that is implemented outside the CNC environment. The compensation is called from the CNC context. The compensation receives the next axis position and writes the calculated offset back to the CNC:
The compensation always transfers the positions of all axes. This allows axes in different channels to also be compensated by the same compensation. The CNC has little control over the compensation function.
Additional information provided with the axis positions are positive and negative software limit switches.
Notice
The compensation must ensure that the offsets are continuous so that there are no excessive position jumps. In addition, the offsets are not part of the path preparation of the CNC. The dynamics are not adapted for use of the offsets.