Hello Guest it is April 18, 2019, 11:16:48 AM

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, 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.  :)


Send me your Skype username to smurph at smcomp dot com and I will try contacting you tomorrow.  I'm in the Central time zone but I operate on the Pacific time zone hours.  :)  So don't expect an early session!


You may not know this, but you cannot access a PCI card from two different applications.  Run either Mach or Smart Term.  Not both at the same time.  Maybe that is causing it.  Also, if configuring the plugin is doing it, the code may not be PCI friendly.  It has been a LONG time since I ran a bus based controller.  If that is the case, try to get the config done to the point where you can run it without having to drop into the plugin configuration.  Once it is done, you will probably just run and run and run... 


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: April 30, 2014, 11:48:11 PM »
HIYA Steve M99 Pxx it is. When I tried the M99Qxx it just ignored it with NO error code and it just seemed to work. I do notice that there is liitle to no error codes in the gcode side it will take just about anything and just ignore what it does not know and go on without erroring out or wwrning you there is bad code.

Another item When trying to create a new program from edit Gcode you cannot open a new  file. You must first load an OLD program then edit and rename.

Also you say you can turn on comments in config but MY version does not have a mach config, it is greyed out and you cannot access it.

So the M99 question is answered then. 

As for the errors...  Don't produce bad code!  :)  All kidding aside the interpreter does not currently check M codes for sanity.  I will look and see what I can do there.

And I will address the editing of a new file.  I never even thought of trying to do that!  I always load up an existing file.  Someone asked what the point of this thread was earlier.  Well...  this is it!!!

We have done our absolute best to get Mach 4 ready with as few issues as possible.  Obviously we have spent a great deal of time on it and even suffered criticism as a result.  But there is no possible way we can cover all of the potential issues as many of them might not show up due to how Brian or I operate Mach.  Each user has their own way of doing things and that is the point of this thread.  To find those problems!

The G code editor file load might be file sharing violation issue.  Two editors open maybe?  See if you can nail that one down as I have not see that.

Disable the control and the Mach config will light up. 


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: April 30, 2014, 11:38:07 PM »
Can we expect conditional in the near future to make that useful.

We already have it.  Full Fanuc custom macro B with full G65 and G66 support as well.  It is a Mach 4 Industrial feature.  Not part of Mach 4 Hobby as Mach3 never had it.  However, it is turned on in the Beta build if you want to try it out.  SETVN and gcode labeling of subs is not finished yet.  Passing an E address as a parameter to a G65 is not legal either as we use E as scientific notation.

One thing to note is that CV is NOT interrupted with the conditional statement.  So the conditions are evaluated at the point at which the look ahead processes them.  So if you want the condition to be evaluated in sync with the machine run, then you must use an exact stop preparatory code right before the conditional statement.  That is the mode that we are currently using.  This mode has advantages in producing smooth movement with calculated moves.  The other option is that all conditional statements will break the CV chain ensuring that the evaluations are always synced with the machine run.  This mode is not used at this time and favors code path switches based on external inputs.  I will possibly make a switch so that a M code can control which mode.  But for now only the first mode it supported as I feel it is the most flexible because you can control when the evaluation happens with exact stop.

IF [condition] GOTO <seqnum>
IF [condition] <statement>
WHILE [condition] DO<level>

We support the standard 3 level nesting.

HIYA Steve, while you are looking at teh exscape sequence could you take a look at the values entry sequence ? As is on a line say tool #3 when you enter in a value an press ENTER it skips DOWN to the next Tool # line instead of to the right in order to finish adding values for THAT tool #.

It makes it very clumsy to add tool /fixture parameters as after each entry you then have to shift back up then move over to the right in order to add the next tool parameter.

I tested the M99 P## earlier but it stuck in the loop over and over in the sub call BUT the M99 Q seemed to work ok. Maybe I muffed the test somehow I will go back and retest the sequencing again.

The entry sequence in the grid is controlled by the window framework.  I can't change it.  I have already tried.  :(

Let me know the results of your M98/M99 test.  Because I had that working flawlessly at one point.  Looking at the code, any Q address on the M99 will be ignored.  It is definitely looking for a P address.  Also, keep in mind that the M99 P address must refer to a sequence number in the calling program, not a line number.


The bottom line is that I think you will have the same issues even if you spent money on new drives.  The thing we HAVE to figure out is getting encoder input to the Galil and then tune the servo loop.  If we have a drive that will move with a command signal and encoders reporting back position info to the Galil, then that should be doable.  We just have to get there.

Is the PC hooked up to the internet where I could remote control it?  With you on Skype by the machine so that we could talk our way through some tests?


I wonder if there is a ground issue? The encoders are grounded to the mill frame as well as the ground I/O, but no other grounds are connected to the I/O. I dont see how it would affect the signals from the drivers????

The encoders should feed directly into the Galil.  Are they single ended or differential?


Where are you Steve?

I am in Virginia very close to Washington DC.


I'm in Alabama, near Birmingham.


Mach4 General Discussion / Re: Comments about Mach4 in Demo
« on: April 30, 2014, 10:22:11 PM »
HIYA Brian , looking at the fixture and tool tables I see that we can now use the keyboard to move around in the values windows to do updates to the values which is VERY GOOD  BUT I do not see a way to EXIT out with a mouse.

Also reviewing the G98/99 calls I see we can now GOTO a sequence line.  Can I assume the the sequence number is the LINE # ??

Can we expect conditional in the near future to make that useful.

Also the calls are not consistant.

M98 Pxx Qxx Lxx      Where Q calls the GOTO line #

M99 Pxx                Where P calls the goto Line #

Would it not be more consistant for the Q to be used in both cases to call the GOTO line#  ??

I think you can close the table windows with the standard ALT-F4.  But I will see if I can make it work with the Escape key.  Maybe I can make that work.  But we are getting into the weeds of the window framework there.  If it won't work across all platforms, I'm kind of stuck with the least common denominator.

I did the M98/M99 with the help and direction of a very experienced Fanuc programmer and the Peter Smid book.  I think it is correct.  But I will look at it.

Ok, I just checked.  There is no Q address for M99.  P it is.  Inconsistent, yes.  Incorrect, no.  The sequence number is defined by the N address, not line number.