Hello Guest it is April 23, 2024, 08:08:28 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

1281
Galil / Re: Galil I/O Questions (17xx/18xx)
« on: July 03, 2012, 01:29:57 PM »
Marty,

1.  For swapping the amp enable from high to low or vice verse, take a look at: http://www.galilmc.com/support/appnotes/optima/note1415.pdf
2.  You have 8 uncommitted outputs on your 1740.  Outputs #1-8.  Just map the mach mist signal to one of those pins in "ports and pins".  No matter what voltage you choose on the outputs (depends if they are opto isolated on your ICM), I would use it to drive a solid state relay to control your pump circuit.
3.  Wire your estop to to the Galil Abort input.  See the docs on your ICM and controller for how it should be wired.
4.  This depends on your servo amps.  If the have an an enable circuit, then wiring them to the amp enable outputs on the Galil would be sufficient.  The plugin sends SH to enable the amps and MO to disable the amps.  However, you may want to wire a contactor into your estop circuit to kill main power when in estop.  
5.  Yes.  Limits for homes is possible.
6.  The aux encoder inputs are just for the A and B encoder signals.  Hooking up just a plain encoder is pretty easy.  However, if you are using one of the available MPG pendants that have an axis choice switch and an increment selector, then there is a little more to it.  The encoder signals go to the same pins on the aux encoder input, but you will need to route the selector switches to inputs (and you only have 8).  Then you have to write a brain to take those inputs and tickle mach the right way.  It gets complicated.  :(

Steve

1282
Galil / Re: Galil DMC2140 Help
« on: June 04, 2012, 03:36:40 PM »
Limit switches are a bit funny with the Galil.  It has to do with how the limit switches are wired.  If LSCOM is positive, then the limits will show active high (a 1 in the data record) when the appropriate limit is shorted to ground.  If LSCOM is negative, then the limits will show active low (a zero in the data record) when the appropriate limit is connected to positive.  Then, in the plugin config, you need to tell the plugin how the limits are configured (active low or high).  This actually sends a CN command down to the galil.  If this is not setup correctly, then you will not be able to jog off the limits.

1283
Galil / Re: Adding an A axis
« on: June 04, 2012, 03:21:10 PM »
Ok...  Mach will only use one motion device.  You cannot spread coordinated motion axes across two or more plugins.  For spindles, you can use any modbus device (Galil RIO) or any plugin that controls an analog output (Maybe PoKeys does this?).  The deal is that a spindle is not a coordinated motion axis in most instances.  Threading and rigid tapping excluded, of course.  So if you just want RPM control of your spindle, you have other options. 

For a feed type axis, you could also implement a motor with a VFD speed control.  Instead of using a Mach axis, you could do a special script M code that moves the feed motor at a certain speed. 

Steve

1284
Galil / Re: Galil Controller 41x3 Plugin
« on: June 04, 2012, 03:03:06 PM »

1285
Galil / Re: Galil dmc-4040 3-axis and/or 4th axis
« on: February 19, 2012, 01:07:49 PM »
You can disable the 4th axis in the Galil Plugin axis mapping config.  That is all that should be required.  With this, even if you sent A axis commands to Mach, it would do nothing on the Galil.

Steve

1286
Galil / Re: Galil controller compatability (what works with the plugin)
« on: February 15, 2012, 12:44:56 PM »
Hmm...  i would have though the hitting a limit, the Galil would have shut down the axis allowing no further movement in that direction.  Regardless of the movement type (jog or otherwise).  I don't have a controller setup to test at the moment.  The only thing I have left is a 1425.  I'll set that up and see if I can duplicate.

Steve

1287
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

1288
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

1289
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)>

1290
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