From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to pause a contoured motion?

I'm using the NI-73xx palette to construct a contoured pattern. Everything works fine, but it won't be practical until I can get it to pause and resume exactly where it left off. I tried using the velocity override VI but couldn't get it to work. I think it's because contoured motion calculates the velocity for you, so you can't change it even if you tried to set it. Any ideas? Thanks!

0 Kudos
Message 1 of 6
(2,768 Views)

You are correct on both accounts: you cannot pause a contour move, and the velocity profile is calculated based on the generated trajectory. A paused move will not work because the deceleration will carry the motion beyond the generated trajectory. You could attempt to resolve the software location of the motor once the move is stopped to generate updated setpoints to mimic the original curve, but you won't be able to simply resume the same move.

0 Kudos
Message 2 of 6
(2,724 Views)
Thank you for your response. Is there an alternative for contoured motion that can achieve this? I would like to get a very smooth an precise curve, which is why I selected contoured motion, but I need to be able to pause the motion. The whole motion could take several hours to perform.
0 Kudos
Message 3 of 6
(2,719 Views)

I can't think of a way to simply pause any moves in the NI Motion API, but I would recommend looking into doing what I described above. Essentially, if a move gets stopped, programmatically update the buffer going to the contoured move based on the current stopped position. This will generate smooth motion while retaining the desired travel path. Besides a contoured move, there are no other options for "continuous" motion; the other move types are used as finite moves and trajectories.

0 Kudos
Message 4 of 6
(2,686 Views)

Karl,

 

I was thinking along the same lines as you. If the motion is stopped, stop the motion with the actual "Stop Motion" VI, store the contents of the buffer along with the rest of the data, and use the "Play Motion" VI to generate a new contoured motion whenever it is resumed. Does that sound optimal to you? Thanks again for your answers, they've helped a lot.

0 Kudos
Message 5 of 6
(2,680 Views)

That's the logic that I would use. Best of luck with your development!

0 Kudos
Message 6 of 6
(2,666 Views)