User Specific Transformation - How to...

WARNING

Avoid Online Change

When doing an Online Change in combination with user specific kinematics there might occur discontinuities on C++ side. Therefore, an online change should generally be avoided. Note the chapter “Quickstart with Online Change”.

ITcNcTrafo

Step by Step Manual for how to Integrate own Kinematics with TF511x

Start with an empty TwinCAT Project.
1. Add a C++ Object.
User Specific Transformation - How to... 1:
2. Select a TwinCAT Driver Project or a TwinCAT Versioned C++ project.
User Specific Transformation - How to... 2:

Versioned C++ Project

A Versioned C++ Project can be used from TwinCAT V3.1.4024.10 for user specific kinematics.

User Specific Transformation - How to... 3:
3. Select a TwinCAT Module Class.
User Specific Transformation - How to... 4:
User Specific Transformation - How to... 5:
4. Select the TMC Editor.
User Specific Transformation - How to... 6:
5. Add the ITcNcTrafo interface.
User Specific Transformation - How to... 7:
6. Add kinematic specific parameters (arm length, displacements, etc.).
User Specific Transformation - How to... 8:
User Specific Transformation - How to... 9:
7. Run the TMC Code Generator.
User Specific Transformation - How to... 10:
8. Add a header. <ProjectName>Interfaces.h requires an include statement, additionally. Also add TcNcKinematicsInterfaces.h.
User Specific Transformation - How to... 11:
9. Implement the methods Forward, Backward, TrafoSupported and GetDimensions. These methods have to have a valid implementation and are automatically placed at Source Files\<TrafoName>.cpp.
User Specific Transformation - How to... 12:

E_NOTIMPL

The default return value E_NOTIMPL of the methods Forward, Backward, TrafoSupported and GetDimensions using the kinematics leads to error messages and really has to be overwritten.

10. Build and publish the modules.
User Specific Transformation - How to... 13:
11. Configure axes in the MOTION subtree and add PTP axes.
User Specific Transformation - How to... 14:
12. Add user specific modules (Channel).
13. Reload the TcCom objects by pressing the Reload button.
14. Select your transformation object and confirm your choice by pressing the OK button.
User Specific Transformation - How to... 15:
15. The transformation group has to know which root module is to be called. This is why the object ID of the kinematics (in this case MyFirstTrafo) has to be selected. The kinematic object defines the number of ACS axes and MCS axes to be used in the PLC (see ST_KinAxes).
User Specific Transformation - How to... 16:
16. Parameterize the object parameters according to the kinematics used. Once this is done, the XAE configuration is complete.
User Specific Transformation - How to... 17:
The transformation can now be activated via the PLC (see PLC Library). To actuate the transformation define a cyclic channel interface in the PLC and link it with the IO of the kinematic channel.
in_stKinToPlc      AT %I*     : NCTOPLC_NCICHANNEL_REF;
out_stPlcToKin     AT %Q*     : PLCTONC_NCICHANNEL_REF;
User Specific Transformation - How to... 18:

Customer Specific Kinematic

The function block FB_KinCalcTrafo cannot be employed for transformation that have been set up on one’s own.