Ability Systems Indexer and G-Code Controller review
I decided to use Ability Systems software as my machine control system and, and after having it running for a while, I wanted to post my results.
First off Ability Systems Indexer LPT is a driver that works right from your computer's printer ports. By adding two 15 dollar printer cards, you will have the ability to control up to 4 axis of motion (up to seven axes using four printer ports). I used 3 ports. The first two ports gave me the capabilty to control four axes of motion, though I am only using three currently. The third port accommodated the input/output that is necessary for the joystick, feed hold, and feed rate override features.
Indexer LPT is the driving component of the whole thing. It is the component that controls the motors, and "transparently" communicates to the G Code Controller, which is the software that the user interacts with. While this may sound confusing, separating the control program (Indexer LPT) from the user interface (G Code Controller) has its advantages.
The advantage I like the most is that it gives beginners to motion control the ability to check out the system a little bit at a time, allowing you to build it up and test it piece by piece before you attempt to get everything working together.
After that, the many ways available to you to input and output information allows experts to add complexity beyond what most beginners might care to tackle - such as adding an automatic tool changer. By starting simple and building up from there, however, beginners need not feel intimidated.
For example, I decided to use Gecko drives to power the step motors. The Indexer LPT manual has a point to point wiring diagram for the Geckos (as well as for other drives from various manufacturers). So once I wired the power connections to the Geckos, and the pulse and direction wires from the printer ports (using 25 pin D-Sub connectors I purchased at Radio Shack), I was ready to test the motors using the Indexer LPT Diagnostic program.
With the Indexer LPT Diagnostic program I sent the command "move:a,300" to Indexer LPT. Here's how that works. The "a" in the command tells Indexer LPT to generate control pulses from pin 2 on the parallel port that I chose. The "300" tells it to generate 300 pulses. Later on I used setup dialogs in the G Code Controller to associate Indexer LPT's "a" axis with the X stage on my machine, and to tell it how many step motor pulse per inch, speeds, acceleration etc - but using the "move" command in the Diagnostic program was perfect to help me get the motors working for the first time. After getting the first one working, the others fell in line nicely.
In retrospect, I think it is easier to identify problems as you wire your new sytem a little at a time, checking it out as you go with Indexer LPT's "live" diagnostic display. The Diagnostic program lets you see the status of each input and exercise each output individually, so you can conveniently check your limit switches and control inputs, as well as your outputs - even as you wire them.
Hooking up a system using Indexer LPT is a matter of buying some D-Sub connectors from Radio Shack and following the wiring diagram supplied with the Indexer LPT manual. Its pretty easy. You have 4 wires that connect from the Gecko drive to the stepper motor. You have step, and direction wires going from the D-sub connector to the Gecko Drive, and 4 limit switch wires from the D-sub connector to your limit switches...... Its that easy..... It was a little tedious hooking it all up, but it looks a lot worse than it is. As I said, I suggest that you wire one component at a time instead of all at once. I did the all at once thing for the most part....I had a few problems, mainly a crossed wire or two, but quickly fixed it.
Indexer LPT runs in the background, but the program you will actually interact with when making parts is the the G-Code controller. G Code controller is pretty simple. The first thing you do is set up each stage of motion. Using dialog boxes in the configuration menu, you will need to tell it such things as which Indexer LPT "axis" you are using to move that stage, how many pulses per inch the stage drive requires, and the maximum cutting length available. It is very simple. You will go into other boxes and make simple setup inputs to ready the machine. This is all very well explained in the manuals. One thing about Indexer and G Code Controller is they are well documented. Although a little confusing at times for a complete newbie, they are full of information, and if you read through it all there is a wealth of information there. Most of the questions I asked Art (at Ability Systems) were already answered in the manual! There are boxes that you check off for limit switches, a joystick if you use it, feed rate override, etc.... again, they are all explained very well in the manuals. Nevertheless, Art told me never to spend more than 15 minutes looking for anything before calling, because in most cases it only takes a minute or two to get going in the right direction.
After the Indexer LPT features are customized into G Code Controller, you don't ever need to get back into it unless you are changing the design of your machine.
After getting the machine set up, which I found to be quite easy, I was ready to start cutting parts. The first thing I did, though, was go into the Indexer Diagnostic and command the steppers directly, like I mentioned above. It really is nice being able to do this, and a great confidence builder for the machine designer.I played around a while then went back to G-Code Controller......
The windows interface is nice, clean, very simple, and very un-intimidating. You go to the menu, click to move an axis, or position to, and type in where you want things to go... It really is pretty simple. It does take a little time to get used to all the different command menus, and I like to tell people to be particularly careful about using the MOVE BY box, instead of the POSITION TO dialog - One tells the axis to "move by" a certain amount (you type in) the other tells the machine to go "to a certain position"...... if you use one by mistake (thinking you are using the other).... crash city ! I did it a few times because I was always in a hurry... now I am a little more careful!
Running my first part was quite simple. You first need to save a "CAM" file based on what you like and your machine preferences. Each time you open up G Code controller you will open this file like a default file and bingo - all your setups are ready.... You can save fixture offsets, use absolute or incremental default modes, and a host of useful set ups too long to list....
The first part I cut was a simple pocketing tool path to cut a sign. It ran great. I was very impressed with Ability Systems machine control... when I say my machine runs smooth, I mean really smooth. Acceleration and decels are great. Feedrate override is so smooth you have to hear it to appreciate... my wife says my machine sounds like something from Star Trek, because of the smooth sounds it makes....
In closing I have run parts from simple engravings, to large 3-d part files that took 10+ hours to cut. After 4 months of rigorous use I have yet to find a problem using this software. The improvements that I would like to see is an increased range in the graphical zoom and pan, and some set up dialogs for the feed rate override control. Art tells me that these things are being worked on, and will be available with the next major release. I would also like a some warning to alert me to turn off the scrolling graphics when running very large part files. Although the scrolling graphics don't affect the cutting speeds, it does bog the computer down as it loads the program's "look-ahead" memory. Sometimes I use scrolling graphics, and sometimes I don't - so I don't want to configure it to be always off. When I forget to turn it off for large files it can waste a lot of time.
Nevertheless, I find it easy to use, and very reliable and crash free, which is very important when you are trying to get serious work done. The main thing is the software is very stable, and runs fantastic, which for most of us means more time to program more files, and more work out the door!