Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: Overloaded on November 28, 2012, 01:35:45 PM

Title: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 28, 2012, 01:35:45 PM
macro
   M999  DoOEMButton 1001 'Feedhold 

   Resume w/OEM Trigger 1000 (emulated)

Load this up properly and it is respected anywhere in the code on 2 PC's (simulating)

On the machine however, it blows right by the Feedhold as displays "Nothing to Feedhold".

Only thing I see different is the old PC on the machine.
Very basic set-up, runs very well (if you leave the mouse alone).
XP
Pent III
597 MHz
384 MB RAM
Mach 3.043.022

Is the PC most likely the culprit ?  Explain ?

Thanks
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 28, 2012, 02:15:37 PM
HUM have you tried dobutton(1) ?

On the 2 pc that you tried WERE they running the driver or strictly in sim mode with no driver loaded?

The message you are seeing says there was no motion from  a gcode program running at the time you pressed the button. WAS there motion ?????

The old PC is cutting it VERY thin of IF it would actually run complex code dependably.

(;-) TP
Title: Re: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 28, 2012, 05:04:37 PM
Didn't try (1) .... yet. Will tonight.
Drivers loaded ? One for sure, will check the other but am nearly certain it is also.
No motion at the time the macro is called ..... how could there be ? The Button press is called IN the macro.

sample example:
M999 (Feedhold, Pulse to PLC)
                     (DoOEMButton 1001 'FEEDHOLD)
                     (ActivateSignal OUTPUT1)
                     (Sleep 250)
                     (DeactivateSignalOUTPUT1) 

(Wait for OEM Trigger 1000 signal from PLC on Input pin to resume) 
                                               (emulated)
G0 
x35
M999 
x30
M999 
X25
M999 
x20
M999 
X15
M999 
X10
M999 
X5
M999
X0
M999 
X40.5
x40
M999
M47

Works perfect everywhere EXCEPT on the little ol' antique.

I tried M1 followed by M999 with just this in it: 
                     (ActivateSignal OUTPUT1)
                     (Sleep 250)
                     (DeactivateSignalOUTPUT1)   
and it seemed to work OK, seems there should be a better way.

Nothing complex here, very basic.
Newer pc's coming .... maybe.
Title: Re: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 28, 2012, 05:12:19 PM
on the old rig, it says Nothing 2 feedhold and keeps running.

The others stop, send the pulse and displays this:

Perfectly.
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 28, 2012, 07:34:50 PM
IF you use the Feedhold in the macro each time you do it and there is NO motion then you "SHOULD" get the message. UNLESS it is skipping over a group of code.

In the way you are using it you do NOT need the Feedhold code as there is NO motion to stop.

I would word the code this way.

'M999 Macro
ActivateSignal (OUTPUT1)
While Ismoving ()
Wend
Sleep(250)
DeactivateSignal(OUTPUT1)
While Ismoving()
Wend
END
Title: Re: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 28, 2012, 08:59:44 PM
I do not care about the message. It just needs to STOP at the M999 called Feedhold (or M1, or whatever) ... then RESUME when it gets the TRIGGER.
The OUT1 PULSE works fine. Your code pulses fine too, BUT it will NOT stop and wait for the trigger.

Did a new install (on desk pc, not on the machine) to be assured of the port driver. Now it says "Nothing to Feedhold" BUT it STOPS perfectly with the 1001 button call in the macro.

Must just be the tired ol' PC, huh ?
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 28, 2012, 10:56:11 PM
OK I now see where you are going,  try this.  It assumes that your incoming signal from the PLC is on input3. You can change that as needed.

It will HOLD the macro unitl it sees the input3 go active.

'M999 Macro
ActivateSignal (OUTPUT1)
While Ismoving ()
Wend
Sleep(250)
DeactivateSignal(OUTPUT1)
While Ismoving()
Wend
Do While Not isactive(input3)
Sleep(100)
Loop
End   


(;-) TP
Title: Re: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 29, 2012, 12:07:35 AM
Did you actually try that last code ?
Anywhere I put that M999, Mach usually hangs a Toolpath Gen., or if it DOES load it requires IN3 to start the file.
Most times when editing the file, upon reload Mach craps out, goes off screen and cannot be killed with the Task Mgr.
Gotta manually kill the PC.
Ignoring M calls while loading too.

Other than that ..... it works kinda good. ::)
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 29, 2012, 01:13:12 AM
Yep works good here, smooth as butter. BUT here I have lots of horsepower to make it smooth. I consider 1ghz as a min CPU for good operations with Gcode AND macros.

There are several OTHER ways to make it work, one may work better than others with low HP

I'll work up other ways to make it work.

(;-) TP
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 29, 2012, 01:24:37 AM
Try it this way , I wil try to work out a loop that does not HOG the CPU as bad.

'M999 Macro
ActivateSignal (OUTPUT1)
While Ismoving ()
Wend
Sleep(250)
DeactivateSignal(OUTPUT1)
While Ismoving()
Wend

 While Not isactive(input3)
Sleep(100)
Wend
End   
Title: Re: Nothing to Feedhold ... Old PC
Post by: Overloaded on November 29, 2012, 11:30:04 AM
That one seems to be much better.
Hope to try it on the ol' timer later tonight.

Thanks!
Title: Re: Nothing to Feedhold ... Old PC
Post by: BR549 on November 29, 2012, 01:10:15 PM
Let me know if you need further help, (;-) TP