Technical Reference
Motion Programming
Overview
As motion control technology continues to advance, applications are
becoming more demanding than ever.Servo systems are now used
for such diverse tasks as cutting material with a rotating knife, posi-
tioning semiconductor wafers under a microscope, and synchroniz-
ing label applicators to an assembly-line speed.The motion must
often be synchronized with other process events such as firing relays,
reading data, 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 coordinated motion, electronic
gearing, on board program memory, symbolic variables, and pro-
grammable I/O for synchronizing external events.
In this section, motion control systems are described and exam-
ples are given for many advanced motion control problems.In the
following examples, the term DMC refers to a Galil Digital Motion
Controller such as the DMC-1800.
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 application.Programs can be down-
loaded into the DMC memory for execution without host interven-
tion.Multitasking allows up to eight user programs to be executed
simultaneously, permitting concurrent operation of independent
tasks.Utilizing the DMC to execute sophisticated programs frees the
host computer for other tasks.However, the host computer 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 com-
mands include conditional jumps, event triggers, and IF/THEN/ELSE
statements.The DMC also provides automatic subroutines for detect-
ing and correcting system errors and handling interrupts from exter-
nal switches.
For greater programming flexibility, the DMC provides user-
defined variables, arrays, and arithmetic functions.
Command Format
The DMC provides an extensive instruction set for programming a
variety of motion profiles and applications. Instructions are repre-
sented by two-letter ASCII commands 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, programming
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 corre-
sponding page of the catalog for a complete command listing.The
following section describes how these commands are used to devel-
op motion programs.Custom instructions also can be developed for
specialized applications.
Independent Motion Commands
A motion controller can be "told" by a host computer to perform a
move with any of the controlled motors.The most simple move is
one with a trapezoidal velocity profile as illustrated in the follow-
ing example.This move is completely characterized by the dis-
tance, slew velocity, acceleration and deceleration rates.
The most basic form of specifying these motion parameters is by
"units of position resolution."(See examples on the next page.)
www.galilmc.com
/
Galil Motion Control, Inc.
5