Hello Guest it is September 21, 2019, 04:56:52 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - smurph

Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 08:40:15 PM »
Is MACH4 suspended while a SUB is running (as with MACH3 named SUBS) or is it still necessary to insert pauses/delays?

And as long as were on the topic, does MACH4 support named SUBS?

Mach 4 is not suspended.  But I'm not sure what you mean.

And by named subs do you mean the sub file named in the comment?  If so, then Mach 4 supports that.


Ain't it fun?  I can implement a Mach/Galil combo in my sleep now but I DO REMEMBER the first time.  All I can tell you is that it will all make sense AFTER you get it done the first time.  Until then...  patience.  The patience of a Saint!!!


And you are correct about the output numbers.  1-8 on 1st ICM, 9-16 on the other.


Oh wait...  Outputs not Inputs!!!  Hmm...  What kind of ICM?  Opto or not?  There is an application note on Galil's site that explains the output wiring.  It is different based on the OPTO option.


No reason for a new thread.  I'll see this one.  :)

You may have to invert the signal.  it all depends on the polarity of INCOM on the ICM.  INCOM == GND vs. INCOM == +V.  Try that and see if that gets you results.


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 02:08:56 PM »
Also, a word on sub programs.  We now have the capability of calling system subroutines that are external to the main program.  These subroutines should be placed in the <mach dir>\Subroutines directory with the filename of "O" plus the program number.  No file extension.  For example:

Program number 8000 should be named "O8000" and placed in the Subroutines directory.

Then "M98 P8000" or "G65 P8000" in the main program can call the system sub "O8000" in the Subroutines directory.  Loading the comment on the M98 line with a file name is no longer required (however, it is still supported).  You can't mix the two methods, obviously.  Meaning that if you use the P address on M98 to call an external sub, you should not also use the comment to define it.

There is no limit on sub nesting now.  Well...  the limit is your PC and whatever resources it has.  But we don't confine you to only 5 levels of nesting or the like. 

This is a standard Mach 4 Hobby feature!!! 

Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 01:56:29 PM »
Do you have a list of the Local G65 Parameters "A=#1 B=#2 C=#3 etc??

What Graham posted is what we use.  Standard Fanuc.  We won't get into mixing or shuffling them up for our own purposes.  We just reserve the E address because the interpreter will look at it as scientific notation.  When I get time, I may try and remove this restriction.  But for now, it is reserved. 

Most of the reserved addresses have a special meaning on the G65 line but they can be accessed in the sub.
E (Mach reserved) would be #8.  it will be loaded with NIL (undefined).
G (RESERVED SYSTEM WORD) would be #10.  It will be loaded with "650" as G65 is what called the sub!  This is how you can know if G65 called the sub or not.
L  (RESERVED SYSTEM WORD) would be #12.  It is loaded the the loop count from the G65 L address.
N  (RESERVED SYSTEM WORD) would be #14.  It is loaded with the sequence number of the G65 line (if provided).
O  (RESERVED SYSTEM WORD) would be #15.  It is not loaded with anything at the moment.
P  (RESERVED SYSTEM WORD) would be #16.  It is loaded with the program number from the G65 P address. (your called sub program number)


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 01:38:23 PM »
Hiya Steve here are a few more items that have a glitch.

1.  On arcs G2/G3 and the IJs are missing you get NO error it just skips over the line and proceeds.

2. On G16/15 functions it tries to process ARCS without an error message. G16 moves are strictly G0/G1

moves and the arc call should have errored out in stead of trying to run.

3.  In G84 it does not allow G95 mode UNLESS the spindle has the speed sensor working. The G95 mode with drilling and tapping is the perfered mode as it makes it easy to program the proper feedrate. AN option to run with the CALLED(programmed) Spindle speed is needed as Many kneemil type CNCs do not have a spindle index signal for rpm indication AND it is difficult to install one as they have split spindle shafts at the mid gearbox and the TOP shaft RPM is different that the actual spindle.

Occationaly I see A axis movement in gocde functions that do NOT have A axis movement code in them. SOmetimes it moves sometimes it does not move A axis. When it does move it is just a very slow creeping move.

1.  I thought we discussed that already.  G02/03 are modal commands.  It is perfectly legal to not have ANYTHING on the same line as G02/G03.
2.  Brian addressed this.
3.  I'll look at the G84/G95 thing.

I have not seen the A axis issue.  I will try and duplicate this.  Do you have code that will reproduce this?

Also...  I'm hard at work right now working with the DROs.  Including a popup keypad that will benefit touch screens as per Dan13's suggestions.  However, we are constrained with what can be done in a lot of the screen controls because we have to program for the least common denominator across all platforms.  Making the DRO highlight all with one click is proving to be quite a challenge!


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 03:00:26 AM »
The reason you waited 10 years is because it was not easy!

I will check it out.


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: May 01, 2014, 01:45:31 AM »
G02 with no I or Js is perfectly acceptable.  It is a modal command.  Consider:

X.. Y.. I.. J..
X.. Y.. I.. J..
X.. Y.. I.. J..
X..  Y..


G02 F30  (switch to G02 mode)
G01 X0 Y0 F30 (switch to G01 mode.  Previous line ends up as a no op)

Got any more?  There might be some and I would like the know as I'm not ever using all of the G codes.  I tend to use CAM because I'm lazy.  :)