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

Galil / Re: Problems with losing position
« on: March 01, 2014, 12:29:24 PM »
No, it has not been updated.  I will have to build a full release and get the web gods to comply with a small sacrifice of some inanimate object.  :)

Galil / Re: Problems with losing position
« on: February 13, 2014, 07:21:33 PM »
I'm running Version R3.043.062.  But I'm sure the newest Mach3 Rev. would also work.


Galil / Re: Problems with losing position
« on: February 13, 2014, 12:08:27 PM »
Yes.  But you can only be assured it works with XP32 and Smart Term.  :(  XP is a bit long in the tooth these days and MS will drop support for it in 2 months!  But if you get a machine that is stable with it, you should be able to run Mach3 on XP for quite a while.  Just remember that if something goes "poof", you will have a hard time getting it replaced as compared to just buying a new PC and going from there.  Most new PCs don't even have the good 'ol PCI slots anymore.  :(

I recommend any Ethernet controller.  21x3, 21x0, 22x0 for the older ones.  41x3 and 40x0 for the new ones.  The new controllers are really fast.  They take input from the command line approximately 10 times faster.  They also have a new motion mode called PVT (vs. linear interpolation) and can also use contour mode.  Ethernet will be around for a really really long time.  And it requires no driver from Galil that may become antiquated by new Windows versions or hardware changes.


Galil / Re: Problems with losing position
« on: February 13, 2014, 12:25:34 AM »
I posted this in another thread, but this thread that is the only one getting any action so I am going to ask again here.

I am setting up a new dedicated computer now for Mach3 . I was able to pick up an Optima 1830 Pci
I had some new unused parts available even though they are dated by todays standards.

Intel q6600 Gigabyte board 500 gb 4gb DDR3 1600 ram 750 Watt Power Supply

So I can now run a faster computer than the one with my Galil ISA card

Do I install Smart term still or the new galil Suite?


What OS?  Smart Term only works up to XP.  Anything newer and you will have to use Galil Tools and the non Smart Term Galil plugin.  This MAY work for you.  I just have never tested it.  In any case, stick with a 32 bit OS as the code in the Galil plugin has a better chance of working with that.  I have tested the Galil Tools based plugin with a 18x6 Accelera PCI controller and it worked.  But I have no Optimas or Econos to test with. 

The no nonsense combo that WILL absolutely work is Windows XP32 with Start Term (version 7) drivers. 

Just a heads up...  For the future, I am thinking about dropping support for all bus based controllers.  This is not a decision I took lightly.  And I actually haven't decided yet.  But it is getting increasingly harder to support the bus based controllers.  Namely because I don't have one of each (and they all act a bit differently with data record retrieval) and my latest PC doesn't even have a regular PCI slot!  Conversely, nearly ALL PCs have Ethernet cards in them and the Ethernet cards all work the same.

That and the fact that I don't believe Galil even plans on releasing another bus based controller.  Meaning PCI-e is not in the cards.  :(

Just something to think about...


Galil / Re: Problems with losing position
« on: February 13, 2014, 12:11:49 AM »
Nice!  I'm glad it works for you! 

Galil / Re: Problems with losing position
« on: February 11, 2014, 12:42:28 AM »
The communication between Mach3 and the Galil is handled by the the plugin.  No serial.  Only Ethernet or bus.  Serial is too slow.

Galil can output Step/Dir for steppers or position controlled servo drives.  It will also do analog out for analog command servo drives.  Your choice per axis.  However, step/dir has no feedback loop, so you loose that!  It is no better than any other stepper system.  To use the Galil to it's full potential, it requires that the encoders are connected to the Galil and analog commands are sent to "real" servo drives.  I'm not a fan of the position control "step/dir" drives.  Better than a stepper as far as losing position is concened, but Galil is not closing the servo loop at all with that kind of drive.  With that kind of drive (or steppers for that matter) Mach gets no position feedback from the Galil and it can only maintain a calculated position of where the motors should be.

But with analog drives, the encoders are hooked to the Galil, right?  Well, the plugin has access to the Galil's encoder data.  It simply forwards it on to Mach.  

Encoder -> Galil -> Plugin -> Mach DRO is the path.  The DROs don't control the movement.  The Galil does.  Mach only references the position in the DRO (that it got from the Galil) when it wants to know the start point at which to plan a trajectory.  Other than that, it is for display purposes only.  But the DROs are indeed fed from the encoders.  

1.  Mach constantly gets updated with the encoder position (in machine counts).  It takes those counts and figures the position in user units based on the motor tuning and applies the current fixture offset to it.  
2.  Say you have the part zero set (G54) at X 0 and you want to move to X1.  "G01 X1 F20" then you hit Cycle Start (or enter on MDI)  Mach then looks at the current position as fed from the Galil and plans a trajectory to get to X1.  Say this total distance is 10000 counts.
3.  Mach begins streaming a trajectory down to the Galil.  Lots of points make up this trajectory over the time and distance to get there.  But in the end, 10000 counts will be doled out to the Galil.
4.  Now, the Galil has to execute the trajectory.  PID setup willing, it will arrive at the X1 destination.  The Galil is at X1 and updates Mach's DRO to X1 and the table is at X1.  So the tool is at X1.

Now, if the PID is too soft and the Galil can't get the table to X1 (too much dampening and not enough gain with no integral), that is NOT Mach's fault.  This is an extreme case but I have seen really bad servo tuning!  Most cases is that the PID overshoots (too much gain, not enough dampening and the servo may "hunt") and then settles to the commanded position.  In this case, position is never a problem.  You hit the mark.  In EITHER case, the Mach DROs will show exactly where the tool is.

The problem with the Stop() was that the DROs were not synchronized with with the Galil.  Because the DP command was used to apply an offset.  Thus Mach lost it's correct reference.  Basically, it was like applying an arbitrary fixture offset.  Any movements planned from then on would have this offset applied.  It was NOT that the DROs were not getting updated.


Galil / Re: Problems with losing position
« on: February 10, 2014, 10:12:59 PM »

Try out this plugin:

See if it fixes the stop problem.



You are pretty much hosed because there is nothing in that setup that will synch Mach and Galil after the position change from the joystick. 

The best way to handle this is to run the joystick anaolgs into some analog inputs and use a brain file to convert the signals into velocity jogs.  This way Mach/Galil are aware of it.


Galil / Re: Problems with losing position
« on: February 10, 2014, 09:11:46 PM »
I was talking about the Galil plugin.  It is not written by Galil or Mach.  It is written by several (primarily two, me and Kenny Crouch) people.  But others have helped out.

Mach uses the encoder as input.  But only if it is synchronized.  Mach is not ever controlling the PID loop.  That is done on the Galil.  Mach is a trajectory planner.  The way it works is the position is fed into Mach from the Galil and the planner's position is set to that (synched).  Then the G code is interpolated and a trajectory is planned FROM that initial agreed upon position.  This is what is fed to the Galil for motion input.  If that trajectory is not followed by the Galil, there will be a position error and Mach and Galil will have differing opinions of the machine position.  It should be detected on the Galil if it is running analog servos with feedback.  However, depending on Galil settings, it may not be setup to do much of anything regarding a position error.  Mach's planner never re-plans based on a position error.  If you do a G01 X1 from X1 and your PID settings are not adequate and the destination is never reached, Mach is not going to re-plan the trajectory and give it a bump to get it there.  Why?  Because it should not have to.  The PID problem should be solved.

I like to use a car and driver analogy.  Say you want to drive to the stop sign at the end of the street.  You plan your route (trajectory).  The route involves stepping on the gas, traveling for a distance, and then hitting the brakes.  Then you get in the car and follow that route/trajectory.  If you stop 30 ft. in front of (or beyond) the stop sign, is the route/trajectory wrong?  No.  You, the driver, need your PID/head examined!  :)  Because you did not follow the route/trajectory.  The route/trajectory had all of the information in it needed to get you to your destination.  As a unit of work, it is complete.  Nothing else needed.  This is how all motion control systems work.  Fanuc, Fidia, even EMC.

I will say this and every now and then people will tell me I'm wrong.  They will say that EMC will re-plan the trajectory.  It does not.  What it is doing is the motion control aspect of EMC (the real-time component) is adjusting the command voltage based on the output of the PID filter looking at the following error.  If the PID settings are not correct, EMC may never reach it's destination either. 

You can never have a situation where you tell a motion controller to move 15000 counts, oops I didn't get there, move another 1000 counts for a total of 15000 counts.  Because you have really asked the motion controller to move 16000 counts!!!!

So Mach, being just a trajectory planner, should NEVER be involved in closing the position loop because it is NOT a motion controller.  EMC is a trajectory planner AND a position loop motion controller.  It uses no real-time to plan the trajectory.  However, it does use the real-time component to follow the preplanned trajectory.  The Galil is the real-time component in the Mach/Galil combination so it has the same duties as the real-time component of EMC.

CNCToolDie's observation was that when hitting stop, the Galil plugin effectively lies to Mach about where the machine position is thus creating a discrepancy between what Mach thinks the position is vs. where the machine actually is.  This is pretty much unrecoverable at this point.  Only resetting the fixture offset or re-homing the machine will correct it.


Galil / Re: Problems with losing position
« on: February 10, 2014, 06:24:13 PM »
You will also find they don't like to hear anything bad about the Mach software.

That is not a very constructive statement.  Where did that come from?  The Galil plugin is not Mach software.  It is written by a few of us that want to run our Galil equipped Mills/Lathes with Mach3 and we give it back to the community.  We don't make a dime off of it.  Yet people run the Mach3/Galil combo and make lots of money with it.  And honestly, we love that!

But if someone comes on here and DEMANDS that we put something in the plugin or tells us it NEEDS to do something special for them then yes, we may not jump.  We may not even acknowledge it.  Or we may say something stating our "thoughts" on the matter.  For me, I don't have a whole lot of time to deal with that.  Life is too short.

Conversely, if someone asks nicely and we can work it in we will try to accommodate if we can.  If someone finds a bug, the we will try and get it fixed as quick as possible as well.