How it Works

1) How it Works Diagram How it Works Diagram

2) Software vs. Hardware Motion Processors
Motion controllers are comprised of two basic elements: 1) The motion processor and 2) The power driver. The motion processor is the element that generates control signals in accordance with the desired control, such as position, speed, acceleration, and coordination between multiple motors. The power driver element accepts control signals from the motion processor and appropriately applies power to the motors in a manner that corresponds to the applied control. The the motion processor for stepper motor control is called an "indexer". The specialized power driver element for stepper motors is called a "translator". In some systems, the indexer and translator are physically packaged together in a unit often referred to as a "controller".

Hardware based indexers generally use a microprocessor designed into a circuit board specifically designed for motion control. Software embedded within these indexers control on-board interface circuits which generate timing and control signals. PC based motion control systems that use a hardware based indexer either incorporate the indexer as a specialized plug in card, or as a stand-alone unit located within an external controller.

Unlike hardware based controllers, Indexer LPT uses the microprocessor within the PC that is ordinarily used for computing, and generates timing and control signals by communicating directly with a standardized parallel interface adapter. There are numerous advantages to this approach, among which are:

3) Low Level vs High Level Software: Device Drivers - The Lowest Level
From the earliest days of PC operating system design, software control over computer hardware externals was designed to occur within a special type of program called a "device driver". The operating system permits device driver code to assume a privileged status over the computer, which is necessary when controlling things that interact in real time, such as motors. In a sense, the device driver actually becomes part of the operating system. This is necessary in order to keep other portions of the operating system from interfering with critical timing, which would ordinarily occur to other types of software.

The older DOS version of Indexer LPT is a DOS "installable device driver". The version of Indexer LPT designed for Windows 95, 98 and Me is a "virtual device driver", and the version of Indexer LPT for Windows 2000 and XP is a "kernel mode device driver". In all of these versions, Indexer LPT, the computer's CPU, and the parallel port hardware work together as a unit, as a "device", to comprise the motion processor portion of the control system.

4) Application Programs Provide High Level Control
The Application Program adapts the motion processor (Indexer LPT) to the particular type of machine that is being controlled. The machine operator interacts with the Application Program. The Application Program, in turn, interprets the operators demands and transparently interacts with the motion processor.

For example, the Ability Systems G Code Controller is an Application Program written to accommodate a variety of multi-dimensional milling machine type operations using text files commonly known to machinists as "G Codes" to define operations and tool paths.

The Ability Systems HPGL Controller is another Application Program that was specifically written to adapt commonly used and low cost CAD drawing programs, like Corel Draw, AutoCAD etc., for use in constructing complex 2 and 2 1/2 dimensional tool paths. (2 1/2 dimension controls contouring in two dimensions, but has the capacity to control the depth of a third axis before starting each contour).

Since Ability Systems publishes the Application Programmers Interface (API) to Indexer LPT, the end user, or third party developers, can write application programs for specialized applications. Examples of this include the program developed for the A-1 Quilting Machine, programs developed for specialized foam cutting, a program developed especially to grind telescope lenses and others.

More than one application program can be resident on a machine that uses Indexer LPT as the motion processor, giving the machine designer the added flexibility of accommodating different types of operations simply by running an alternate Application Program - a clear advantage of our modular approach to system engineering.

back to top