04-03-2012 09:36 PM
Hi,
I'm using an NI PCI-7356 board in LabVIEW with a servo motor. My concern is the following:
When I perform a sequence of blended moves using the absolute position operation mode, the motor will always return to the zero position (position of zero encoder counts) after performing the last move in a sequence even though this functionality is not specified in the VI. I tried using NI's example program "Sequence of Blended One-Axis Moves" and it does the same thing (the program actually exits when it reaches the final target position but the motor moves to the zero position before stopping). However, when I tried running the NI example "Sequence of One-Axis Moves (Onboard)" the program executes normally (motor doesn't return to zero unless specified to do so) even though it too uses absolute position operation mode.
What could be causing this?
Kind regards,
Thomas of GTPUMA
04-04-2012 06:38 PM
The two examples differ slightly. The former (Sequence of Blended One-Axis Moves) runs the motion through a while loop as the loop runs, while the latter (Sequence of One-Axis Moves (Onboard)) puts together a series of movements and then runs it after putting everything together. Which of these methods did you use to assemble your own program? Did you include a '0' at the end of the array? Do you have a "Stop Motion" VI at the end of your process? The reason this is probably happening in the former is that the last array element is '0', which indicates that the motor ought to move to 0. Is this the case, or did you change the last element's value?
04-05-2012 06:30 PM
I had written the program like "Sequence of Blended One-Axis Moves" but the example program itself also acted this way. Even when all the values in the array are the same, the motor will return back to its zero position after running. For now I have worked around it by writing an onboard program similar to the example.
Thanks,
Thomas of GTPUMA
04-06-2012 04:36 PM
This might be because if it does not return to 0, then during the next run, it will have lost what that '0' position is and can't go back to default. If you want it to stay, try to reset the position at that point.