Hello Guest it is December 06, 2024, 12:06:09 PM

Author Topic: Problem when stopping execution  (Read 11672 times)

0 Members and 1 Guest are viewing this topic.

Problem when stopping execution
« on: April 01, 2010, 12:33:32 AM »
I had this problem many times. I would like to know if everybody has the same issue or am I doing something wrong.
I have a smoothstepper running my router.

Lets say that I have my machine references and zeroed and I start the program execution. I notice that something is going wrong and cant wait for feedhold to compelte so I push STOP (not e-stop button, just stop) in the middle of a move. The machine stops immediately, but all references are lost. My zero position is lost, and machine coordinates are no longer valid. I can even trip into a limit switch if i jog.

My guess is that this happens because the stop tells the SSto halt immediately, but SS does not communicate back the exact position where it stopped so Mach does not know wjere it stopped.

Is this a known issue? Can it be solved?

Thanks

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
Re: Problem when stopping execution
« Reply #1 on: April 02, 2010, 09:36:54 AM »
Stop is basically the same as an E-Stop whether it is with the parallel port or Smoothstepper. Mach stops the pulses immediately and as it is open loop it has no way of knowing exactly where the axis is as it is most likely the axis has moved on a bit with the momentum.

Hood
Re: Problem when stopping execution
« Reply #2 on: April 02, 2010, 01:38:07 PM »
Thanks for your answer Hood.

If that is the case, maybe thats not the kind of stop I need, neither feedhold that is far too slow because it empties its queue before stopping.

Can a stop be implemented that deaccelerates the current move in a fast but controlled way?

Doesnt mach know at every time the pulse count it has sent to a motor or there is some hardware limitation I dont know?

Thanks

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
Re: Problem when stopping execution
« Reply #3 on: April 02, 2010, 01:59:26 PM »
Mach knows how many pulses it has sent out but it does not know if the motor has moved that amount or if its moved less or more. Pressing the Stop will likely lead to the motors moving on so Mach has no way of knowing that and neither does the SmoothStepper.
 You can speed up the response of the feedhold with the SmoothStepper by increasing the controller frequency but how much you can increase it to will depend on how good your USB communication  is, I have  run at 4KHz with no issues but decided to drop back to 2KHz as the feedhold is plenty fast at that with my setup.
Hood
Re: Problem when stopping execution
« Reply #4 on: April 02, 2010, 02:06:40 PM »
I tried that, but even with a higher frequency the feedhold will complete its queue or at least the current move, that may be long.
Why cant it just deacccelerate the current move as fast as possible stopping to a know state and then on resume doing the whole move again if neccesary?

Offline Hood

*
  •  25,835 25,835
  • Carnoustie, Scotland
Re: Problem when stopping execution
« Reply #5 on: April 02, 2010, 03:17:36 PM »
Certainly doesnt take long for me at 2KHz, well under a second and it doesnt wait until a move is finished.
What revision of plugin are you using also what rev of Mach.
What kind of machine do you have?
Hood