Hello Guest it is April 19, 2019, 01:00:59 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: Setting Spindle Speed Range
« on: May 27, 2016, 06:50:43 PM »
This is usually done with M41 and above.  But it is REALLY machine specific (manual, automatic, number of ranges, etc..)  so we don't provide any scripts for it.  For example, a Haas only has low high gears on the spindle, thus, they only use M41 and M42.

You will have to create M41-46 macro scripts on your system that does the right thing.

Called in G code like this:

M41 (select spindle range #1)

If the spindle ranges are set manually, you will want the machine to prompt you to change ranges.  Also, a bit of code to check if it is already in the correct range might be nice to keep unnecessary prompting from happening.  


Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: May 26, 2016, 10:20:25 PM »
Unfortunately, it is difficult, not tested, and not documented.  :(  So it is not ready.  And I don't know when we will get to it.  We have to prioritize.  :(

If there is no tool path, the regen never completes and leaves the core in a mode where M codes are not processed.  The reason for this is we obviously don't want to run M codes while generating the tool path.  We are expecting a tool path to be there.  After the initial run of the loaded G code, the initial tool path update is what clears this state.  A workaround for this would be to simply drop a tool path on the screen somewhere and set its properties to hide it. 

Regen on a tool path is not the same thing as resetting the control.  Reset will put the control in the default state.  As Allen stated, regen is only used after an origin change.  It does nothing else and it is up to the user to do this.  It will not reset the rapid speed.  If you are using a rapid override, then you are also the one that needs to reset it.  Now, this can be done in a script on the regen button (or the reset button for that matte) if that is how you want your machine to operate. 

If the M6 is locking up, then there is a problem in the M6 macro or the motion controller plugin getting stuck in a bad state.  :(


Galil / Re: "galil card not connected"
« on: April 07, 2016, 11:03:20 PM »
That is explained on the plugin download page.  ST is short for Smart Term.  The old driver suite from Galil. 

Galil / Re: Upgraded to win7 on PCI system - now weird VFD behavior
« on: April 07, 2016, 10:35:42 PM »
Basically, that error suggests that the controller is not being fed information fast enough.  If your computer is running very slow, then that is going to be the cause.  So...  why is the computer running slow?  It may be that you installed the parallel port driver?  Maybe Mach 3 is trying to communicate with it?  I simply do not know what that might be.


Sounds like it is coming along!!  Anymore progress Mike? 

Mach4 General Discussion / Re: Adding external push buttons
« on: April 06, 2016, 11:30:42 PM »
A pot would most likely have to be hooked to an analog input on some hardware.  Not sure if pokeys does this or not.  Most devices will export the analog input as a register.  Depending on the analog input's resolution.  One might expect a 0 to 1023 value in the register from a 10 bit analog input.  You would then need to apply a ratio to that to make the values fall within the range of say the feed rate override settings.  So the task then becomes:

1. read the analog register.
2. convert to a proper value.
3. call the API function to set the value.

This is done in the screen's PLC script with the Mach API and LUA scripting.


Galil / Re: Upgraded to win7 on PCI system - now weird VFD behavior
« on: April 06, 2016, 07:28:21 PM »
Wow...  That is a weird one!

All the check box does is control whether or not to use a JG command or an OF to run the spindle.  It does no other magic. 

I assume that your spindle does not use an encoder.  If that is the case, then the KP, KI, and KD parameters for the axis driving the spindle all need to be set to 0 and burned with the BN command.  Otherwise, you need to have proper PID values to use an encoder.

Maybe your previous card had the PID set to zero and you new one doesn't.  That is the only thing I can come up with. 

Hello Steve, just a quick question, I have a Hardinge HNC lathe with a Galil 2130 running a VFD and have it working without the encoder, but how do I tune the (and get the P.I.D Values) so that I can use the encoder that I have on the spindle...it's a 2500 PPR quad encoder 1-1 on the spindle? The encoder is properly wired to the Y(B) axis that sends the 0-10v to the VFD also this encoder has index..does that help anything? hoping I can try threading!

-Roo Trimble...BTW: to see a lot of fun Mach-created widgits take a look at the little car that I bulit...www.roopod.com   Thanks in advance!

First, the VFD must be able to run like a servo drive.  In most cases, this means that it can accept a +-10v command signal AND allow disabling on its internal PID control loop.  This allows the Galil to run the control loop.  Then you set up the PID values in the Galil.  You cannot have two control loops running!  That is a PID fight.  Much worse than a cat fight.  :)  As to what values to use for PID in the Galil, that is very VFD/motor dependent.  And it is NOTHING like tuning a table load for a servo.  Galil has an application note that explains some of the peculiarities. 

If the VFD has a setup that shows the internal PID values, you can then use those to figure the ratios between P, I, and D, but the actual numbers will be different on the Galil.  If the VFD can't disable its own PID loop (very common, unfortunately), you are then stuck with the unenviable task of trying to match the PID loop on the VFD to the one on the Galil EXACTLY to avoid a PID fight.  Not easy to do.  But people get lucky sometimes...

Second, only Kenny has threading working on his lathe.  And it was a HUGE task.  Not for the feint of heart.  It evolves writing a Galil language routine that runs on the Galil, a modified 1076 macro, and Notifies setup to poke values down to the Galil.  The index pulse can be used to sync the thread.  However, it is just a blip on the radar and Kenny had to run that index pulse into a one shot timer to extend the signal beyond 4ms.  The output of the one shot timer is then wired to two GP inputs (the position latch inputs 1 and 3) to "start" the threading routine that is running on the Galil.  The Galil routine should be modified to reflect the counts per unit of the machine. 

The details and files required for this are here: http://www.smcomp.com/~smurph/exes/MachGalilThreading.zip.  However, you are on your own to get this working.  Kenny and I are too busy to provide any kind of support in this realm. 


Those properties are available with an Industrial or Expert license.  If in demo mode or Hobby license, they are not available.  If you have an industrial or Expert license, there is a checkbox in the General tab of the Mach config labeled "Use Advanced GUI Controls?" that enables or disables these properties as well.  


Mach4 General Discussion / Re: How to programing C# with Mach4
« on: March 02, 2016, 03:57:59 PM »