How
it Works
- 1)
How
it Works Diagram
- 2)
Software vs. Hardware Motion Processors
- 3)
"Low Level" vs. "High Level" Software : Device
Drivers - The Lowest Level
- 4)
Application Programs Provide "High Level" Control
1)
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:
a)
The CPU within the PC generally has more capability than embedded
stand-alone microprocessors.
b) Software written for PC's is more easily upgraded
and enhanced.
c) Interface electronics (as well as computing
electronics) is produced for general markets in greater quantity
than specialized products, and is thereby more maintainable and
cost effective. If a parallel interface adapter card is damaged,
it is thrown away and inexpensively replaced, while a damaged motion
control card must be either repaired (if possible) or replaced (if
it is still available) at much greater cost. Today, even entire
computers represent a minor investment and as such are easily maintained
or replaced.
d) Advances in speed and performance of computing
components reflect performance advantages to software.
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. |