Hello Guest it is November 26, 2022, 09:59:23 AM

Author Topic: Programming question  (Read 1965 times)

0 Members and 1 Guest are viewing this topic.

Programming question
« on: August 20, 2016, 12:08:52 PM »
I've been a long time licensed Mach3 user. I recently ran into an application where I need control from a piece of software but without the Mach GUI. I'm wanting to use my USB SmootherSteeper to drive the motion control board. The software I'll be using hands off the motion commands in the form of .bat files to the motion control software, waits for the motion to be complete then continues. Is there a way to accomplish this with Mach? I primarily need to operate a rotary axis.

The manual for the software I'm referring to can be found here page 99 (5-98) the section on the PLUS version


My question to them was: Are there any alternatives to using Indexer LPT & a LPT  port? Specifically something USB?

Their reply:
Yes, most of my OEM customers have set up other control methods, many using USB indexers.  This way of control cost a lot more money than LPT Indexer.  American LaserWare dosnt get involved with that end of a system, the integrator handles that.  ProLase provides a general interface in which ProLase will call an external program (written by the integrator) and pass this program the name of each axis and the position ProLase wants each axis to go to.  The external program takes this axis ID and position information and forms movement commands in the language of the specific controller and sends those commands over the USB port.  The external program then checks the status of the indexer until all axis are finished moving, then quits, which returns control to ProLase.  After ProLase calls the external program it simply waits until the program finishes before continuing.  ProLase will call this program every time it wants to move one or more axis.  This general interface can be used to control almost any kind of motion control system including stepper and servo. Usually this program can be written very quickly (its quite simple, sometimes just a BAT file) and for a relatively low cost.  The reason we do it this way is because there are hundreds of control systems, all having there own command set.  Some call the Axis XYZ, some ABC, and others 123.  Some use commands like MOVE, FEED, GOTO and others use "G" codes.  We don't want to write drivers for hundreds of different controllers, this general interface will work with all of them.

Re: Programming question
« Reply #1 on: August 22, 2016, 02:07:34 PM »
You won't be able to use a smooth stepper (usb or Ethernet)

The ss uses an FPGA, and the FPGA is blank (is it has no defined purpose) when you power it up.

When you load mach3 or Mach 4, part of the plugin is sent to the FPGA to programme it and give it its defined purpose of inputs, outputs and timer loops etc.

Hence without Mach the ss is dumb....

Unfortunately it's quite complex and expensive to programme an FPGA, so it's unlikely you could programme it yourself, and given the market is quite limited, it's unlikely to be economically viable for someone else to do it for you

That software is very similar to Mach, in that in what it does but does not appear to use gcode to output the motion.

Is there a specific reason you don't want gcode as it looks a bit limited when compared to other gcode offerings on the market with built in cad cam plus lazer control?


Albert Einstein ― “If you can't explain it to a six year old, you don't understand it yourself.”