Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Motor returns to zero position when using absolute position mode

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

0 Kudos
Message 1 of 4
(6,125 Views)

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?

Ravi A.
National Instruments | Applications Engineer
0 Kudos
Message 2 of 4
(6,112 Views)

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

0 Kudos
Message 3 of 4
(6,103 Views)

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.

Ravi A.
National Instruments | Applications Engineer
0 Kudos
Message 4 of 4
(6,094 Views)