TECHNICAL REFERENCE
MOTION PROGRAMMING
COMMAND FORMAT, INDEPENDENT MOTION COMMANDS
As motion control technology continues to advance, appli-
cations are becoming more demanding than ever. Servo sys-
tems are now used for such diverse tasks as cutting material
with a rotating knife, positioning semiconductor wafers
under a microscope, and synchronizing label applicators to
an assembly-line speed. The motion must often be synchro-
nized with other process events such as firing relays, reading
thumbwheels, or monitoring switches.
The need for ever increasing speed, precision, and
sophistication has resulted in a new generation of intelligent
motion controllers which provide such capabilities as coor-
dinated motion, electronic gearing, on board program mem-
ory, symbolic variables, and programmable I/O for synchro-
nizing external events.
In this section, motion control systems are described and
examples are given for many advanced motion control prob-
lems. In the following examples, the term DMC refers to a
Galil Digital Motion Controller such as the DMC-1700.
While the DMC-1400 commands also apply, the DMC-
1400 is a single-axis controller and does not include analog
inputs or coordinated motion.
The DMC motion controller provides a powerful yet
easy-to-use programming language that allows the user to
quickly program the controller to handle any motion appli-
cation. Programs can be downloaded into the DMC memo-
ry for execution without host intervention. Multitasking
allows up to eight user programs to be executed simultane-
ously, permitting concurrent operation of independent tasks.
Utilizing the DMC to execute sophisticated programs frees
the host computer for other tasks. However, the host com-
puter can still send commands to the controller at any time,
even while a program is being executed.
In addition to standard motion commands, the DMC
provides many commands that allow it to make its own
decisions. These commands include conditional jumps,
event triggers, and subroutines. The DMC also provides
automatic subroutines for detecting and correcting system
errors and handling interrupts from external switches.
For greater programming flexibility, the DMC provides
user-defined variables, arrays, and arithmetic functions.
The DMC provides an extensive instruction set for pro-
gramming a variety of motion profiles and applications.
Instructions are represented by two-letter ASCII com-
mands and are English-like for easy programming. For
example, the instruction to begin motion on the X and Y
axes is specified as BG XY.
Instructions are available for specifying motion, pro-
gramming output lines, checking the status of inputs, and
synchronizing motion with events such as elapsed time,
motion complete, or an input. See the Command Summary
for each DMC motion controller on its corresponding page
of the catalog for a complete command listing. The follow-
ing section describes how these commands are used to
develop motion programs. Custom instructions also can be
developed for specialized applications.
OVERVIEW
COMMAND FORMAT
A motion controller can be "told" by a host computer to
perform a move by any of the controlled motors. The
most simple move is one with a trapezoidal velocity pro-
file as illustrated in the following example. This move is
completely characterized by the distance, slew velocity,
and acceleration and deceleration rates.
The most basic form of specifying these motion parame-
ters is by "units of position resolution." (See examples on the
next page.)
INDEPENDENT MOTION COMMANDS
80
·
Galil Motion Control, Inc.
·
www.galilmc.com