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

801
Galil / Re: Galil controller compatability (what works with the plugin)
« on: January 20, 2012, 05:53:47 AM »
Make sure that the GalilDebug.txt file is turned off in the plugin.  It could be that!  A 300000 line Gcode program may create a HUGE debug file.  And the bigger the file, the longer it takes to seek to the end and write a new line.

I'm really grasping at straws here because I don't know where else to go.  If that doesn't help you out, I'm afraid I have no more suggestions.  :(

Steve

802
Galil / Re: Galil controller compatability (what works with the plugin)
« on: January 18, 2012, 05:35:59 PM »
Something must be going on with your machine.  All indexing and other OS functions (Automatic updates, etc...) that burn CPU must be turned off.  Look at this link and see if there is anything that needs to be done.  http://www.machsupport.com/downloads/XP_Optimization.txt

Others are reporting success with the improved timeout handling.

Steve

803
Galil / Re: Slave axis travels faster during homing on DMC-4143
« on: January 16, 2012, 06:21:42 PM »
Ok..  Gantry homing is somewhat of an issue for me because I don't have a machine with a gantry.  But here goes anyway.

First, in the general config, don't home slave with master.  In other words, we want Mach to just home the master axis.  The slave axis should move with the master as the Galil has them geared together.
Second, in the Galil plugin, select "perform axis squaring".

What this should do is home the master axis while moving the slave axis along with it.  Once the mater is homed, the plugin will home the slave if axis squaring is selected (it should be near the home switch at this point anyway).

So try that out and post the debug file if you continue having problems.

Below is what your debug file should look like.
Code: [Select]
FL 2147483647,2147483647,2147483647,2147483647               Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
BL -2147483648,-2147483648,-2147483648,-2147483648           Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
AC ,250000                                                   Slots=000  Response=":"  <HomeAxis(1)>
DC ,67107840                                                 Slots=000  Response=":"  <HomeAxis(1)>
JGB=8332                                                     Slots=000  Response=":"  <HomeAxis(1)>
BG B                                                         Slots=000  Response=":"  <HomeAxis(1)>
JGB=0                                                        Slots=000  Response=":"  <Update() FINDSWITCH>
ST B                                                         Slots=000  Response=":"  <Update() FINDSWITCH>
JGB=-833                                                     Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
BG B                                                         Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
JGB=0                                                        Slots=000  Response=":"  <Update() ROUGHHOME>
ST B                                                         Slots=000  Response=":"  <Update() ROUGHHOME>
JGB=0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
ST B                                                         Slots=000  Response=":"  <Update() SYNCSTATE>
AC ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
DC ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
DP ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
SH B                                                         Slots=000  Response=":"  <DoHoming() SYNCSTATE>
GM ,,,0                                                      Slots=000  Response=":"  <Slave(1, 3, false)>             //Uncouple the slave from the master
GR ,,,0                                                      Slots=000  Response=":"  <Slave(1, 3, false)>             //Uncouple the slave from the master
FL 2147483647,2147483647,2147483647,2147483647               Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
BL -2147483648,-2147483648,-2147483648,-2147483648           Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
AC ,,,250000                                                 Slots=000  Response=":"  <HomeAxis(3)>
DC ,,,67107840                                               Slots=000  Response=":"  <HomeAxis(3)>
JGD=8332                                                     Slots=000  Response=":"  <HomeAxis(3)>
BG D                                                         Slots=000  Response=":"  <HomeAxis(3)>
JGD=0                                                        Slots=000  Response=":"  <Update() FINDSWITCH>
ST D                                                         Slots=000  Response=":"  <Update() FINDSWITCH>
JGD=-833                                                     Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
BG D                                                         Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
JGD=0                                                        Slots=000  Response=":"  <Update() ROUGHHOME>
ST D                                                         Slots=000  Response=":"  <Update() ROUGHHOME>
JGD=0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
ST D                                                         Slots=000  Response=":"  <Update() SYNCSTATE>
AC ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
DC ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
DP ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
SH D                                                         Slots=000  Response=":"  <DoHoming() SYNCSTATE>
CS S                                                         Slots=000  Response=":"  <DoHoming() NO MORE HOMES>
GA ,,,B                                                      Slots=000  Response=":"  <Slave(1, 3, true)>                     // re-couple the slave to the master
GR ,,,1                                                      Slots=000  Response=":"  <Slave(1, 3, true)>
GM ,,,1                                                      Slots=000  Response=":"  <Slave(1, 3, true)>

804
Galil / Re: Galil controller compatability (what works with the plugin)
« on: January 16, 2012, 12:49:57 PM »
It's possible.  I have a few 1425s and I'll pound one to see if I can get it to choke up.  They are a little bit different than the Optima line.  I put the support in the plugin for them just because I had a few laying around.  But I didn't do any thorough testing with them.  Just got them talking.   I was planning to try using two of them with the distributed firmware (makes them a 3425) for a total of 4 axes.  I'm not sure that distributed mode will work for axes that need to be tightly coupled, but it might work for controlling a Z axis and spindle for a 2D mill type of setup.  Or a lathe that needs spindle control.

Steve

805
Galil / Re: Galil controller compatability (what works with the plugin)
« on: January 15, 2012, 04:36:40 PM »
Guys with timeouts, try this plugin: http://www.smcomp.com/~smurph/galil/Galil.zip

It handles timeouts in a more graceful manner.  It will keep trying to communicate to the controller until it becomes un-stuffed.  So your machine may pause, but it will recover.

Steve

806
Galil / Re: Galil controller compatability (what works with the plugin)
« on: January 13, 2012, 05:58:29 PM »
A timeout is well...  a timeout.  It really shouldn't happen.  The plugin sends a command to the controller and the controller should respond, success or otherwise.  But there have been a rash of this lately.  So I'm looking into it.  I had to run a large program for 16 hours on a Virtual Machine to get it to happen.  Meanwhile doing everything I could possibly imagine on the VM host to make life miserable for the VM.  But I managed to duplicate the condition.

I'll be updating the plugin on the download page shortly with a bit of extra code to try and handle timeouts more gracefully.

Swap File:  Looking at your logs, I see a problem with your timings too.  There are times > 200 ms between updates.  These should really be ~100 ms,  This usually means that something is consuming CPU to the point where Mach can no longer communicate with the plugin every 100 ms.  Or it could be indicative of a network communication problem where the response between the plugin and the controller is slowed to a point where Mach spends more time in the plugin than normal.

So with your slow timings and timeouts, I would check your network to make sure that nothing is interfering with the communication between the Mach PC and the Galil controller.  Do you have a hub or a switch that has other devices connected to it along with the PC and the Galil? 

Steve

807
Galil / Re: Galil controller compatability (what works with the plugin)
« on: November 19, 2011, 03:27:53 PM »
battwell,

Better get a bigger spring for that switch.  :(  Because I see no way to debounce a limit switch on the Galil.  If a limit is tripped, the the Galil AUTOMATICALLY issues a ST command for that axis.  :( 

novicemachinist,

Try this plugin: http://www.smcomp.com/~smurph/galil/Galil.zip

You do not need to register your controller with Smart Term with this plugin.  Only set the controller in the plugin config.  It should help your G code moves with you sin amps.

Steve

808
Galil / Re: DMC-41x3 supported?
« on: November 18, 2011, 10:30:12 PM »
Try this one out.  Your mileage may vary at this point.  :)

http://www.smcomp.com/~smurph/galil/Galil.zip

809
Galil / Re: DMC-41x3 supported?
« on: November 16, 2011, 07:02:27 PM »
The DMC41x3 controllers don't support a lot of the commands that the Optimas did.  They support the commands, but only in a program.  So you get a lot of errors in the GalilDebug.txt file.  I'm working on a plugin that fully supports the 41x3 controllers.

Steve

810
Galil / Re: Galil controller compatability (what works with the plugin)
« on: November 16, 2011, 06:59:36 PM »
Hmm...  Good question.  I know there are debounce settings in Mach, but whether they are handled in the PP driver or Mach is the question.  Maybe there are debounce stuff in the Galil that we could take advantage of?

I'll see what I can find out.

Steve