Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: rprichard on January 06, 2015, 08:53:07 PM

Title: Subroutines and passing parameters
Post by: rprichard on January 06, 2015, 08:53:07 PM
I just started playing around with Mach 3 and have have been trying to write a small G-Code program that uses a subroutine to generate a pocket.. Simple in concept.. Set the Z-Depth of the the routine to do the pocket "slice"..Set the next slice the subroutine.

Using Wizard I have a program that seems to work fine but If I load it into Mach 3 it chokes!...I am using the trial version right now. So I have two questions:

1. Are subroutines supported in Mach 3

2. I can't seem to set a local or global (volatile or non volatile) variable prior to each subroutine call and use it in the subroutine.. Any insight.. My code looks something like:
        M98 P02

        M98 P02
        end -main

        G0 Z10 (Safe Zone)
        G0 Xn Yn (move to pocket origin)
        G1 Z[#100] (drop down to the set level).

The G-Code language is quite archaic lying somewhere between BASIC and Assembly language.. Im quite surprised it hasn't evolved into a much more structured form.

Thanks in advance for any suggestions & guidance!
Title: Re: Subroutines and passing parameters
Post by: BR549 on January 06, 2015, 09:29:26 PM
Gcode is a motion control language in it basci form it doe NOT have logic. It is simple instructural code design to move a machine. It has evolve in some respects as to conditional Gcode . That has a basic logic incorporated.  It has not "EVOLVED" because it does not need to.

Yes Mach3 does subs to a limit. It does have some flaws to it.

IF you will post the working code we can review it and see what you have working.

(;-) TP