Hello Guest it is April 19, 2019, 04:58:46 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

511
Galil / Re: Galil controller compatability (what works with the plugin)
« on: September 22, 2014, 02:27:50 PM »
Hans,

Those sound like ISA bus controllers.  But the 5 on the end of the model number indicates a special controller that may have been an OEM controller made to their specs by Galil.  Meaning they may not work as a regular Galil would.  In any case, they being ISA, I would not use them.  Smart Term drivers only.

Steve

512
Mach4 General Discussion / Re: Mach 4 Feature Request
« on: September 22, 2014, 01:40:54 PM »
Mach 4 has and never will close the servo loop.  It doesn't need to.

The loop can be close in three places:

1) The motion control software. (Mach does not do this.  Windows is not a real time OS).
2) The motion controller hardware.  (Galil, Vital System DSPMC, K-Flop, etc...)
3) The servo drive (Position controlled drives that take step/dir as input).

And we are talking servos here.  Steppers are generally never closed loop.

In the absence of #1 above, software never needs to close the loop.  The software can generate the motion profile without the loop being closed.  This is analogous to you in a car driving from your driveway to the stop sign down the street.  You plan your route (motion profile) before getting in your car (software).  Once in you car (hardware), it is your job to follow the planned route.  If you don't make it to the stop sign, you apply more throttle to get you there.  If you go past the stop sign, you put the car in reverse and apply throttle to get you there.  The end point didn't change and thus the route doesn't need to either. 

So if the loop is closed on the motion controller or servo drive, then there is no need for the software to close the loop. 

So to answer your question, any step/dir plugin that Mach4 supports will work with position controlled servo drives to close the loop.  Any plugin that Mach4 supports that closes the loop on the motion device will work with analog command controlled servo drives.

The Mach4/Galil combination running on my Matsuura MC500 is definitely closed loop.  It is using old school analog drives with PID filter on the Galil that manages the following error.  If you are retrofitting a machine with existing analog servo drives, using a plugin/controller that closes the loop on the controller is the way to go.

The newer and far more simple way is using position controlled drives.  Less tuning required as most of these type servo drive tune themselves.  If you are building a new machine or replacing the drives in an older machine in a retrofit, then this is the way to go.

When we were at IMTS, there were three machines demoing Mach4.  One used a Galil controller with Yaskawa EtherCat servo drives.  (Servo loop closed on the Galil).  Another used an ACS controller with Yaskawa EtherCat servo drives.  (Servo loop closed on the ASC controler).  And then another machine that used a Vital System HiCON controller outputting Step/Dir signals to Yaskawa position controlled servo drives.  (Servo loop closed on the drives).  All of these machines worked flawlessly.

We really had a good show at IMTS.  Mach Motion did a fine job!  The machine using the HiCON was running a SolidCam produced high speed pocketing tool path that was moving the machine @ 600 IPM.  It was simply amazing to watch a 3/16" end mill remove a 5/8" pocket depth of metal in 1018 steel in a matter of 3 minutes.  With precision!  Industrial?  I would emphatically say yes!  The Mach4 machine was capable of keeping up with the Hurco that was also demoing the SolidCam tool paths.  Yeah...  we had something to grin about.  :)

All of the Mach4 machines were running Mach4 Hobby.  How is that for you guys?  Hobby priced software that can keep up with the big boys!  Videos of the show will be forthcoming.  So stay tuned!

Steve

513
Galil / Re: Galil controller compatability (what works with the plugin)
« on: September 05, 2014, 07:58:58 PM »
No parallel port required with Galil.  Stay away from the ISA controller.  It will only work with SmartTerm drivers and that limits you for the future.  The 2200 is ok, but 41x3 or 40x0 is the controllers that we are targeting for Mach 4.

Steve

514
Mach4 General Discussion / Re: Mach 4 Bug Reports
« on: September 04, 2014, 07:46:03 PM »
Make sure the axes are enabled.  1953 runs fine so far from other reports.  So there is a problem with the config or something.

To further explain...  The Zero buttons are greyed out based on the availability of the axis.  Same with the jog buttons.  Since yours are greyed out, it makes me think that the axes are not enabled.  So check that out and see.

Steve

515
Mach4 General Discussion / Re: Screen Set Ideas
« on: September 03, 2014, 07:22:21 PM »
Man, that's a lot of info.

I sure hope they add the ability to create our own LED's, as those round ones look like they came from a DOS program..
What is wrong with the LEDs?  The fact that they are round?  If so, you just change the shape property to square and get Mach3 style LEDs.

Steve

516
Yeah, the only problem is that M10 and M11 are for turning a pallet or axis clamp on and off on Fanucs.  Sometimes they are used to turn vacuum on a table on and off.  So I really don't want to use those.  And I really don't want to use M codes at all because M codes currently break the CV chain and we would have to add an exception.  But we may have to.  I would rather join up with LinuxCNC and try to create a standard than try to create something from scratch or use some code that already has uses.

Mach 4 mill (and lathe is almost done) is what we currently have.  Lathe is a whole separate interpreter!  We plan on having a separate G code interpreters for laser, plasma, water jets, and tangential knifes.  These will come at at later date.  One interpreter doesn't have to do it all in Mach 4.  Until then, try the sleep trick and see if you can get it better.  I'm pretty amazed at what you are doing with the laser and the mill interpreter!

Steve

517
Yes, they are quick!  The issue is because Mach4 doesn't know exactly when the last movement was done on the motion controller.  Mach4 holds up the M code until the last way point is sent to the motion controller.  But there is going to be some latency involved between the time the data was sent and movement actually is done.  So the physical motion always lags the as compared to the position in the G code file.  This latency is PC/motion controller specific and will be different on just about every system. 

The good news is that you can slow up the M codes with a wx.wxMilliSleep(ms) call.  If you are consistently 10ms fast, do wx.wxMilliSleep(10) in the first line of the M code.   

That is something to try, but it is not the best solution.  Eventually, we will have a facility to turn on output in coordination with motion.  We may use the LinuxCNC M62 and M63 type of thing.  It seems that there is no standard at all to follow.  Maybe if we do it like LinuxCNC does, it will "create" a standard.  Only LinuxCNC's current form doesn't go far enough, IMHO.  They only provide for turning output on or off at the beginning of a move.  It would be nice to be able to do the same at the end of a move.  Then there is CV to consider!  It all gets a bit complicated.

http://linuxcnc.org/docs/html/gcode/m-code.html#sec:M62-M65

M62 P1 (Turn output 1 on at the beginning of next move)
M63 P2 (Turn output 2 off at the beginning of next move)
G01 X1 Y1 (The movement.  Outputs 1 and 2 will be coordinated with the start of this motion.)

Steve

518
Mach4 General Discussion / Re: Lua Panels and events
« on: August 27, 2014, 07:38:20 PM »
I would add a panel on top of the parent panel.  The parent panel actually resides in mach4gui and any click events are going to be eaten by the GUI. 

Steve

519
Mach4 General Discussion / Re: Mach 4 Feature Request
« on: August 27, 2014, 07:34:24 PM »
Limit override is simple.  Add a toggle button to the screen and tie it to the limit override output signal.  Done.  Or if you prefer a real switch on the panel, map it's I/O to the limit override INPUT signal.

520
Nice work Scott!

Steve