02-17-2015 02:45 PM
I'm using the NI Motion Controller to operate stepper motors on three separate axes. Somewhat unique to my application is that all of these axes are not perpendicular, which is what a lot of the NI examples assume. Axes one and two on the UMI are indpendently controlling two separate objects on the same physical axis. Axis 3 (on the UMI) is controlling a single motor that moves the first axis laterally.
As the program is set up now, I have a FOR loop operating the motion of these three motors. To accomplish this, I read in an array of axis positions from a text file (3 columns, nrows) and break each column into a 1D array of positions for each axis. The FOR loop steps through these positions until the end of motion is complete.
What I need to do is speed up the positioning of the motors. After each iteration of the FOR loop, there is a brief pause in the motion which can add up to a substantial time loss. I'm not sure if what I need to do is blend the motion on these axes or contour the motion of the motors. Essentially, I want to keep the motors from stopping all together and have smooth and continuous motion.
02-18-2015 06:12 PM
I would think contour move would be what you are looking for in this situation. If you use Blend move, you risk loosing some of your position points due to averaging and it may not fully execute a line correctly.