Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: fxMach3 on August 26, 2018, 02:36:17 PM

Title: feedrate 0 during program run
Post by: fxMach3 on August 26, 2018, 02:36:17 PM
Hi guys,
i just read through a bunch of topics, but ... probably I am just too stupid :-) ... couldn't find anything regarding my problem:
We have 2 Mach3 driven wood cnc machines and a DMG and a HAAS for metal works.
At both metal machines I can do 2 things while a program (G-Code) is running:
1: Set the feedrate to 0, so the program "stops" but the spindle runs
2: Press pause, which causes an IMMEDIATE pause.

So I tried to setup any of the both options with Mach3, but somehow I do not find a proper solution.
If I override the feed rate in the feedrate DRO to 0, I get an error saying (cannot perform move with 0 feedrate) or similar
If I press pause, Mach performs the buffered moves before it stops (our wood CNC is 3m long...)
I know I can it the STOP button for an immediate stop, but there is no simple way to "restart" as (I assume) the path precalculation will also be interrupted and....there seems to be not option to automatically restart the spindle.

Hope this is written understandable enough :-)
Thanks for any help I can get.
Title: Re: feedrate 0 during program run
Post by: ger21 on August 26, 2018, 04:23:10 PM
Mach3 is a buffered system, meaning the moves are sent to the machine ahead of time. So there's no way for the feedhold to work like you want.
Title: Re: feedrate 0 during program run
Post by: fxMach3 on August 27, 2018, 06:46:03 AM

Thanks for your quick answer.
So, just to understand...how comes that a STOP works immediately then ?
Asking because when I hit STOP the driver (also a MACH component) stops immediately and it is sufficient to scroll back just one line and the system can continue, whereas the feed hold "buffer" seems to be at least multiple lines.
And (sorry for asking) if it is a buffered system...it should then be able to handle 0 Feedrate without throwing an error.
Title: Re: feedrate 0 during program run
Post by: TPS on August 27, 2018, 07:09:03 AM
tested on my PP test machine.
to put 0% in the feedrate override is no Problem.
Title: Re: feedrate 0 during program run
Post by: joeaverage on August 27, 2018, 07:21:23 AM
Hi,
a 'Stop' command aborts the buffer, whatever moves are in it are lost. The machine looses reference. To continue you need to re-reference and
dry-run to the line prior to that that was executing when the 'Stop' occurred.

Look on the Diagnostics Tab and you'll see the number of look-ahead lines. Typically about 0.2 to 0.5 seconds worth. You can reduce the buffer and
get less overrun on <FeedHold> but risk the buffer running out, at which Mach stalls, and probably the steppers stall so loosing reference.

Windows is not a realtime operating system and so you cannot guarantee that it will provide service/data at a given time or rate. There are realtime
operating systems which can be relied on to deliver service and/or data at given times but they cannot run Windows software.

Mach is one of the more successful attempts to get Windows (a non realtime system) to control a CNC machine which demands a realtime controller.
Buffering is one of the easier solutions, other methods are expensive which defeats the purpose of Mach.

Craig
Title: Re: feedrate 0 during program run
Post by: fxMach3 on August 27, 2018, 12:06:38 PM
ok, got it. Thanks for your input. Just one question to TPS: If I enter any value in the FRO, nothing happens at all. After hitting return, the previous value is back. I assume FRO is read only. Did you put 0 into the feedrate DRO ? And was the effect immediate like with Spindle Speed ? I just tried with the roadrunner.tap file. The error occurs. I tried the same with ball.tap. Error does not occur.
Title: Re: feedrate 0 during program run
Post by: fxMach3 on August 27, 2018, 01:13:53 PM
just tested with cross.tap. When I enter 0 into FR DRO I get the message "Cannot do G1 with 0 feedrate: Block = G1 X...."  and the program interrupts after a few lines. If I then enter a value > 0 into FR DRO the program still pauses until I hit Cycle Start. Strange: The FR DRO does accept values only with a huge delay or one better: If I enter 100 (cross.tap runs G1 with 5000) it slows down after some lines (probably buffer). Once a Gcode with F5000 occurs it keeps the 100 in the DRO even if the machine is running at 5000.  So...anyway...it seems I have to live with no immediate pausing. TPS: Thanks to bavaria from bavaria :-)... and thanks to the rest of you guys
Title: Re: feedrate 0 during program run
Post by: ger21 on August 27, 2018, 02:07:24 PM
Are you using the parallel port, or a motion controller? It could be an issue with a motion controller.
Title: Re: feedrate 0 during program run
Post by: fxMach3 on August 27, 2018, 02:20:31 PM
csmio/ip on the productive machine. But I ran the last tests (previous posts) on a parallel port machine
Title: Re: feedrate 0 during program run
Post by: TPS on August 27, 2018, 02:39:02 PM
just read what i have written!?

not the fro dro, the override fro dro,smal difference.
Title: Re: feedrate 0 during program run
Post by: fxMach3 on August 28, 2018, 12:35:03 PM
i read it.
fro = FeedRateOverride DRO. What is the overide feedrate overide dro ? OEMCode ? Screenshot ?
Title: Re: feedrate 0 during program run
Post by: TPS on August 28, 2018, 01:16:26 PM
see attachment

dro 21