Hello Guest it is April 18, 2024, 07:13:59 AM

Author Topic: G-Code execution halts  (Read 11003 times)

0 Members and 1 Guest are viewing this topic.

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: G-Code execution halts
« Reply #10 on: September 09, 2009, 09:25:13 AM »
I noticed looking at your XML that you have a couple of Brains running. What do they do? Did you move them over too? It looks like the combination of calling a macro followed by a pause might be the problem. I wonder what would happen if you put in some Gcode between the macro and Pause? It would not really be needed but it would cause Mach/SS plug-in to get into a 'Gcode finished' state before entering the pause. See the example below.

N30    T0101                       %(Set front tool)
N40    M801                         %(Be sure Tailstock is retracted)
N50    G0 Z-69.4   X40.0
N60    M3                             %(Spindle On)
N70    M800                         %(extend Tailstock)
N80    G0 Z-69.4   X40.0        %(***Do nothing***)
N80    G04    P1000               %(Dwell 1000 milliseconds)
Happy machining , Jeff Birt
 
Re: G-Code execution halts
« Reply #11 on: September 09, 2009, 03:40:49 PM »
> Posted by: Jeff_Birt  

> I noticed looking at your XML that you have a couple of Brains running. What do they do?  

TomsBrain.brn...
I have two push-buttons wired to Inputs #1 & #2. The buttons are Active Low.  The first button executes "FeedHold"; the second button Executes "CycleStart".  The third item in this file monitors the state of OemLED(853)  OemLED(853) Is toggled with a user-entered button through a vbStript...

If GetOemLED (853) Then
DeActivateSignal (OutPut4)
Else
ActivateSignal (Output4)
End If  


Output4 is wired to a relay which operated the tailstock extending.
In addition to the toggle function above.
Macro M800  Turns OemLED(853) "on"  which extends the Tailstock
Macro M801  Turns OemLED(*03) off, which retracts the Tailstock

Fishey Huh?  This is all tied to where my program execution gets hung up.  Hmmmm...


The other Brain...  I have no idea what this was... I removed it.

« Last Edit: September 09, 2009, 03:44:40 PM by TunerTom »

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: G-Code execution halts
« Reply #12 on: September 09, 2009, 05:14:23 PM »
I would try getting rid of both Brains and change your macros 800 & 801 to directly manipulate Output 4 to extend/retract the tailstock. That will eliminate any possible interaction with Brains.
Happy machining , Jeff Birt
 
Re: G-Code execution halts
« Reply #13 on: September 14, 2009, 04:43:11 AM »
Hi Jeff,  Thanks for your patience...

It took me two days to try your latest suggestion.  I decided to bite the bullet and reformat the hard drive on my PC at home (where the plotter and the Smoothstepper board is being tried out) and reinstall Windows and only my essential applications here. With that done, I reinstalled Mach3 and the Smoothstepper software & driver.

Now, there are NO brain files in this setup. As I said earlier, I added a push-button and LED to the "Cycle" screen. The purpose of this is to be able to extend/retract the tailstock manually by clicking the button. Click the button the first time and the LED {oemled(853)} lights up... push the button again and the LED goes off.  This works properly. Then I wrote a simple vbScript to monitor the state of the LED and turn Output(4) "on" whenever the LED is illuminated....

RowlandLathe.m1s...
   If GetOEMLED(853) Then
      DeactivateSignal(Output4)
   Else
      ActivateSignal(Output4)
   End If

Then with Hood's help, he explained how I make a vbScript function as an M-Code, by simply naming the files using the M-Code numbers I wish to use.  They are...

M800.m1s...
   ActivateSignal(Output4)

M801.m1s...
   DeactivateSignal(Output4)


Now, the button I added toggles the OEMLED(853),  on & off as expected.  I have a physical LED on the plotter that indicates whether or not the tailstock is extended. The plotter's pen has a solenoid that raises/lowers the pen.  The pen is associated with the Lathe Spindle motor. So the plotter "draws" only while the spindle is "on" and the tailstock LED on the plotter is lit, only when the tailstock is supposed to be extended.  This is just perfect for debugging profiles before taking them to the lathe.

In Mach3 in Manual Mode, if I enter an "M800", Output(4) blinks (debug screen) the OEM LED lights up, and the physical LED on the plotter lights up...  PERFECT!

If I enter "M801", Output(4) on the debug screen goes off and the physical LED on the plotter goes out.

If I repeatedly click the User Button I added to my screen the OEM LED toggles on/off and the Output(4) LED on the debug screen follows accordingly as well as the physical LED for the tailstock on the plotter.

So now I try the G-Code file. The file executes through the first "M801" and it works just fine.  This first "M801" was intended to ensure the tailstock was retracted until after the spindle is turned on.  This one works. If I start the profile with the tailstock extended, it will retract as the first "M801" is executed, and program execution continues on. If I start the program with the tailstock already retracted, execution still continues on past the first "M801" line

Now (and this happens every time) when the program gets to the M800 Line, The tailstock extends (LED on the plotter turns on) and then DWELL comes "on" and remains on. The program is stuck with a DWELL If I click the [Cycle Start] button the DWELL stops and execution continues on its own until it reaches the remaining "M801" near the end of the profile. The tailstock retracts and once again,  execution is stuck  with a stuck DWELL. I click [Cycle Start] and the profile completes the reaming couple of lines.

Do you think there is a possible conflict with the vbScripts?

If I disconnect the Smoothstepper and connect my PC's parallel port directly to the plotter, executing this profile works without getting stuck.
« Last Edit: September 14, 2009, 05:49:05 AM by TunerTom »