Hello Guest it is April 28, 2024, 12:13:42 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

1521
Mach SDK plugin questions and answers. / Re: PLUG IN WRITERS
« on: February 13, 2009, 12:37:49 PM »
Yeah, you are right.  You will not find many vendors interested in helping to integrate.  I used to write device drivers for the OpenBSD operating system.  And one thing I found out is that it's like pulling your own teeth without a mirror trying to get vendors to help you.  The only way a vendor will help is if they see Mach as a way of increasing their sales.  Like Vital Systems.  Smart company.  But the world is not full of smart companies.  Some start out smart and then dumb waaaaaay down.

So, in the end, you have to do it.  Or someone does.  The right combination of need and know how has to come together.  As stated, most vendors will not supply you with anything.  If you want it to work, you have to buy the product yourself and start hacking.  Or someone that is interested in getting some hardware to work may contact you and send you a board. 

Over the years, I have bought thousands of dollars worth of hardware so that I could provide support for it.  Why?  It's pretty darned fun.  A big jig-saw puzzle, if you will.  And if I think it may be useful to me, even better.  Other times, people have sent me hardware and paid me handsomely to integrate it.

BTW, the Elexol PlugIn is almost finished.  It will support both the Ethernet and USB modules in any combination up to 4 modules.  It turns out that the USB modules can be accessed via direct USB or over a virtual COM port.  The direct USB method is fast, so that is what I used.  The Elexol has 24 I/O pins per board.  Not as much as the Futurlec board.  But it does offer remote I/O.  Running one USB or Ethernet cable from the computer to the control cabinet is sometimes easier than running multiples of wires.

However, the Futurlec board has the bang for the buck going for it.  So I'd like to support it.

Steve

1522
Mach SDK plugin questions and answers. / Re: PLUG IN WRITERS
« on: February 06, 2009, 08:09:32 PM »
I will get one as soon as I have enough spare play money available.  But...  I also saw some stuff on that sight from Elexol.  They have an Elexol USB I/O board that I just so happen to have.  I also have their Ethernet I/O board.  I think I'll do a PlugIn for those as well, as I already have to code I used at work that performs the setup.  Check them all out at http://www.elexol.com/ .  The USB board will probably not be fast enough, as it's basically a USB->Serial adapter.  But the Ethernet version rocks.  It has a mode by which it continually updates the host via UDP so that there is no pooling going on.

I really can't use the Futuerlec board on my machine, as my setup is all controlled by Ethernet.  But I'm sure I could find something useful to do with it.

Steve

1523
Mach SDK plugin questions and answers. / Re: PLUG IN WRITERS
« on: February 03, 2009, 01:09:22 PM »
I saw your post on proposing a PlugIn for the MESA controller boards.  Are you wanting to use one of their I/O cards as well?

I think both would work.  Getting the Anything I/O controllers working would be more involved, as you would really need to have a test machine setup to make it work.  But the I/O board would be much easier to get going because a simple break out board could be used to test.

I'm currently working on the Galil PlugIn and have the vs2003 compiler.  So if you want, I may be able to help.

Steve

1524
Take a look in the PlugIn Download section.  There, you will find all other controllers that operate with Mach at this time.

Steve

1525
Galil / Re: Galil Status
« on: January 28, 2009, 12:35:48 PM »
Well, I got a copy of vs2003 and started hacking away at the Galil plugin along with Kenny Crouch.  Kenny added a bunch of stuff that smoothed things out as well as adding MPG support.  I've been working on things that are less visible/exciting like:

1. Adding support for controllers that do not have the rev 4 data record.
2. If there are multiple controllers configured in the Galil registry, you can now choose which of those controllers Mach will use.  Previously, Mach only used the first defined controller.

I'd like for all that have the Galil controllers running to help out testing this stuff.  That way, we can have a good cross section of results.  PM me with your email address and I will send you the plugin DLL.

Steve

1526
Also, take a look at the Galil plug-in in the SDK.  You can download the SDK from the Mach downloads page.  There, you will see how Mach uses the Galil motion commands.  Then you can go to Galils website and download the user manual for a DMC-2100 controller and see what these commands are actually doing. 

You don't need much of a motion controller.  The Galil is far overkill for what is being fed to it.  Galil drivers will communicate with external Galil Ethernet controllers via TCP.  On an unmolested network, this is plenty fast and very smooth.  For a machine control interface over Ethernet, you would most likely use a crossover cable between the mach machine and the motion controller device.  Or a switch/hub in an isolated network. 

I would imagine that if you had a modbus motion controller that spoke modbus over TCP, then that would work as well.  You would just nee to write the modbus communication routines into your plug-in, or link with some library.

Steve

1527
Galil / Re: Galil Status
« on: January 04, 2009, 12:54:22 AM »
Cutmore,

What controller?  Which version of the Galil drivers are you using?  You want SmartTerm with the version 7 drivers.  And what is the version of your Galil firmware?

Connect to your controller via the terminal and do a QZ command and then a ^R^V command (control-R control-V).  You may need to select a button to allow control key sequences.  Otherwise ^V is the Windows "paste" key sequence.  The QZ command will return the Data Record format and the ^R^V will return the firmware version.  Also do a MG_DR command.  This will let me know how the controller is handling sending the Data Records.  Let us know the results.

I bought a DMC-1760 ISA controller from dmerrll a while back.  I was wanting to get rid of an old SM-Electronik SM400 controller and use Mach.  The problem was that I have analogue servo drives so I needed something to make that tick.  The Galil looked like a good way to go.  But as you know, ISA bus machines have limited CPU frequencies by today's standards.  So I started thinking of ways to leverage the ISA based controller in a remote machine that talked to the Galil drivers on the Mach machine.  Much like a Galil Ethernet controller would. 

I used OpenBSD and wrote a device driver for the 1760 and then wrote an Ethernet front end that emulated a Galil 2100 or 2200 controller.  The results are fantastic!  The Galil Windows drivers think they are driving a DMC-2100 when they are actually talking to a DMC-1700!  This is not for the feint of heart though.  A 1 Ghz Pentium III ISA bus computer will run Mach/ISA-Galil just fine.  I was just wasting some time trying to do something something that used to be impossible.   ;D

In writing this code and wading through lots of smoke and mirrors, I learned a ton about the various Galil controllers.  Mainly what will work with Mach and what will not, and why.  So I will try and lay that out for people that are interested in using the Galil plug-in and are struggling with which controller of the day to go looking for. 

Any current Accelera controllers will work.  Stick with the version 7 Galil drivers though.

Any bus based or ethernet Optima controllers will work.  This includes the DMC1700, DMC1800, DMC2100, and DMC2200.  In theory, the DMC2000 (USB) may work as well.  I just don't know if there would be any issues with USB.  But it has all of the other necessary things to work.  Use the version 7 Galil drivers that come with SmartTerm for these controllers.  Older drivers will cause you big time headaches.

The DMC-18x2 econo controllers will also work.  But they don't support binary commands and this will slow things down a bit.  It takes about 350 microseconds for a Galil controller to process an ASCII command.  This time is saved if the controller can accept binary commands.  The Galil plug-in takes advantage of binary commands if the controller is capable.

The DMC-21x3 are like the DMC-18x2 controllers.  They might not work with the Galil plug-in because of the way they handle Data Records.  Big question mark here.
EDIT:  The DMC-21x3 controller will work fine as long as they don't have the 31x3 distributed mode firmware loaded.  If you have a 31x3, simply install the latest and greatest 21x3 firmware and you are good to go.  Also these controllers, while labeled "Econo", will accept binary commands.

There is also an older version of the DMC-21x3 called the DMC-21x2.  The difference is that the x2 controllers use the 100 pin SCSI connector instead of DB base interconnect modules for the x3 models.  So you will have to have ICM-2900s for the DMC-21x2 controllers.

The DMC-3415 and DMC-3425 controllers will not work.  These are 1 or 2 axis ethernet controllers that can be "chained" together to make a distributed controller that has as many as 8 axes.  But the way they do this is through a modified Data Record which is not compatible with the Data Record that the Galil plug-in will want to see. The Data Record is what Mach looks at (via the plug-in) to see if the state of I/O pins and DRO. 

DMC-1415 and DMC-1425 controllers will work.  But they are 2 and 1 axis, respectively.

A DMC-3425 can be updated with DMC-1425 firmware and it will work.  But you are stuck with a 2 axis machine.  Same with the 3415 except you will have a 1 axis machine. 

The DMC1000 ISA controllers will NOT work.  This is because these controllers do not have a Data Record at all.  They also do not support binary commands.  The Galil plug-in could be modified to support these controllers, but they would most likely be in the SLOW department.  Don't waste your time or money on these controllers for Mach use.

None of the VME based controllers will work.  e.g. the DMC-1300, DMC-300, or DMC-13x8 controllers.  The DMC-300 is ancient and should be discarded immediately.  The DMC-1300 suffers the same "no data record" as the DMC-1000's do.  The DMC-13x8 is an Optima controller, but the Galil windows drivers have no support for these cards at all.  Plus, unless you have a very industrial PC, you will not even have a VME bus, much less a VME bus driver.  I did, however, make a DMC-1348 controller work.  It's just that it's not feasible unless you have a bunch of VME hardware lying around.

None of the DMC-700 series or DMC-1500 series controllers will work.  They are serial communication controllers and they also don't have Data Records.  They would be good for making tool changers though.  Perhaps driven by I/O logic.

Also be aware that many of the Galil controllers that are floating around are special controllers made for an OEM.  Galil provides no support for these controllers.  Most of the time, a firmware update is all that is required to get the controller to work like a normal Galil controller.  But if there is special hardware mods, you will loose.

And a note about firmware.  Use the latest that you can get.  This is because there are several versions of the Data Record.  The version 4 and up Data Records will work.  This is what all of the Optima controllers will have if updated to the latest and greatest. 

I have to say that I really like the Galil controllers.  They are a well founded company with an excellent reputation for quality and service.  Their website provides literally every thing that an end user would ever need and drivers and firmware are available as free downloads.  Some other motion controller companies require you to buy firmware updates!  And you can call and talk to their support at any time.  They are very knowledgeable about their controllers, meaning that they are not just farmed out support.

Thanks go to dmerrll for providing me hours and hours of fun!  :)

If I ever get a copy of vs2003, I'll certainly help out on the Galil plug-in.  One thing that might be useful is the option to select a different Galil controller that runs a different machine from the same Mach controller. 

Steve