Skip to main content

Kollmorgen Support Network

To better serve our Kollmorgen users with questions too complex to be addressed in this space, we made the painful decision to close this Community forum.

Please submit your question using the contact us form to reach our application engineering team.

For the immediate future, you can still access and read past posts.

Thank you for understanding and for participating in the community over the years.

Pipe Network homing used index pulse | 23 Mar 2015 | |

Pipe Network homing used index pulse

In a system that uses the pipe network, I would like you to tell me the homing how to use the index pulse of incremental encoder.
I want you to tell me if there is a function to observe the index pulse.

Comments & Answers

Joe Parks said ...

Joe Parks |

If you are using an absolute feedback device (sine encoder, resolver, SFD) then you can use the built in function block MLFB_HomeFindZeroAngle. This can be found in the function block library under Kollmorgen UDFBs > Motion/Pipenetwork > Homing

This function will not work with an incremental encoder, as the AKD drive does not know where the index pulse is when powering up and you need to rotate the motor in order to find it. We recommend using resolvers, SFDs, or sine encoders as they have higher resolution for better performance as well as the benefits of not having to physically move to find a zero angle.

You could write your own homing routine to find the index pulse if you are using an incremental encoder. You will have to use the DriveParamWrite or ECATWriteSDO function blocks that are found in the function block library under Field Bus > EtherCAT. These function blocks let you write to AKD parameters directly, and you can use the position capture engine on the AKD to return a latched position of the index pulse.

Parameters you might need to set are CAP0.MODE to select the value that you want to latch, CAP0.TRIGGER to change the source to 10 for Primary index (not the default to latch on one of the digital inputs), and write to CAP0.EN to enable the capture engine once all the parameters are set and you are ready to start your home move.

You can then command a one revolution move of this axis to ensure that you pass the index pulse. You can then use the DriveParamRead or ECATReadSDO commands to read back the CAP0.PLFB or the captured position value. It will be in drive units and not the user units selected in the KAS program, so you might have to do some converting. You can then call a MLAxisWritePos function found in the function block library under Motion/Pipe Network > Axis to reset the axis position to the the desired position you calculated based on the location of the index pulse

Daiki | Mon, 03/23/2015 - 23:42

Thanks your answer.
I use incremental encoder and DDL liner motor with RENISHAW.
I will challenge using the CAP0.MODE.

About this Question

Daiki
Taxonomy: