Vous êtes sur la page 1sur 281

Galil Motion Control Command Reference

Galil Motion Control


270 Technology Way
Rocklin, California 95765
Phone:(916) 626-0101
Fax:(916) 626-0102
Email: support@galilmc.com
Web: www.galilmc.com

Hardware Command Reference


Edition 8/16/2010 1:15:16 PM (svn 284)

Including commands that apply to:


All
DMC18x6
Including command details that apply to:
All
DMC18x6

Overview
This command reference is a supplement to the Galil User Manual.
Resources on www.galilmc.com
Product Manuals
Application Notes
Newest Firmware
Sample DMC code
Learning Center
Support and Downloads

What is DMC code?


DMC (Digital Motion Controller) code is the programming language used for all Galil hardware. It is a high-level, interpreted language which is
simple to learn and use, yet is surprisingly powerful. Actively developed and refined since 1983, DMC code provides functionality that is particulatly
well suited to motion control and PLC applications.
DMC code can be used manually from a terminal, programatically from an external device or customer application, and can be fully embedded into a
Galil controller's memory to leverage powerful "embedded-only" features and for stand-alone applications.
DMC code of course provides symbolic variables, arrays, and math support. The elegance of DMC coding is particularly evident when writing code for
embedded applications. When running on the controller, the DMC language supports if-then-else conditionals, code branching, subroutines, a call stack
(with parameter passing and local variable scope on some models), multi-threading, and automatic subroutines (i.e. event-driven programming).
DMC code runs on the Galil Real Time Operating System (RTOS) which is specifically designed for Galil hardware and for motion control.
The learning curve on DMC code is quite fast, usually less than one hour to basic motion, so called, "spinning motors". It is the fastest to learn, the
easiest, the simpliest, and one of the most flexible and powerful languages in the industry. Don't forget, Galil's Applications Support Team is available
to assist you; from the most basic question to the most complicated needs.

Top Down: How is a Galil system normally structured?


However you want, there are three general approaches to Galil programming.

Embedded/Galil-centric Programming
file:///C|/commandReference/DMC-18x6/pdf/index.html (1 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

In this approach, a host computer is only used during development to program the controller. The program is then downloaded and burned to nonvolatile flash using the #AUTO automatic subroutine to indicate where code execution should start on boot-up. The Galil controller will now run
"standalone," not requiring any intervention from the host. Note that for serial and Ethernet controllers, the standalone controller can still actively work
with other controllers in a network, without host intervention.
PCI and other PC bus-based controllers support this approach, although still require the PCI bus for power.
GalilTools (GT) is provided as a programming environment for developing embedded applications.

Host-centric Programming
If a GUI or other frontend is desired to be run on a host, all development can be conducted on the host PC, with the archetecture, operating system, and
programming language of choice. In this approach, the controller recieves every command from the host PC, nothing is running embedded. Many Galil
firmware features are available to facilitate host-centric programming including mode-of-motion buffers, data logging buffers, asynchronous data
record updates from the controller, PCI and UDP interrupt events, and more.
GalilTools (GT) is bundled with a programming library (API) for programming applications from a host. Many popular operating systems and
languages are supported.

Hybrid Programming
Perhaps the most versatile approach to Galil system design, the Hybrid approach allows for both embedded code and host-side code to work in tandem.
Typically an application is developed for embedded use in DMC code. The code incorporates all of the detail of an application but relies on the host to
provide it data. Through variables, arrays, and other commands, the host is able to define the bounds of the embedded algorithms. The host plays a
supervisory role, interrogating status, receiving asynchronous updates from the controller, starting and stopping threads, and so on. The controller takes
care of the motion and I/O responsibilities based on its embedded program, and the controller's real time operating system (RTOS) ensures that the
application won't suffer from indeterminacy which is common on general purpose PC operating systems (e.g. Microsoft Windows). Because the
controller takes care of the details, the host is able to use its resources on other tasks, such as complicated number crunching or user interface.

It is noteworthy that Galil Standalone controllers (e.g. DMC-40x0, DMC-41x3, DMC-21x3, RIO-47xxx) can leverage the Ethernet to provide
powerfull modularity. Using any of the above three system approaches, multiple controllers can work in concert to achieve an application's
requirements. Networked controllers also provide easy scalability. Need some more digital or analog I/O? Add an RIO. Need another axis of control?
Add another DMC to the network. Both the Galil firmware and the Galil software libraries provide features which allow easy use of multiple
controllers on an Ethernet network. RS232/422/485 networks are also possible.

Bottom Up: Anatomy of DMC code


Classification
DMC language can be broken up into the following general classifications
Classification

Description

Examples

Example Comments

Explicit Notation Only

The command receives its arguments


IHC=192,168,1,101<1070>2
only by assignment with the "=" operator.

Create a TCP connection on Ethernet handle


C to a device at IP address 192.168.1.101 on
port 1070

Implicit Notation Only

The command receives its arguments


only by an implicit argument order.

Set the local IP address to 192.168.1.102

Explicit & Implicit

The command receives its arguments


either by an explicit assignment using the KPA=64;KPB=32;KPH=128
"=" symbol, or an implicit argument
KP 64,32,,,,,,128
order.

Assign the proportional constant (KP) of the


PID filter to three different axes.

Accepts Axis Mask

The command receives its arguments as


a string of valid axis names.

ST ADF

Stop (ST) axes A, D and F. Leave other axes


running.

Two Letter Only

The command accepts no arguments

BN

Burn (BN) controller parameters to flash


memory

file:///C|/commandReference/DMC-18x6/pdf/index.html (2 of 281)8/16/2010 1:21:02 PM

IA 192,168,1,102

Galil Motion Control Command Reference

Operator or Comparator

Operators take two arguments and


produce a result. Comparators take two
values and return a boolean (1 or 0).

@ Function

Starting with the @ character, these


@SIN,@ASIN
functions take one argument and perform @AN,@IN
a function, returning its result
@RND,@FRAC,@COM

Trig functions Sine and ArcSine


I/O functions Analog in and Digital in
Numerical functions Round, Fractional Part,
Bitwise compliment

Embedded Only

Not valid from the terminal, or from PCside code, these commands are used in
embedded DMC code only

IF,ELSE,ENDIF
JS,JP
EN, RE

IF Conditionals
Jump commands
End program, Return from Error

Operand

Operands hold values, and are not valid


on their own. They can be used as
arguments to commands, operators or
comparators

_TPA
_LFC
_TC

Current position of axis A encoder


Forward limit state on C axis
Current Error code

Trippoint

Trippoints hold up a thread's execution


(block) until a certain condition occurs.
These are a special case of Embedded
Only type commands.

WT 1000
AMA
AI1

Wait 1000 ms
Wait until axis A completes profiled motion
Wait for input one to go high

+,-,*,/
=,<,>,<=,>=,<>

Operators
Comparators

DMC code is case sensitive. All Galil commands are uppercase. User variables and arrays can be upper-case or lower case. Galil recommends that
array and variable names contain at least one lower-case character to help distinguish them from commands.

Explicit Notation
These commands specify data using an axis designator followed by an equals sign. The * symbol can be used in place of the axis designator. The *
defines data for all axes to be the same. For example:
Syntax

Description

PRB=1000

Sets B axis data at 1000

PR*=1000

Sets all axes to 1000

Implicit Notation
These commands require numerical arguments to be specified following the instruction. Values may be specified for any axis separately or any
combination of axes. The comma delimiter indicates argument location. For commands that affect axes, the order of arguments is axis A first, followed
by a comma, axis B next, followed by a comma, and so on. Omitting an argument will result in two consecutive commas and doesn't change that axis'
current value. Examples of valid syntax are listed below.
Valid Syntax

Description

AC n

Specify argument for A axis only

AC n,n

Specify argument for A and B only

AC n,,n

Specify argument for A and C only

AC n,n,n,n

Specify arguments for A,B,C,D axes

AC ,n,,,n

Specify arguments for B and E axis only

AC ,,,n,n

Specify arguments for E and F

Where n is replaced by actual values.

Accepts Axis Mask


These commands require the user to identify the specific axes to be affected. These commands are followed by uppercase X,Y,Z and W or A,B,C,D,E,
F,G and H. In DMC code, X,Y,Z,W and A,B,C,D are synonyms, respectively.
No commas are used and the order of axes is not important. When an argument is not required and is not given, the command is executed for all axes.

file:///C|/commandReference/DMC-18x6/pdf/index.html (3 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Valid Syntax

Description

SH A

Servo Here, A only

SH ABD

Servo Here, A,B and D axes

SH ACD

Servo Here, A,C and D axes

SH ABCD

Servo Here, A,B,C and D axes

SH XYZW

Identical to SH ABCD

SH BCAD

Servo Here, A,B,C and D axes

SH ADEG

Servo Here, A,D,E and G axes

SH H

Servo Here, H axis only

SH

Servo Here, all axes

Two Letter Only


These commands have no options or arguments. Some examples follow.
Valid Syntax

Description

BN

Burn parameters

BV

Burn Variables

BP

Burn Programs

ID

Identify hardware configuration

LA

List arrays

Operator or Comparator
Operators and Comparators take two arguments and return one value. All comparison and operations occur left to right. That is, multiplication and
addition have the same order-of-operation priority, and operations and comparisons are performed as encountered on a left to right search. Parenthesis
should be used to indicate order of operation precedence. Some examples follow.
Valid Syntax

Description

var = 1 + 1

Variable var is assigned value 2

var = 2 + 1 * 3

Variable var is assigned value 9

var = 2 + (1 * 3)

Variable var is assigned value 5

IF ((a=b) & (a=c))

Checks if a=b=c

IF (a=b=c)

Invalid syntax to check if a=b=c

var = (a=1)

var is assigned with boolean value (true/false) based on comparison a=1

@ Function
At functions take one value or evaluated expression and return a result. Some examples follow.
Valid Syntax

Description

var = @SIN[90]

Variable var is assigned value 1. Sine of 90 degrees.

var = @ASIN[1]

Variable var is assigned value 90. Inverse Sine of 1

var = @IN[1]

Variable var is assigned 1 or 0, based on current state of digital input 1

var = @RND[1 + 0.6]

Variable var is assigned 2, 1.6 round to the nearest integer

Embedded Only
Embedded commands make sense only in the context of an embedded application. These commands include jumps, if-then-else syntax, subroutines,
etc. Some examples follow.

file:///C|/commandReference/DMC-18x6/pdf/index.html (4 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Valid Syntax

Description

#go

Labels can be called by name in order to jump code to specific lines

JP#go

Jump to line number indicated by #go label

#AUTO

Automatic subroutine. #AUTO is the entry point for execution on bootup. See entries starting
with # for other automatic subroutines.

RI

Return from interrrupt. This is the termination for certain automatic subtourines (event handlers)

IF (a=5);MG"Five";ELSE;MG"Not Five";ENDIF

If statement. ; can be repleaced by carriage return for better readability

Automatic subroutines operate very similarly to event handlers in event-driven languages. When an event occurs, execution of code jumps to the
automatic subroutine. Once the end of the automatic subroutine is reached, code executution continues where it left off.

Operand
Many commands have corresponding operands that can be used for interrogation or for use within mathematical or other expressions. Operands are not
valid alone, and must be used inside a valid DMC code expression. For example, to print the value of the TIME operand the following command is
issued.
:MG TIME
13779546.0000
:
To assign TIME to a variable and then print it, the following is used.
:var=TIME
:MG var
13909046.0000
:
All DMC codes starting with the underscore _ character are operands. The servo loop counter, TIME, is an operand without an underscore.

Variables and array elements act similarly to operands. Whereas operands are read-only, variables and array elements are read-write. Operands,
variables, and array elements can be arguments to commands, are valid in mathematical expressions, and can can be used in assigments to other
variables and array elements.

Trippoints
The controller provides several commands that can be used to pause execution of code until certain conditions are met. Commands of this type are
called "trippoints." Such trippoints may wait for an elapsed time, wait for a particular input, or in motion controllers wait for particular motion event to
occur.
When a trippoint command is executed, the program halts execution of the next line of code until the status of the trippoint is cleared. Note that the
trippoint only halts execution of the thread from which it is commanded while all other independent threads are unaffected. Additionally, if the
trippoint is commanded from a subroutine, execution of the subroutine, as well as its calling thread, is halted.
Trippoints are intended for use only within embedded DMC code and should not be sent from a terminal or a host application program
executing from a PC.
Popular Trippoints
Trippoint

Short Description

Supported On

WT

wait for a time period (sleep)

All Galil Hardware

AI

wait for a digital input

All Galil Hardware

file:///C|/commandReference/DMC-18x6/pdf/index.html (5 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AM

after move

Motion Controllers

MC

motion complete, in position

Motion Controllers

AT

At time, time from reference

All Galil Hardware

AD

after distance

Motion Controllers

AS

At speed

Motion Controllers

AV

After Vector Distance

Motion Controllers

AA

After Analog

RIO-47xxx only

Interrogation
Most commands accept a question mark (?) as an argument. This argument causes the controller to return parameter information. Type the command
followed by a ? for each axis requested. The syntax format is the same as the parameter arguments described above except '?' replaces the values.
Syntax

Description

PR ?

The controller will return the PR value for the A axis

PR ,,,?

The controller will return the PR value for the D axis

PR ?,?,?,?

The controller will return the PR value for the A,B,C and D axes

PR ,,,,,,,?

The controller will return the PR value for the H axis

PR*=?

The controller will return the PR value for all axes

Data Types
Galil4.2
There is only one native data type in DMC language, the Galil4.2 format. Galil4.2 is a signed, fixed-point, decimal number with 4 bytes of integer and
2 bytes of fraction. Bit encoding of Galil4.2 is 2's compliment.
Integer values range from -2,147,483,648 to 2,147,483,647
Fractional values range from 0.999985 to .000015 in increments of .000015 (one part in 65535). When working with very small fractional values, use
the $ formatter to display the number in hex.
:v=1-$0.0001;'subtract the smallest fractional value
:v=?
1.0000
:v=?{$1.4};'hex display has higher resolution
$0.FFFF
:v=v+$0.0001
:v=?
1.0000
:v=?{$1.4}
$1.0000
:

Strings
Galil "strings" are still variables in 4.2 format, with each byte printed as the ASCII representation of the number. Galil strings are max 6 characters.
The left most character of a string is the most significant byte in the Galil4.2 number.

Boolean
A boolean is represented in the Galil language as a Galil4.2 value. 0.0 is false. All other values are true.
:a=1
:b=2
:c=(a=b);'(a=b) returns a Galil boolean
:LV
a= 1.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (6 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

b= 2.0000
c= 0.0000
:a=2
:c=(a=b)
:LV
a= 2.0000
b= 2.0000
c= 1.0000
:

Flash Memory
Each Galil controller has a flash memory provided for saving parameters and user data. The flash is divided into three sectors, Parameters, Variables
and Arrays, and Program. Each sector has an associated burn command which burns the entire sector.
Flash Sector

Data Storage

Burn Command

Parameters

Stores the controller parameters such as PID filter coefficients, IP address, motion kinematic values, I/O
BN
configurations

Variables and Array

Stores the currently allocated variable table (LV) and each of the arrays in the array table (LA)

BV

Program

Stores program currently downloaded on the controller

BP

Resetting the Controller to Factory Defaults


When a master reset occurs, the controller will reset all setup parameters to their default values and the non-volatile memory is cleared to the factory
state. A master reset is executed by the command, <ctrl R> <ctrl S> <Return> OR by powering up or resetting the controller with the MRST jumper
on.

file:///C|/commandReference/DMC-18x6/pdf/index.html (7 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Table of Contents
Info
Overview
# - Label (subroutine)
#AUTO - Subroutine to run automatically upon power up
#AUTOERR - Automatic subroutine for notification of EEPROM checksum errors
#CMDERR - Command error automatic subroutine
#ININT - Input interrupt automatic subroutine
#LIMSWI - Limit switch automatic subroutine
#MCTIME - MC command timeout automatic subroutine
#POSERR - Position error automatic subroutine
$ - Hexadecimal
& , | - Bitwise Logical Operators AND and OR
( , ) - Parentheses (order of operations)
; - Semicolon (Command Delimiter)
@ABS - Absolute value
@ACOS - Inverse cosine
@AN - Analog Input Query
@ASIN - Inverse sine
@ATAN - Inverse tangent
@COM - Bitwise complement
@COS - Cosine
@FRAC - Fractional part
@IN - Read digital input
@INT - Integer part
@OUT - Read digital output
@RND - Round
@SIN - Sine
@SQR - Square Root
[,] - Square Brackets (Array Index Operator)
^a,^b,^c,^d,^e,^f,^g,^h - JS subroutine stack variable
^L^K - Lock program
^R^S - Master Reset
^R^V - Revision Information
_GP - Gearing Phase Differential Operand
_LF - Forward Limit Switch Operand
_LR - Reverse Limit Switch Operand
~ - Variable Axis Designator
+,-,*, /,% - Math Operators
<,>, =,<=,>=,<> - Comparison Operators
= - Equals (Assignment Operator)
AB - Abort
AC - Acceleration
AD - After Distance
AF - Analog Feedback Select
AI - After Input
AL - Arm Latch
AM - After Move
AP - After Absolute Position
AR - After Relative Distance
AS - At Speed
AT - At Time
AV - After Vector Distance
BA - Brushless Axis
BB - Brushless Phase Begins

file:///C|/commandReference/DMC-18x6/pdf/index.html (8 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BC - Brushless Calibration
BD - Brushless Degrees
BG - Begin
BI - Brushless Inputs
BK - Breakpoint
BL - Reverse Software Limit
BM - Brushless Modulo
BN - Burn
BO - Brushless Offset
BP - Burn Program
BS - Brushless Setup
BV - Burn Variables and Array
BZ - Brushless Zero
CA - Coordinate Axes
CB - Clear Bit
CD - Contour Data
CE - Configure Encoder
CM - Contour Mode
CN - Configure
CO - Configure Extended I O
CR - Circle
CS - Clear Sequence
CW - Copyright information Data Adjustment bit on off
DA - Deallocate the Variables & Arrays
DC - Deceleration
DE - Dual (Auxiliary) Encoder Position
DL - Download
DM - Dimension
DP - Define Position
DR - Configures I O Data Record Update Rate
DT - Delta Time
DV - Dual Velocity (Dual Loop)
EA - Choose ECAM master
EB - Enable ECAM
EC - ECAM Counter
ED - Edit
EG - ECAM go (engage)
EI - Event Interrupts
ELSE - Else function for use with IF conditional statement
EM - Cam cycles (modulus)
EN - End
ENDIF - End of IF conditional statement
EO - Echo
EP - Cam table master interval and phase shift
EQ - ECAM quit (disengage)
ER - Error Limit
ES - Ellipse Scale
ET - Electronic cam table
EW - ECAM Widen Segment
EY - ECAM Cycle Count
FA - Acceleration Feedforward
FE - Find Edge
FI - Find Index
FL - Forward Software Limit
FV - Velocity Feedforward
GA - Master Axis for Gearing

file:///C|/commandReference/DMC-18x6/pdf/index.html (9 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

GD - Gear Distance
GM - Gantry mode
GR - Gear Ratio
HM - Home
HV - Homing Velocity
HX - Halt Execution
IF - IF conditional statement
II - Input Interrupt
IL - Integrator Limit
IN - Input Variable
IP - Increment Position
IT - Independent Time Constant - Smoothing Function
JG - Jog
JP - Jump to Program Location
JS - Jump to Subroutine
KD - Derivative Constant
KI - Integrator
KP - Proportional Constant
KS - Step Motor Smoothing
LA - List Arrays
LC - Low Current Stepper Mode
LD - Limit Disable
LE - Linear Interpolation End
LI - Linear Interpolation Distance
LL - List Labels
LM - Linear Interpolation Mode
LS - List
LV - List Variables
LZ - Inhibit leading zeros
MC - Motion Complete
MF - Forward Motion to Position
MG - Message
MO - Motor Off
MR - Reverse Motion to Position
MT - Motor Type
NB - Notch Bandwidth
NF - Notch Frequency
NO,' - No Operation
NZ - Notch Zero
OA - Off on encoder failure
OB - Output Bit
OC - Output Compare
OE - Off-on-Error
OF - Offset
OP - Output Port
OT - Off on encoder failure time
OV - Off on encoder failure voltage
PA - Position Absolute
PF - Position Format
PL - Pole
PR - Position Relative
PT - Position Tracking
PW - Password
QD - Download Array
QR - I O Data Record
QS - Error Magnitude

file:///C|/commandReference/DMC-18x6/pdf/index.html (10 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

QU - Upload Array
QZ - Return Data Record information
RA - Record Array
RC - Record
RD - Record Data
RE - Return from Error Routine
REM - Remark
RI - Return from Interrupt Routine
RL - Report Latched Position
RP - Reference Position
RS - Reset
SB - Set Bit
SC - Stop Code
SD - Switch Deceleration
SH - Servo Here
SL - Single Step
SP - Speed
ST - Stop
TB - Tell Status Byte
TC - Tell Error Code
TD - Tell Dual Encoder
TE - Tell Error
TI - Tell Inputs
TIME - Time Operand
TK - Peak Torque Limit
TL - Torque Limit
TM - Update Time
TN - Tangent
TP - Tell Position
TR - Trace
TS - Tell Switches
TT - Tell Torque
TV - Tell Velocity
TW - Timeout for IN Position (MC)
UI - User Interrupt
UL - Upload
VA - Vector Acceleration
VD - Vector Deceleration
VE - Vector Sequence End
VF - Variable Format
VM - Vector Mode
VP - Vector Position
VR - Vector Speed Ratio
VS - Vector Speed
VV - Vector Speed Variable
WT - Wait
XQ - Execute Program
YA - Step Drive Resolution
YB - Step Motor Resolution
YC - Encoder Resolution
YR - Error Correction
YS - Stepper Position Maintenance Mode Enable, Status
ZA - User Data Record Variables
ZS - Zero Subroutine Stack

file:///C|/commandReference/DMC-18x6/pdf/index.html (11 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Syntax:

Other

Operands:

none

Burn:

not burnable

Label (subroutine)
Full Description
The # operator denotes the name of a program label (for example #Move). Labels can be up to seven characters long and are often used to implement
subroutines or loops. Labels are divided into (a) user defined (b) automatic subroutines. User defined labels can be printed with LL and the number of
labels left available can be queried with MG _DL. The automatic subroutines include #CMDERR, #LIMSWI, #POSERR, #ININT, #AUTO,
#AUTOERR, and #MCTIME (no RIO).
A label can only be defined at the beginning of a new line.
There is a maximum of 510 labels available

Arguments
#nnnnnnn where
nnnnnnn is a label name up to seven characters. Uppercase or lowercase characters are valid.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (no RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
LL - List labels
_DL - Labels available
JP - Jump statement
JS - Jump subroutine

Examples:
'A simple example of iteration. The loop will run 10 times
i=0;'
Create a counter
#Loop;'
Label
i=i+1;'
Increment counter
JP#Loop, i<10;' spin in #Loop until i >= 10
EN;'
End the subroutine or thread

file:///C|/commandReference/DMC-18x6/pdf/index.html (12 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#AUTO

Syntax:

Other

Operands:

none

Burn:

not burnable

Subroutine to run automatically upon power up


Full Description
#AUTO defines code to run automatically when power is applied to the controller, or after the controller is reset. When no host software is used with
the controller, #AUTO and the BP command are required to run an application program on the controller.
Upon controller startup, application code will automatically begin running in thread 0 at #AUTO.
Use EN to end the routine.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Related Commands
BP - Burn program
EN - End program
#AUTOERR - Automatic Subroutine for EEPROM error

Examples:
'On startup, this code will create a 50% duty cycle square wave on output 1 with a period of 1
second.
#AUTO;'
Start on powerup
SB1;'
Set bit 1
WT500;'
Wait 500msec
CB1;'
Clear bit 1
WT500;'
Wait 500msec
JP#AUTO;' Jump back to #AUTO

file:///C|/commandReference/DMC-18x6/pdf/index.html (13 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#AUTOERR

Syntax:

Other

Operands:

none

Burn:

not burnable

Automatic subroutine for notification of EEPROM checksum errors


Full Description
#AUTOERR will run code upon power up if data in the EEPROM has been corrupted. The EEPROM is considered corrupt if the checksum calculated
on the bytes in the EEPROM do not match the checksum written to the EEPROM. The type of checksum error can be queried with _RS
Use EN to end the routine.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
_RS - Checksum error code operand
EN - End program

Examples:
'Code detects a checksum error and notifies the user
#AUTOERR
MG"EEPROM ERROR ",_RS
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (14 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#CMDERR

Syntax:

Other

Operands:

none

Burn:

not burnable

Command error automatic subroutine


Full Description
#CMDERR is an automatic subroutine that runs code when a DMC code error occurs.
Without #CMDERR defined, if an error (see TC command) occurs in an application program running on the Galil controller, the program (and all
threads) will stop.
Use EN to end the routine.
#CMDERR will only run from errors generated within embedded DMC code.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Related Commands
TC - Tell Error Code
_ED - Last program line with an error
EN - End program

Examples:
'This code will put the motion controller in Position Tracking mode.
'Variable "target" is updated from the terminal or from a host program
'to specify a new target. #CMDERR is used to detect a bad target value.
#start
DPA=0;'
Define current position as zero
PTA=1;'
Turn on position tracking
target=0;'
Initialize target variable
#track;'
Start tracking
PAA=target;' Track to current value of target
WT500;'
Wait 500 ms
JP#track;'
Continue to track
'
'
#CMDERR;' runs if an error occurs
JP#done,_TC<>6 ;'check that an out of range occured (See TC)
MG"Value ",target," is out of range for Position Tracking"
target=_PAA ;' reset target
#done
EN1 ;'return to tracking logic
file:///C|/commandReference/DMC-18x6/pdf/index.html (15 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (16 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#ININT

Syntax:

Other

Operands:

none

Burn:

not burnable

Input interrupt automatic subroutine


Full Description
#ININT is an automatic subroutine that runs upon a state transition of digital inputs 1 to 8 and is configured with II. #ININT runs in thread 0.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Related Commands
II- Input interrupt
@IN - Read digital input
RI - Return from interrupt

Examples:
II1;
EN;
'
#ININT;
MG"Inputs:",_TI0;
WT100;
RI;

'arm digital input 1


'End thread zero
'Automatic sub. Runs on input event
'Display status of inputs 1-8
'Debounce input
'Return from interrupt

file:///C|/commandReference/DMC-18x6/pdf/index.html (17 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#LIMSWI

Syntax:

Other

Operands:

none

Burn:

not burnable

Limit switch automatic subroutine


Full Description
Without #LIMSWI defined, the controller will effectively issue the STn on the axis when it's limit switch is tripped. With #LIMSWI defined, the axis
is still stopped, and in addition, code is executed. #LIMSWI is most commonly used to turn the motor off when a limit switch is tripped (see example
below). For #LIMSWI to run, the switch corresponding to the direction of motion must be tripped (forward limit switch for positive motion and
negative limit switch for negative motion). #LIMSWI interrupts thread 0 when it runs.
Use RE to terminate the #LIMSWI subroutine.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Dafault Value

N/A

Default Format

N/A

Related Commands
_LFn - State of forward limit switch
_LRn - State of reverse limit switch
LD - Limit Disable

Examples:
#Main
;'print a message every second
MG "Main"
WT1000
JP#Main
EN
'
#LIMSWI ;'runs when a limit switch is tripped
IF (_LFX = 0) | (_LRX = 0)
MG "X"
DCX=67107840
STX
AMX
MOX
ELSE; IF (_LFY = 0) | (_LRY = 0)
MG "Y"
DCY=67107840
file:///C|/commandReference/DMC-18x6/pdf/index.html (18 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

STY
AMY
MOY
ENDIF; ENDIF
RE1

file:///C|/commandReference/DMC-18x6/pdf/index.html (19 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#MCTIME

Syntax:

Other

Operands:

none

Burn:

not burnable

MC command timeout automatic subroutine


Full Description
#MCTIME runs when the MC command is used to wait for motion to be complete, and the actual position TP does not reach or pass the target within
the specified timeout TW.
Use EN to terminate the subroutine.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
MC - Wait for motion complete trip point
TW - MC timeout

Examples:
#BEGIN;'
TWX=1000;'
PRX=10000;'
BGX;'
MCX;'
EN;'
'
#MCTIME;'
MG "X fell short";'
EN1;'

Begin main program


Set the time out to 1000 ms
Position relative
Begin motion
Motion Complete trip point
End main program
Motion Complete Subroutine
Send out a message
End subroutine

file:///C|/commandReference/DMC-18x6/pdf/index.html (20 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

#POSERR

Syntax:

Other

Operands:

none

Burn:

not burnable

Position error automatic subroutine


Full Description
The factory default behavior of the Galil controller upon a position error (_TEn > _ERn) is to do nothing more than drive the error signal low, turning
on the red error LED. If OE is set to 1, the motor whose position error (TE) equals or exceeds its threshold (ER) will be turned off (MO). #POSERR
can be used if the programmer wishes to run code upon a position error, for example to notify a host computer.
The #POSERR label causes the statements following to be automatically executed if error on any axis exceeds the error limit specified by ER. The
error routine must be closed with the RE command. The RE command returns from the error subroutine to the main program.
Use RE to end the routine
#POSERR will also run when OE1 is set for an axes and that axis is also setup for encoder failure detection (see OA, OT, OV commands).
The automatic subroutine runs in thread 0. If thread 0 is running, it will jump to #POSERR when an error occurs. If thread 0 is not running, #POSERR
will be started in thread 0.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
OE - Off on error
TE - Tell error
ER - Error limit
RE - Return from error routine

Examples:
#main;'
'
JP #main

main program

REM simple example of #POSERR


#POSERR
MG "#POSERR"
RE

file:///C|/commandReference/DMC-18x6/pdf/index.html (21 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

REM example of #POSERR that checks for position error on each axis
#POSERR
~a=0;'
axis designator
IF ((_TE~a>_ER~a)&(_OE~a))
MG "Position Error occured on ",~a{F1.0}," axis"
ENDIF
~a=~a+1
JP#POSERR,~a<_BV;' loop until axes have been checked
AI 1;'
wait until input 1 goes high (ex. safety switch)
SH
RE1;'
retrurn to main program
REM #POSERR example for checking to see if encoder failure occured
REM The stop code will only update of the profilier is running at the time
REM the encoder failure is detected.
#POSERR
~a=0
#loop
IF _MO~a=1
IF ((_TE~a<_ER~a)&(_OE~a)&(_OA~a))
MG "possible encoder failure on ",~a{Z1.0}," axis"
ENDIF
ENDIF
~a=~a+1
JP#loop,~a<_BV
AI1;'
wait for input 1 to go high
SH;'
enable all axes
RE

file:///C|/commandReference/DMC-18x6/pdf/index.html (22 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

$
Hexadecimal
Full Description
The $ operator denotes that the following string is in hexadecimal notation.

Arguments
$nnnnnnnn.mmmm
n is up to eight hexadecimal digits (denoting 32 bits of integer)
m is up to four hexadecimal digits (denoting 16 bits of fraction)

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
+ - * / % - Multiply (shift left)
+ - * / % - Divide (shift right)
MG {$8.4} - Print in hexadecimal

Examples:
x = $7fffffff.0000
;'store 2147483647 in x
y = x & $0000ffff.0000
;'store lower 16 bits of x in y
z = x & $ffff0000.0000 / $10000 ;'store upper 16 bits of x in z

file:///C|/commandReference/DMC-18x6/pdf/index.html (23 of 281)8/16/2010 1:21:02 PM

Syntax:

Operator or Comparator

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

&,|

Syntax:

Operator or Comparator

Operands:

none

Burn:

not burnable

Bitwise Logical Operators AND and OR


Full Description
The operators & and | are typically used with IF, JP, and JS to perform conditional jumps; however, they can also be used to perform bitwise logical
operations.

Arguments
n & m or n | m where
n and m are signed numbers in the range -2147483648 to 2147483647.
For IF, JP, and JS, n and m are typically the results of logical expressions such as (x > 2) & (y=8)
"&" is also used to pass a variable by reference in a JS call. See JS.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@COM[n] - Bitwise complement
IF - If statement
JP - Jump statement
JS - Jump subroutine

Examples:
IF (x > 2) & (y = 4)
'x must be greater than 2 and y equal to 4
'for the message to print
MG "true"
ENDIF
:MG 1 | 2
3.0000
:'Bitwise operation:

01 OR 10 is 11 = 3

Pass By Reference Example:


#main
value=5;'
global=8;'

a value to be passed by reference


a global variable

file:///C|/commandReference/DMC-18x6/pdf/index.html (24 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

JS#SUM(&value,1,2,3,4,5,6,7);' note first arg passed by reference


MG value;'
message out value after subroutine.
MG _JS;'
message out returned value
EN
'
#SUM;'
(* ^a,^b,^c,^d,^e,^f,^g)
^a=^b+^c+^d+^e+^f+^g+^h+global
EN,,^a
'notes'do not use spaces when working with ^
'If using global variables, they MUST be created before the subroutine is run
Executed program from program2.dmc
36.0000
36.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (25 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

(,)

Syntax:

Other

Operands:

none

Burn:

not burnable

Parentheses (order of operations)


Full Description
The parentheses denote the order of math and logical operations. Note that the controller DOES NOT OBEY STANDARD MATHEMATICAL
OPERATOR PRECEDENCE. For example, multiplication is NOT evaluated before addition. Instead, the controller follows left-to-right precedence.
Therefore, it is required to use parentheticals to ensure intended precedence.

Arguments
(n) where
n is a math (+ - * /) or logical (& |) expression

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
+ - * / - Math Operators
& | - Logical Operators

Examples:
:MG 1 + 2 * 3
9.0000
:MG 1 + (2 * 3)
7.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (26 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Syntax:

Other

Operands:

none

Burn:

not burnable

Semicolon (Command Delimiter)


Full Description
The semicolon operator allows multiple Galil commands to exist on a single line. It is used for the following three reasons:
(1) To put comments on the same line as the command (STX ;'stop)
(2) To compress DMC programs to fit within the program line limit (Note: use a compression utility to do this. Do not program this way because it is
hard to read.)
(3) To give higher priority to a thread. All commands on a line are executed before the thread scheduler switches to the next thread.

Arguments
n;n;n;n
where
n is a valid Galil command

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
NO - No Op, comment
' - comment

Examples:
SB1;WT500;CB1;'multiple commands separated by semicolons with a comment
#High;'
#High priority thread executes twice as fast as
a = a + 1; b = b + 1
JP#High
#Low;'
c = c + 1
d = d + 1
JP#Low

#Low when run in parallel

file:///C|/commandReference/DMC-18x6/pdf/index.html (27 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

@ABS
Absolute value
Full Description
Takes the absolute value of the given number. Returns the value if positive, and returns -1 times the value if negative.

Arguments
@ABS[n] where
n is a signed number in the range -2147483647 to 2147483647

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
All math operators

Examples:
:MG @ABS[-2147483647]
2147483647.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (28 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@ACOS
Inverse cosine
Full Description
Returns in degrees the arc cosine of the given number.

Arguments
@ACOS[n] where
n is a signed number in the range -1 to 1.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ASIN - Arc sine
@SIN - sine
@ATAN - Arc tangent
@COS - Cosine
@TAN - Tangent

Examples:
:MG @ACOS[-1]
180.0000
:MG @ACOS[0]
90.0000
:MG @ACOS[1]
0.0001

file:///C|/commandReference/DMC-18x6/pdf/index.html (29 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@AN
Analog Input Query
Full Description
Returns the value of the given analog input in volts

Arguments
@AN[n] where n is the input number assigned to a particular analog input pin (1-8)

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

While Moving Yes Default Value


In a Program Yes Default Format
Command Line Yes

@AN[] is an operand, not a command. It can only be used as an argument to other commands and operators

Related Commands
Examples:
:MG @AN[1] ;'print analog input 1
1.7883
:x = @AN[1] ;'assign analog input 1 to a variable

file:///C|/commandReference/DMC-18x6/pdf/index.html (30 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@ASIN
Inverse sine
Full Description
Returns in degrees the arc sine of the given number.

Arguments
@ASIN[n] where
n is a signed number in the range -1 to 1.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ACOS[n] - Arc cosine
@SIN[n] - sine
@ATAN[n] - Arc tangent
@COS[n] - Cosine
@TAN[n] - Tangent

Examples:
:MG @ASIN[-1]
-90.0000
:MG @ASIN[0]
0.0000
:MG @ASIN[1]
90.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (31 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@ATAN
Inverse tangent
Full Description
Returns in degrees the arc tangent of the given number.

Arguments
@ATAN[n]
n is a signed number in the range -2147483647 to 2147483647

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ASIN - Arc sine
@SIN - Sine
@ACOS - Arc cosine
@COS - Cosine
@TAN - Tangent

Examples:
:MG @ATAN[-10]
-84.2894
:MG @ATAN[0]
0.0000
:MG @ATAN[10]
84.2894

file:///C|/commandReference/DMC-18x6/pdf/index.html (32 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@COM
Bitwise complement
Full Description
Performs the bitwise complement (NOT) operation to the given number

Arguments
@COM[n] where
n is a signed integer in the range -2147483647 to 2147483647.
The integer is interpreted as a 32-bit field.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
& | - Logical operators AND and OR

Examples:
:MG {$8.0} @COM[0]
$FFFFFFFF
:MG {$8.0} @COM[$FFFFFFFF]
$00000000

file:///C|/commandReference/DMC-18x6/pdf/index.html (33 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@COS
Cosine
Full Description
Returns the cosine of the given angle in degrees

Arguments
@COS[n] where
n is a signed number in degrees in the range of -32768 to 32767, with a fractional resolution of 16-bit.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ASIN[n] - Arc sine
@SIN[n] - Sine
@ATAN[n] - Arc tangent
@ACOS[n] - Arc cosine
@TAN[n] - Tangent

Examples:
:MG @COS[0]
1.0000
:MG @COS[90]
0.0000
:MG @COS[180]
-1.0000
:MG @COS[270]
0.0000
:MG @COS[360]
1.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (34 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@FRAC
Fractional part
Full Description
Returns the fractional part of the given number

Arguments
@FRAC[n], n is a signed number in the range -2147483648 to 2147483647.

Operand Usage
N/A

Usage
Usage and Default Detail
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@INT[n] - Integer part

Examples:
:MG @FRAC[1.2]
0.2000
:MG @FRAC[-2.4]
-0.4000

file:///C|/commandReference/DMC-18x6/pdf/index.html (35 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@IN
Read digital input
Full Description
Returns the value of the given digital input (either 0 or 1)

Arguments
@IN[n]
where
n is an unsigned integer in the range 1 to 96

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@AN[n] - Read analog input
@OUT[n] - Read digital output
SB - Set digital output bit
CB - Clear digital output bit
OF- Set analog output offset

Examples:
MG @IN[1]
:1.0000
x = @IN[1]
x = ?
:1.000 print digital input 1

file:///C|/commandReference/DMC-18x6/pdf/index.html (36 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@INT

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Integer part
Full Description
Returns the integer part of the given number. Note that the modulus operator can be implemented with @INT (see example below).

Arguments
@INT[n]
n is a signed number in the range -2147483648 to 2147483647.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@FRAC - Fractional part

Examples:
:MG @INT[1.2]
1.0000
:MG @INT[-2.4]
-2.0000
#AUTO;'
x = 10;'
y = 3
JS#mod;'
MG z;'
EN

modulus example
prepare arguments
call modulus
print return value

'subroutine: integer remainder of x/y (10 mod 3 = 1)


'arguments are x and y. Return is in z
#mod
z = x - (y * @INT[x/y])
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (37 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

@OUT
Read digital output
Full Description
Returns the value of the given digital output (either 0 or 1)

Arguments
@OUT[n] where
n is an unsigned integer in the range 1 to 80

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@AN - Read analog input
@IN - Read digital input
SB - Set digital output bit
CB - Clear digital output bit
OF - Set analog output offset

Examples:
MG @OUT[1] ;'print digital output 1
:1.0000
x = @OUT[1] ;'assign digital output 1 to a variable

file:///C|/commandReference/DMC-18x6/pdf/index.html (38 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@RND
Round
Full Description
Rounds the given number to the nearest integer

Arguments
@RND[n]
n is a signed number in the range -2147483648 to 2147483647.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@INT - Truncates to the nearest integer

Examples:
:MG @RND[1.2]
1.0000
:MG @RND[5.7]
6.0000
:MG @RND[-1.2]
-1.0000
:MG @RND[-5.7]
-6.0000
:MG @RND[5.5]
6.0000
:MG @RND[-5.5]
-5.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (39 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@SIN
Sine
Full Description
Returns the sine of the given angle in degrees

Arguments
@SIN[n] where
n is a signed number in degrees in the range of -32768 to 32767, with a fractional resolution of 16-bit.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ASIN - Arc sine
@COS - Cosine
@ATAN - Arc tangent
@ACOS - Arc cosine
@TAN - Tangent

Examples:
:MG @SIN[0]
0.0000
:MG @SIN[90]
1.0000
:MG @SIN[180]
0.0000
:MG @SIN[270]
-1.0000
:MG @SIN[360]
0.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (40 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

@SQR
Square Root
Full Description
Takes the square root of the given number. If the number is negative, the absolute value is taken first.

Arguments
@SQR[n] where
n is a signed number in the range -2147483648 to 2147483647.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
@ABS[n] - Absolute value

Examples:
:MG @SQR[2]
1.4142
:MG @SQR[-2]
1.4142

file:///C|/commandReference/DMC-18x6/pdf/index.html (41 of 281)8/16/2010 1:21:02 PM

Syntax:

@ Function

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

[,]

Syntax:

Other

Operands:

none

Burn:

not burnable

Square Brackets (Array Index Operator)


Full Description
The square brackets are used to denote the array index for an array, or to denote an array name. (They are also used to designate the argument to a
function, such as @ABS[n].)

Arguments
mmmmmmmm[n] where
mmmmmmmm is the array name
n is the array index and is an integer between 0 and 15999
When used in an array, n=-1 returns the array length.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
DM - Dimension Array
QU - Print/Upload Array

Examples:
DM A[50]
A[0] = 3
MG A[0]

;'define a 50 element array


;'set first element to 3
;'print element 0

#array
DM A[5];'
A[0] = 3;'
MG "A[0]=",A[0];'
len= A[-1];'
QU A[],0,len-1,1;MG"";'
MG "A[] length=",len;'
EN

define a 100 element array


set first element to 3
print element 0
variable len now contains the length of array A[]
print entire array
display Variable len

:XQ#array
:
A[0]= 3
3, 4320, 216666, 217522, 607950
A[] length= 5
file:///C|/commandReference/DMC-18x6/pdf/index.html (42 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (43 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

^a,^b,^c,^d,^e,^f,^g,^h

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

JS subroutine stack variable


Full Description
Provides local subroutine access for up to 8 variables passed on the subroutine stack when using the JS (jump to subroutine) command. Passing values
on the stack is advanced DMC programming, and is recommended for experienced DMC programmers familiar with the concept of passing arguments
by value and by reference. See the JS command for a full explanation of passing stack variables.
Notes:
1. Passing parameters has no type checking, so it is important to exercise good programming style when passing parameters. See examples below for
recommended syntax.
2. Do not use spaces in expressions containing ^.
3. Global variables MUST be assigned prior to any use in subroutines where variables are passed by reference.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

DMC-4xxx, DMC-18x6

Default Value

N/A

Default Format

N/A

Related Commands
MG - Message - & Pass by reference
JS - Jump to subroutine

Examples:
#Add
JS#SUM(1,2,3,4,5,6,7,8) ;' call subroutine, pass values
MG_JS
;' print return value
EN
'
#SUM
;NO(^a,^b,^c,^d,^e,^f,^g,^h) Sums the values ^a to ^h and returns the result
EN,,(^a+^b+^c+^d+^e+^f+^g+^h)
;' return sum
:Executed program from program1.dmc
36.0000
Note:
For additional examples, see the "JS Subroutine Stack Variables (^a, ^b, ^c, ^d, ^e, ^f,
^g, ^h)" section in the DMC-40x0 User Manual.

file:///C|/commandReference/DMC-18x6/pdf/index.html (44 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

^L^K

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Lock program
Full Description
<control>L<control>K locks user access to the application program. When locked, the ED, UL, LS, and TR commands will give privilege error #106.
The application program will still run when locked.
The locked or unlocked state can be saved with a BN command. Upon master reset, the controller is unlocked. Once the program is unlocked, it
will remain accessible until a lock command or a reset (with the locked condition burned in) occurs.

Arguments
<control>L<control>K password,n where
When n is 1, this command will lock the application program.
When n is 0, the program will be unlocked.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

DMC-4xxx, DMC-18x6, RIO-47xxx

Default Value

N/A

Default Format

N/A

Related Commands
PW - Password
ED - Edit program
UL - Upload program
LS - List program
TR - Trace program

Examples:
:PWtest,test
:^L^K test,1
:LS
?
:TC1
106 Privilege violation
:

Set password to "test"


Lock the program
Attempt to list the program

file:///C|/commandReference/DMC-18x6/pdf/index.html (45 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

^R^S

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

Master Reset
Full Description
The Master Reset command resets the controller to factory default settings and erases EEPROM.
A master reset can also be performed by installing a jumper at the location labeled MRST and resetting the board (power cycle or pressing the reset
button). Remove the jumper after this procedure.
Note: Sending a ^R^S over an Ethernet connection will cause the IP address to be cleared from the controller and will result in a timeout.

Arguments
Operand Usage
N/A

Usage
Usage and Defalut Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Formula

N/A

Related Commands
RS - Reset

Examples:
Example burns-in a non-default value for KP, does a standard reset with
the RS command, then performs a master reset with ^R^S.
:KP?
6.00
:KP10
:BN
:RS
:KP?
10.00
:^R^S
:KP?
6.00
:

file:///C|/commandReference/DMC-18x6/pdf/index.html (46 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

^R^V
Revision Information
Full Description
The Revision Information command causes the controller to return the firmware revision information.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
N/A

file:///C|/commandReference/DMC-18x6/pdf/index.html (47 of 281)8/16/2010 1:21:02 PM

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

_GP

Syntax:

Operand Only

Operands:

_GP

Burn:

not burnable

Gearing Phase Differential Operand


Full Description
The _GP operand contains the value of the "phase differential"* accumulated on the most current change in the gearing ratio between the master and
the slave axes. The value does not update if the distance over which the slave will engage is set to 0 with the GD command.
The operand is specified as: _GPn where n is the specified slave axis
* Phase Differential is a term that is used to describe the lead or lag between the master axis and the slave axis due to gradual gear shift. Pd=GR*CmCs where Pd is the phase differential, GR is the gear ratio, Cm is the number of encoder counts the master axis moved, and Cs is the number of encoder
counts the slave moved.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Defalut Value

N/A

Default Format

N/A

Related Commands
GR - Gear Ratio
GA - Gear Axis

Examples:
#A
GAY;'
'
'
'
GD1000;'
'
'
AI-1;'
'
'
'
'
GR1;'
P1=_TPY;'
'
'

Sets the Y axis as the gearing master for the X axis.


This axis does not have to be under servo control. In
this example, the axis is connected to a conveyor
operating open loop.
Set the distance that the master will travel to 1000
counts before the gearing is fully engaged for the X
axis slave.
Wait for input 1 to go low. In this example, this
input is representing a sensor that senses an object
on a conveyor. This will trigger the controller to
begin gearing and synchronize the master and slave
axes together.
Engage gearing between the master and slave
Sets the current Y axis position to variable P1. This
variable is used in the next command, because MF
requires an absolute position..

file:///C|/commandReference/DMC-18x6/pdf/index.html (48 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

MF,(P1+1000);'Wait for the Y axis (master) to move forward 1000


'
encoder counts so the gearing engagement period is
'
complete. Then the phase difference can be adjusted
'
for. Note this example assumes forward motion.
IP_GPX;' Increment the difference to bring the master/slave in
'
position sync from the point that the GR1 command was
'
issued.
EN;'
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (49 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

_LF

Syntax:

Operand Only

Operands:

_LFn

Burn:

not burnable

Forward Limit Switch Operand


Full Description
The _LF operand contains the state of the forward limit switch for the specified axis.
The operand is specified as: _LFn where n is the specified axis.
Note: This operand is affected by the configuration of the limit switches set by the command CN:
For CN -1:
_LFn = 1 when the limit switch input is inactive*
_LFn = 0 when the limit switch input is active*
For CN 1:
_LFn = 0 when the limit switch input is inactive*
_LFn = 1 when the limit switch input is active*
* The term "active" refers to the condition when at least 1 ma of current is flowing through the input circuitry. The input circuitry can be configured to
sink or source current to become active. See Chapter 3 in the User's Manual for further details.

Arguments
N/A

Operand Usage
_LF is an operand

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
_LR - Reverse Limit Switch Operand

Examples:
MG _LFA Display the status of the A axis forward limit switch
*See Connecting Hardware in User Manual for active/inactive state

file:///C|/commandReference/DMC-18x6/pdf/index.html (50 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

_LR

Syntax:

Operand Only

Operands:

_LRn

Burn:

not burnable

Reverse Limit Switch Operand


Full Description
The _LR operand contains the state of the reverse limit switch for the specified axis.
The operand is specified as: _LRn where n is the specified axis.
Note: This operand is affected by the configuration of the limit switches set by the command CN:
For CN -1:
_LRn = 1 when the limit switch input is inactive*
_LRn = 0 when the limit switch input is active*
For CN 1:
_LRn = 0 when the limit switch input is inactive*
_LRn = 1 when the limit switch input is active*
* The term "active" refers to the condition when at least 1 ma of current is flowing through the input circuitry. The input circuitry can be configured to
sink or source current to become active. See Chapter 3 in the User's Manual for further details.

Arguments
N/A

Operand Usage
_LR is an operand

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
_LF - Forward Limit Switch Operand

Examples:
MG _LRA Display the status of the A axis reverse limit switch
*See Connecting Hardware in User Manual for active/inactive state

file:///C|/commandReference/DMC-18x6/pdf/index.html (51 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

~
Variable Axis Designator
Full Description
The ~ signifies a variable axis designator

Arguments
~n=m
n is a lowercase letter a through h
m is a positive integer 0 through 11, where
0 or "A" (quotes required) = X axis
1 or "B" = Y axis
2 or "C" = Z axis
3 or "D" = W axis
4 or "E" = E Axis
5 or "F" = F axis
6 or "G" = G axis
7 or "H" = H axis
8 or "S" = S coordinate system
9 or "T" = T coordinate system
10 or "N" = Virtual N axis
11 or "M" = Virtual M axis

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

1.0

Related Commands
~n contains the axis number 0-11

Examples:
~a=2;~b=5
PR~a=1000
JG~b=9000
BG~a~b

Sets ~a to 2(Z axis). Sets ~b to 6 (G axis)


Relative position move 1000 counts on ~a axis (set as Z axis)
Set jog speed of ~b axis (set as G axis) to 9000 cts/sec
Begin motion on ~a and ~b axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (52 of 281)8/16/2010 1:21:02 PM

Syntax:

Other

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

+,-,*, /,%

Syntax:

Operator or Comparator

Operands:

none

Burn:

not burnable

Math Operators
Full Description
The addition, subtraction, multiplication, division, and modulus (Accelera only) operators are binary operators (they take two arguments and return one
value) used to perform mathematical operations on variables, constants, and operands.
Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction.
Example:
1+2*3 = 9 (not 7)
It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command.
Example:
var = ((10*30)+(60/30));' evaluates as 302
var = 10*30+60/30;' evalutes as 12

Arguments
(n + m) or (n - m) or (n * m) or (n / m) or (n % m) where
n and m are signed numbers in the range -2147483648 to 2147483647

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
( ) - Parenthesis

Examples:
:x = ((1 + (2 * 3)) / 7) - 2
;'assign -1 to x
:MG 40 % 6
;'integer remainder of 40 divided by 6
4.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (53 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

<,>, =,<=,>=,<>

Syntax:

Operator or Comparator

Operands:

none

Burn:

not burnable

Comparison Operators
Full Description
The comparison operators are as follows:
< less than
> greater than
= equals
<= less than or equal
>= greater than or equal
<> not equals
These are used in conjunction with IF, JP, JS, ( ), &, and | to perform conditional jumps. The result of a comparison expression can also be printed with
MG or assigned to a variable.

Arguments
(n < m) or (n > m) or (n = m) or (n <= m) or (n >= m) or (n <> m) where
n and m are signed numbers in the range -2147483648 to 2147483647

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
( ) - Parentheses
IF - If statement
JP - Jump
JS - Jump subroutine

Examples:
IF (x > 2) & (y = 4)
MG "true"
ENDIF
;x must be greater than 2 and y equal to 4 for the message to print

file:///C|/commandReference/DMC-18x6/pdf/index.html (54 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

=
Equals (Assignment Operator)
Full Description
The assignment operator is used for three reasons:
(1) to define and initialize a variable (x = 0) before it is used
(2) to assign a new value to a variable (x = 5)
(3) to print a variable or array element (x= which is equivalent to MG x). MG is the preferred method of printing.

Arguments
mmmmmmmm = n where
mmmmmmmm is a variable name and n is a signed number in the range -2147483648 to 2147483647

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
MG - Print Message

Examples:
:x=5
:x=
5.0000
:MG x
5.0000
:
;'define and initialize x to 5
;'print x two different ways

file:///C|/commandReference/DMC-18x6/pdf/index.html (55 of 281)8/16/2010 1:21:02 PM

Syntax:

Other

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

AB

Syntax:

Implicit Notation Only

Operands:

_ABn

Burn:

not burnable

Abort
Full Description
AB (Abort) stops a motion instantly without a controlled deceleration. If there is a program operating, AB also aborts the program unless a 1 argument
is specified. The command, AB, will shut off the motors for any axis in which the off on error function is enabled (see command OE).
AB aborts motion on all axes in motion and cannot stop individual axes.

Arguments
AB n
where
n=0
The controller aborts motion and program
n=1
The controller aborts motion only
No argument will cause the controller to abort the motion and program

Operand Usage
_AB gives state of Abort Input, 1 inactive and 0 active.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
SH - Re-enables motor
OE - Specifies Off On Error

Examples:
AB
Stops motion
OE 1,1,1,1
Enable off on error
AB
Shuts off motor command and stops motion
#A
Label - Start of program
JG 20000
Specify jog speed on X-axis
BGX
Begin jog on X-axis
WT 5000 Wait 5000 msec
AB1
Stop motion without aborting program
WT 5000 Wait 5000 milliseconds
SH
Servo Here
JP #A
Jump to Label A
EN
End of the routine
Hint: Remember to use the parameter 1 following AB if you only want the motion to be aborted.
Otherwise, your application program will also be aborted.

file:///C|/commandReference/DMC-18x6/pdf/index.html (56 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AC

Syntax:

Explicit & Implicit

Operands:

_ACn

Burn:

burnable with BN

Acceleration
Full Description
The Acceleration (AC) command sets the linear acceleration rate of the motors for independent moves, such as PR, PA and JG moves. The acceleration
rate may be changed during motion. The DC command is used to specify the deceleration rate.

Arguments
AC n,n,n,n,n,n,n,n or ACA=n
where
n is an unsigned number in the range 1024 to 1073740800. The parameters input will be rounded down to the nearest factor of 1024. The units of the
parameters are counts per second squared.
n=?
Returns the acceleration value for the specified axes.

Operand Usage
_ACm contains the value of acceleration for the specified axis.
where m is the axis (ex MG _ACA)

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256000

Default Format

8.0

Related Commands
DC - Specifies deceleration rate.
FA - Feedforward Accelleration
IT - Smoothing constant - S-curve

Examples:
AC 150000,200000,300000,400000 Set A-axis acceleration to 150000, B-axis to 200000 counts/sec2,
the C axis to 300000 counts/sec2, and the D-axis to 400000 count/sec2.
AC ?,?,?,?
Request the Acceleration
149504, 199680, 299008, 399360 Return Acceleration
(resolution, 1024)
V=_ACB Assigns the B acceleration to the variable V
Hint: Specify realistic acceleration rates based on your physical system such as motor torque
rating, loads, and amplifier current rating. Specifying an excessive acceleration will cause large
following error during acceleration and the motor will not follow the commanded profile. The
acceleration feedforward command FA will help minimize the error.

file:///C|/commandReference/DMC-18x6/pdf/index.html (57 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AD

Syntax:

Explicit & Implicit


& Trippoint

Operands:

none

Burn:

not burnable

After Distance
Full Description
The After Distance (AD) command is a trippoint used to control the timing of events. This command will hold up the execution of the following
command until one of the following conditions have been met:
1. The commanded motor position crosses the specified relative distance from the start of the move.
2. The motion profiling on the axis is complete.
3. If in jog (JG) mode, the commanded motion is in the direction which moves away from the specified position.
The units of the command are quadrature counts. Only one axis may be specified at a time. AD can only be used when there's command motion on the
axis.
If the direction of motion is reversed when in PT mode, the starting position for AD is reinitialized to the position at which the motor is reversed.
Note: AD command will be affected when the motion smoothing time constant, IT, is not 1. See IT command for further information.
Hint: The AD command is accurate to the number of counts that occur in 2*TM ?sec. Multiply your speed by 2*TM ?sec to obtain the maximum
position error in counts. Remember AD measures incremental distance from start of move on one axis.

Arguments
AD n,n,n,n,n,n,n,n or
ADA=n
where
n is an unsigned integers in the range 0 to 2147483647 decimal.
Note: The AD command cannot have more than 1argument.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
AV - After distance for vector moves
AP - After position trip point
AR - After relative distance trip point
MF - Motion Forward trip point
MR - Motion Reverse trip point

Examples:
#A;DP0,0;'
PR 10000,20000;'
BG;'
AD 5000;'
MG "Halfway to A";TPA;'
AD ,10000;'

Begin Program
Specify positions
Begin motion
After A reaches 5000
Send message
After B reaches 10000

file:///C|/commandReference/DMC-18x6/pdf/index.html (58 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

MG "Halfway to B";TPB;'
EN;'

Send message
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (59 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AF

Syntax:

Explicit & Implicit

Operands:

_AFn

Burn:

burnable with BN

Analog Feedback Select


Full Description
The Analog Feedback (AF) command is used to set an axis with analog feedback instead of digital feedback (quadrature/pulse + dir). The analog
feedback is decoded by a 12-bit A/D converter where TP reads from -2048 (-10V) to 2047 (10V). An option is available for 16-bits where an input
voltage of 10 volts is decoded by TP as a position of 32,768 counts and a voltage of -10 volts corresponds to a position of -32,767 counts. When using
the analog feedback mode, analog input 1 is used for the X-axis, analog input 2 is used for the Y-axis, etc.

Arguments
AF n,n,n,n,n,n,n,n or AFA=n
where
n=1
Enables analog feedback
n = 0 Disables analog feedback and switches to digital feedback
n = -1
When not using Analog feedback, a -1 provides that the analog hardware still be sampled in the servo interrupt. This provides evenly sampled
data for both the data record and the RA/RD/RC function.
n=?
Returns the state of analog feedback for the specified axes. 0 disabled, 1 enabled

Operand Usage
_AFx contains a "1" if analog feedback is enabled and "0" if not enabled for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0,0,0,0 or -1,-1

Default Format

N/A

Related Commands
MT - Motor Type
CE - Configure Encoder

Examples:
AF 1,0,0,1
V1 = _AFA
AF ?,?,?

Analog feedback on A and D axis


Assign feedback type to variable
Interrogate feedback type

file:///C|/commandReference/DMC-18x6/pdf/index.html (60 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AI

Syntax:

Implicit Notation Only


& Trippoint

Operands:

none

Burn:

not burnable

After Input
Full Description
The AI command is a trippoint used in motion programs to wait until after a specified input has changed state. This command can be configured such
that the controller will wait until the input goes high or the input goes low.
Hint: The AI command actually halts execution until specified input is at desired logic level. Use the conditional Jump command (JP) or input interrupt
(II) if you do not want the program sequence to halt.

Arguments
AI +/-n
where
n is an integer between 1 and 96 and represents the input number. If n is positive, the controller will wait for the input to go high. If n is negative, it
waits for n to go low.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Operand Usage
Related Commands
@IN[n] - Read Digital Input
II - Input interrupt
#ININT - Label for input interrupt
TI - Tell Inputs

Examples:
#A;'
AI 8;'
SP 10000;'
AC 20000;'
PR 400;'
BGA;'
EN;'

Begin Program
Wait until input 8 is high
Speed is 10000 counts/sec
Acceleration is 20000 counts/sec2
Specify position
Begin motion
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (61 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AL

Syntax:

Explicit & Implicit

Operands:

_ALn

Burn:

not burnable

Arm Latch
Full Description
The AL command enables the latch function (high speed main or auxiliary position capture) of the controller. When the position latch is armed, the
main or auxiliary encoder position will be captured upon a low going signal. Each axis has a position latch and can be activated through the general
inputs:
A axis latch Input 1
B axis latch Input 2
C axis latch Input 3
D axis latch Input 4
E axis latch Input 9
F axis latch Input 10
G axis latch Input 11
H axis latch Input 12
The command RL returns the captured position for the specified axes. When interrogated the AL command will return a 1 if the latch for that axis is
armed or a zero after the latch has occurred. The CN command can be used to change the polarity of the latch function.
The latch function is available on incremental quadrature encoder inputs only. For other position capture methods contact Galil.

Arguments
AL nnnnnnnn or AL n,n,n,n,n,n,n,n where
n can be A,B,C,D,E,F,G or H, specifying the main encoder for the axis to be latched
n can be SA,SB,SC,SD,SE,SF,SG or SH, specifying the auxiliary encoder.
n can be TA,TB,TC,TD,TE,TF,TG or TH, specifying the main encoder is latched from the index pulse instead of a digital input.

Operand Usage
_ALn contains the state of the specified latch. 0 = not armed, 1 = armed.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

1.0

Related Commands
RL - Report Latch

Examples:
ALB
Arm B-axis latch
JG,50000
Set up jog at 50000 counts/sec
BGB
Begin the move
#LOOP
Loop until latch has occurred
JP #LOOP,_ALB=1
RLB
Transmit the latched position
EN
End of program
file:///C|/commandReference/DMC-18x6/pdf/index.html (62 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (63 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AM

Syntax:

Accepts Axis Mask


& Trippoint

Operands:

none

Burn:

not burnable

After Move
Full Description
The AM command is a trippoint used to control the timing of events. This command will hold up execution of the following commands until the
current move on the specified axis or axes is completed. Any combination of axes or a motion sequence may be specified with the AM command. For
example, AM AB waits for motion on both the A and B axis to be complete. AM with no parameter specifies that motion on all axes is complete.
Hint: AM is a very important command for controlling the timing between multiple move sequences. For example, if the A-axis is in the middle of a
position relative move (PR) you cannot make a position absolute move (PAA, BGA) until the first move is complete. Use AMA to halt the program
sequences until the first profiled motion is complete. AM tests for profile completion. The actual motor may still be moving. To halt program sequence
until the actual physical motion has completed, use the MC command. Another method for testing motion complete is to check for the internal variable
_BGn, being equal to zero (see BG command).

Arguments
AM nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H,S or T or any combination to specify the axis or sequence
No argument specifies to wait for after motion on all axes and / or sequences

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Operand Usage
_BGn contains a 0 if motion complete

Related Commands
BG - Begin Motion
MC - Motion Complete

Examples:
#MOVE;
'Program MOVE
PR 5000,5000,5000,5000;'Position relative
BG A;
'Start the A-axis
AM A;
'After the move is
BG B;
'Start the B-axis
AM B;
'After the move is
BG C;
'Start the C-axis
AM C;
'After the move is
BG D;
'Start the D-axis
AM D;
'After the move is
EN;
'End of Program

moves
complete on A,
complete on B,
complete on C
complete on D

file:///C|/commandReference/DMC-18x6/pdf/index.html (64 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AP

Syntax:

Explicit & Implicit


& Trippoint

Operands:

none

Burn:

not burnable

After Absolute Position


Full Description
The After Position (AP) command is a trippoint used to control the timing of events. This command will hold up the execution of the following
command until one of the following conditions have been met:
1.
The actual motor position crosses the specified absolute position. When using a stepper motor, this condition is satisfied when the stepper
position (as determined by the output buffer) has crossed the specified position. For further information see Chapter 6 of the User Manual "Stepper
Motor Operation".
2.
The motion profiling on the axis is complete.
3.
The commanded motion is in the direction which moves away from the specified position.
The units of the command are quadrature counts. Only one axis may be specified at a time. AP can only be used when there's commanded motion on
the axis.

Arguments
AP n,n,n,n,n,n,n,n or APA=n
where
n is a signed integer in the range -2147483648 to 2147483647 decimal

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
AR - Trippoint for relative distances
MF - Trippoint for forward motion

Examples:
#TEST
Program B
DP0
Define zero
JG 1000 Jog mode (speed of 1000 counts/sec)
BG A
Begin move
AP 2000 After passing the position 2000
V1=_TPA Assign V1 A position
MG "Position is", V1=
Print Message
ST
Stop
EN
End of Program
Hint: The accuracy of the AP command is the number of counts that occur in 2*TM sec. Multiply
the speed by 2*TM sec to obtain the maximum error. AP tests for absolute position. Use the AD
command to measure incremental distances.

file:///C|/commandReference/DMC-18x6/pdf/index.html (65 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (66 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AR

Syntax:

Explicit & Implicit


& Trippoint

Operands:

none

Burn:

not burnable

After Relative Distance


Full Description
The After Relative (AR) command is a trippoint used to control the timing of events. This command will hold up the execution of the following
command until one of the following conditions have been met:
1. The commanded motor position crosses the specified relative distance from either the start of the move or the last AR or AD command. When
using a stepper motor, this condition is satisfied when the stepper position (as determined by the output buffer) has crossed the specified Relative
Position. For further information see Chapter 6 of the User Manual "Stepper Motor Operation".
2. The motion profiling on the axis is complete.
3. If in jog (JG) mode, the commanded motion is in the direction which moves away from the specified position.
If the direction of the motion is reversed when in position tracking mode (see PT command), the starting point for the trippoint is reinitialized to the
point at which the motion reversed.
The units of the command are quadrature counts. Only one axis may be specified at a time. AR can only be used when there's commanded motion on
the axis.
Note: AR will be affected when the motion smoothing time constant, IT, is not 1. See IT command for further information.

Arguments
AR n,n,n,n,n,n,n,n or ARA=n
where
n is an unsigned integer in the range 0 to 2147483647 decimal.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
AV - Trippoint for after vector position for coordinated moves
AP - Trippoint for after absolute position

Examples:
#A;DP 0,0,0,0
Begin Program
JG 50000,,,7000 Specify speeds
BG AD
Begin motion
#B
Label
AR 25000
After passing 25000 counts of relative distance on A-axis
MG "Passed _A";TPA
Send message on A-axis
JP #B
Jump to Label #B
EN
End Program
Hint: AR is used to specify incremental distance from last AR or AD command. Use AR if multiple
position trippoints are needed in a single motion sequence.
file:///C|/commandReference/DMC-18x6/pdf/index.html (67 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (68 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AS

Syntax:

Accepts Axis Mask


& Trippoint

Operands:

none

Burn:

not burnable

At Speed
Full Description
The AS command is a trippoint that occurs when the generated motion profile has reached the specified speed. This command will hold up execution
of the following command until the commanded speed has been reached. The AS command will operate after either accelerating or decelerating. If the
speed is not reached, the trippoint will be triggered after the speed begins diverging from the AS value.

Arguments
AS nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H,S or T or any combination to specify the axis or sequence

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
#SPEED Program A
PR 100000
Specify position
SP 10000
Specify speed
BG A
Begin A
ASA
After speed is reached
MG "At Speed"
Print Message
EN
End of Program
WARNING:
The AS command applies to a trapezoidal velocity profile only with linear acceleration.
with smoothing profiling will be inaccurate.

file:///C|/commandReference/DMC-18x6/pdf/index.html (69 of 281)8/16/2010 1:21:02 PM

AS used

Galil Motion Control Command Reference

AT

Syntax:

Implicit Notation Only


& Trippoint

Operands:

none

Burn:

not burnable

At Time
Full Description
The AT command is a trippoint which is used to hold up execution of the next command until after the specified time has elapsed. The time is
measured with respect to a defined reference time. AT 0 establishes the initial reference. AT n specifies n msec from the reference. AT -n specifies n
msec from the reference and establishes a new reference after the elapsed time period.

Arguments
AT n where
n is a signed, even integer in the range 0 to 2 Billion
n = 0 defines a reference time at current time
n > 0 specifies a wait time of n msec from the reference time
n < 0 specifies a wait time of n msec from the reference time and re-sets the reference time when the trippoint is satisfied.
(AT -n is equivalent to AT n; AT <old reference +n>)

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

Default Format

Operand Usage
Related Commands
TIME - Time Operand
TM - Update Time
WT - Wait

Examples:
The following commands are sent sequentially
AT 0
Establishes reference time 0 as current time
AT 50
Waits 50 msec from reference 0
AT 100 Waits 100 msec from reference 0
AT -150 Waits 150 msec from reference 0 and sets new reference at 150
AT 80
Waits 80 msec from new reference (total elapsed time is 230 msec)

file:///C|/commandReference/DMC-18x6/pdf/index.html (70 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

AV

Syntax:

Implicit Notation Only


& Trippoint

Operands:

_AVS,_AVT

Burn:

not burnable

After Vector Distance


Full Description
The AV command is a trippoint, which is used to hold up execution of the next command during coordinated moves such as VP,CR or LI. This
trippoint occurs when the path distance of a sequence reaches the specified value. The distance is measured from the start of a coordinated move
sequence or from the last AV command. The units of the command are quadrature counts.

Arguments
AV s,t where
s and t are unsigned integers in the range 0 to 2147483647 decimal. 's' represents the vector distance to be executed in the S coordinate system and 't'
represents the vector distance to be executed in the T coordinate system.

Operand Usage
_AVS contains the vector distance from the start of the sequence in the S coordinate system and _AVT contains the vector distance from the start of
the sequence in the T coordinate system.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

Default Format

N/A

Related Commands
Examples:
#MOVE;DP 0,0;'
CAT;'
LMAB;'
LI 1000,2000;'
LI 2000,3000;'
LE
BGT;'
AV ,500;'
MG "Path>500"
TPAB;'
EN;'

Label
Specify the T coordinate system
Linear move for A,B
Specify distance
Specify distance
Begin motion in the T coordinate system
After path distance = 500,
Print position of A and B axes
End Program

Hint: Vector Distance is calculated as the square root of the sum of the squared distance for each
axis in the linear or vector mode.

file:///C|/commandReference/DMC-18x6/pdf/index.html (71 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BA

Syntax:

Accepts Axis Mask

Operands:

_BAn

Burn:

not burnable

Brushless Axis
Full Description
The BA command configures the controller axes for sinusoidal commutation and reconfigures the controller to reflect the actual number of motors that
can be controlled. Each sinusoidal commutation axis requires 2 motor command signals. The second motor command signals will always be associated
with the highest axes on the controller. For example a 3 axis controller with A and C configured for sinusoidal commutation will require 5 command
outputs (5 axes controller), where the second outputs for A and C will be the D and E axes respectively.

Arguments
BA xxxxxxxxxx
where
n is A,B,C,D,E,F,G or any combination to specify the axis (axes) for sinusoidal commutation brushless axes.
No argument removes all axes configured for sinusoidal commutation.

Operand Usage
_BAn indicates the axis number of the auxiliary DAC used for the second phase of the selected sinusoidal axis. The axis numbers start with zero for the
A axis DAC. If the motor is configured as standard servo or stepper motor, _BAn contains 0.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BB - Brushless Phase Begins
BC - Brushless Commutation
BD - Brushless Degrees
BI - Brushless Inputs
BM - Brushless Modulo
BO - Brushless Offset
BS - Brushless Setup
BZ - Brushless Zero
BB

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (72 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BB

Syntax:

Explicit & Implicit

Operands:

_BBn

Burn:

burnable with BN

Brushless Phase Begins


Full Description
The BB function describes the position offset between the Hall transition point and = 0, for a sinusoidally commutated motor. This command must be
saved in non-volatile memory to be effective upon reset.

Arguments
BB n,n,n,n,n,n,n,n or BBA=n
where
n is a signed integer which represent the phase offset of the selected axes in degrees of the magnetic cycle. The range is +/-359.98. The resolution is
1/32 of a degree.
n=?
returns the hall offset for the specified axis.

Operand Usage
_BBn contains the position offset between the Hall transition and = 0 for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BA - Brushless Axis
BC - Brushless Commutation
BD - Brushless Degrees
BI - Brushless Inputs
BM - Brushless Modulo
BO - Brushless Offset
BS - Brushless Setup
BZ - Brushless Zero
Note: BB is only effective as part of the BC command or upon reset.
BC

Examples:
BB,30,,60

The offsets for the Y and W axes are 30

file:///C|/commandReference/DMC-18x6/pdf/index.html (73 of 281)8/16/2010 1:21:02 PM

and 60

respectively

Galil Motion Control Command Reference

BC

Syntax:

Accepts Axis Mask

Operands:

_BCn

Burn:

not burnable

Brushless Calibration
Full Description
The function BC monitors the status of the Hall sensors of a sinusoidally commutated motor, and resets the commutation phase upon detecting the first
hall sensor. This procedure replaces the estimated commutation phase value with a more precise value determined by the hall sensors.

Arguments
BC nnnnnnn
where
n is A,B,C,D,E,F,G or any combination to specify the axis

Operand Usage
_BCn contains the state of the Hall sensor inputs. This value should be between 1 and 6.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"BA" - Brushless Axis
"BB" - Brushless Phase Begins
"BD" - Brushless Degrees
"BI" - Brushless Inputs
"BM" - Brushless Modulo
"BO" - Brushless Offset
"BS" - Brushless Setup
"BZ" - Brushless Zero
BD

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (74 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BD

Syntax:

Explicit & Implicit

Operands:

_BDn

Burn:

burnable with BN

Brushless Degrees
Full Description
This command sets the commutation phase of a sinusoidally commutated motor. When using hall effect sensors, a more accurate value for this
parameter can be set by using the command, BC. This command should not be used except when the user is creating a specialized phase initialization
procedure.

Arguments
BD n,n,n,n,n,n,n,n or
BDA=n
where
n is an integer between 0 - 360 .
n=?
Returns the current brushless motor angle (between 0-360 )

Operand Usage
_BDn contains the commutation phase of the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"BA" - Brushless Axis
"BB" - Brushless Phase Begins
"BC" - Brushless Commutation
"BI" - Brushless Inputs
"BM" - Brushless Modulo
"BO" - Brushless Offset
"BS" - Brushless Setup
"BZ" - Brushless Zero
BG

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (75 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BG

Syntax:

Accepts Axis Mask

Operands:

_BGn

Burn:

not burnable

Begin
Full Description
The BG command starts a motion on the specified axis or sequence.

Arguments
BG nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H,S,T, M or N, or any combination to specify the axis or sequence

Operand Usage
_BGn contains a '0' if motion complete on the specified axis or coordinate system, otherwise contains a '1'.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

N/A

While Moving Yes Default Value 0


In a Program Yes Default Format Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
"AM " - After motion complete
"ST" - Stop Motion

Examples:
PR 2000,3000,,5000
Set up for a relative move
BG ABD Start the A,B and D motors moving
HM
Set up for the homing
BGA
Start only the A-axis moving
JG 1000,4000
Set up for jog
BGY
Start only the B-axis moving
BSTATE=_BGB
Assign a 1 to BSTATE if the B-axis is performing a move
VP 1000,2000
Specify vector position
VS 20000
Specify vector velocity
BGS
Begin coordinated sequen0ce
VMAB
Vector Mode
VP 4000,-1000
Specify vector position
VE
Vector End
PR ,,8000,5000 Specify C and D position
BGSCD
Begin sequence and C,D motion
MG _BGS Displays a 1 if motion occurring on coordinated system "S"
Hint: A BG command cannot be executed for any axis in which motion has not completed. Use the AM
trippoint to wait for motion complete between moves. Determining when motion is complete can also
file:///C|/commandReference/DMC-18x6/pdf/index.html (76 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

be accomplished by testing for the value of the operand _BGn.

file:///C|/commandReference/DMC-18x6/pdf/index.html (77 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BI

Syntax:

Explicit & Implicit

Operands:

_BIn

Burn:

burnable with BN

Brushless Inputs
Full Description
The command BI is used to define the inputs which are used when Hall sensors have been wired for sinusoidally commutated motors. These inputs can
be the general use inputs (bits 1-8), the auxiliary encoder inputs (bits 81-96), or the extended I/O inputs (bits 17-80). The Hall sensors of each axis must
be connected to consecutive input lines, for example: BI 3 indicates that inputs 3,4 and 5 are used for halls sensors.
The brushless setup command, BS, can be used to determine the proper wiring of the hall sensors.

Arguments
BI n,n,n,n,n,n,n,n
or BIA=n
where
n is an unsigned integer which represent the first digital input to be used for hall sensor input
n=0
Clear the hall sensor configuration for the axis.
n=?
Returns the starting input used for Hall sensors for the specified axis.

Operand Usage
_BIn contains the starting input used for Hall sensors for the specified axis.
EXAMPLE:
BI, 5 The Hall sensor of the Y axis are on inputs 5, 6 and 7.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BA - Brushless Axis
BB - Brushless Phase Begins
BC - Brushless Commutation
BD - Brushless Degrees
BM - Brushless Modulo
BO - Brushless Offset
BS - Brushless Setup
BZ - Brushless Zero
BK

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (78 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BK

Syntax:

Implicit Notation Only


& Trippoint

Operands:

_BK

Burn:

not burnable

Breakpoint
Full Description
For debugging. Causes the controller to pause execution of the given thread at the given program line number (which is not executed). All other threads
continue running. Only one breakpoint may be armed at any time. After a breakpoint is encountered, a new breakpoint can be armed (to continue
execution to the new breakpoint) or BK will resume program execution. The SL command can be used to single step from the breakpoint. The
breakpoint can be armed before or during thread execution.

Arguments
BK n,m
where
n is an integer in the range 0 to 1999 which is the line number to stop at. n must be a valid line number in the chosen thread.
m is an integer in the range 0 to 7. The thread.

Operand Usage
_BK will tell whether a breakpoint has been armed, whether it has been encountered, and the program line number of the breakpoint:
= -LineNumber: breakpoint armed
= LineNumber: breakpoint encountered
= -2147483648: breakpoint not armed

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

of m 0

Default Format

N/A

Related Commands
Examples:
BK 3
BK 5
SL
SL 3
BK

Pause at line 3 (the 4th line) in thread 0


Continue to line 5
Execute the next line
Execute the next 3 lines
Resume normal execution

file:///C|/commandReference/DMC-18x6/pdf/index.html (79 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BL

Syntax:

Explicit & Implicit

Operands:

_BLn

Burn:

burnable with BN

Reverse Software Limit


Full Description
The BL command sets the reverse software limit. If this limit is exceeded during motion, motion on that axis will decelerate to a stop. Reverse motion
beyond this limit is not permitted.
When the reverse software limit is activated, the automatic subroutine #LIMSWI will be executed if it is included in the program.

Arguments
BL n,n,n,n,n,n,n,n or BLA=n
where
n is a signed integer in the range -2147483648 to 2147483647. The reverse limit is activated at the position n-1. The units are in quadrature counts.
n = -2147483648 Turns off the reverse limit.
n=?
Returns the reverse software limit for the specified axes.

Operand Usage
_BLn contains the value of the reverse software limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

-214783648

Default Format

Position format

Related Commands
Examples:
#TEST
Test Program
AC 1000000
Acceleration Rate
DC 1000000
Deceleration Rate
BL -15000
Set Reverse Limit
JG -5000
Jog Reverse
BGA
Begin Motion
AMA
After Motion (limit occurred)
TPA
Tell Position
EN
End Program
'Hint:

Galil Controllers

also provide hardware limits.

file:///C|/commandReference/DMC-18x6/pdf/index.html (80 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BM

Syntax:

Explicit & Implicit

Operands:

_BMn

Burn:

burnable with BN

Brushless Modulo
Full Description
The BM command defines the length of the magnetic cycle in encoder counts.

Arguments
BM n,n,n,n,n,n,n,n or BMA=n
where
n is a decimal value between 1 and 1000000 with a resolution of 1/10. This value can also be specified as a fraction with a resolution of 1/16.
n=?
Returns the brushless module for the specified axis.

Operand Usage
_BMn indicates the cycle length in counts for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BA - Brushless Axis
BB - Brushless Phase Begins
BC - Brushless Commutation
BD - Brushless Degrees
BI - Brushless Inputs
BO - Brushless Offset
BS - Brushless Setup
BZ - Brushless Zero

Examples:
BM ,60000
Set brushless modulo for
BMC=100000/3
Set brushless modulo for
BM ,,,? Interrogate the Brushless Module
Note:
Changing the BM parameter causes

B axis to be 60000
C axis to be 100000/3 (33333.333)
for the D axis
an instant change in the commutation phase.

file:///C|/commandReference/DMC-18x6/pdf/index.html (81 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BN

Syntax:

Two Letter Only

Operands:

_BN

Burn:

not burnable

Burn
Full Description
The BN command saves controller parameters shown below in Flash EEPROM memory. This command typically takes 1 second to execute and must
not be interrupted. The controller returns a : when the Burn is complete.
PARAMETERS SAVED DURING BURN:
AC DC IA NF TK
AF DV IL NZ TL
BA EI IT OE TM
BB EO KD OF TR
BI ER KI OP VA
BL FA KP OT VD
BM FL KS OV VF
BO FV LC PF VS
CE GA LZ PL
CN GM MO PW
CO GR MT SB
CW HV NB SP

Arguments
N/A

Operand Usage
_BN contains the serial number of the processor board.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
SB1;'
CB2;'
CW1;'
BN;'

Set bit 1
Clear bit 2
Set data adjustment bit
Burn all parameter states

file:///C|/commandReference/DMC-18x6/pdf/index.html (82 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BO

Syntax:

Explicit & Implicit

Operands:

_BOn

Burn:

burnable with BN

Brushless Offset
Full Description
The BO command sets a fixed offset on command signal outputs for sinusoidally commutated motors. This may be used to offset any bias in the
amplifier, or can be used for phase initialization.

Arguments
BO n,n,n,n,n,n,n
or BOA=n
where
n specifies the voltage n is a signed number in the range -9.998 to +9.998 with a resolution of 0.003.
n=?
Return the brushless offset for the specified axis.

Operand Usage
_BOn contains the offset voltage on the DAC for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Related Commands
BA
Brushless Axis
BB
Brushless Phase Begins
BC
Brushless Commutation
BD
Brushless Degrees
BI
Brushless Inputs
BM
Brushless Modulo
BS
Brushless Setup
BZ
Brushless Zero
HINT: To assure that the output voltage equals the BO parameters, set the PID and OF parameters to zero.
BP

Examples:
BO -2,,1
Generates the voltages -2 and 1 on the first DAC A, and the second DAC C of a
sinusoidally commutated motor.

file:///C|/commandReference/DMC-18x6/pdf/index.html (83 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (84 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BP

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

Burn Program
Full Description
:
The BP command saves the application program in non-volatile EEPROM memory. This command typically takes up to 10 seconds to execute and
must not be interrupted. The controller returns a : when the Burn is complete.

Arguments
None

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BN
Burn Parameters
BV
Burn Variable
Note: This command may cause the Galil software to issue the following warning "A time-out occurred while waiting for a response from the
controller". This warning is normal and is designed to warn the user when the controller does not respond to a command within the timeout period.
This occurs because this command takes more time than the default timeout of 5 sec. The timeout can be changed in the Galil software but this warning
does not affect the operation of the controller or software.
BS

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (85 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BS

Syntax:

Explicit Notation Only

Operands:

none

Burn:

not burnable

Brushless Setup
Full Description
The command BS tests the wiring of a sinusoidally commutated brushless motor. If Hall sensors are connected, this command also tests the wiring of
the Hall sensors. This function can only be performed with one axis at a time.
This command returns status information regarding the setup of brushless motors. The following information will be returned by the controller:
1.
Correct wiring of the brushless motor phases.
2.
An approximate value of the motor's magnetic cycle.
3.
The value of the BB command (If hall sensors are used).
4.
The results of the hall sensor wiring test (If hall sensors are used).
This command will turn the motor off when done and may be given when the motor is off.
Once the brushless motor is properly setup and the motor configuration has been saved in non-volatile memory, the BS command does not have to be
re-issued. The configuration is saved by using the burn command, BN.
Note: In order to properly conduct the brushless setup, the motor must be allowed to move a minimum of one magnetic cycle in both directions.

Arguments
BSA= v, n where
v is a real number between 0 and 10. v represents the voltage level to be applied to each phase.
n is a positive integer between 100 or 1000. n represents the duration in milliseconds that voltage should be applied to the motor phases.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

200

Related Commands
BA - Brushless Axis
BB - Brushless Phase Begins
BC - Brushless Commutation
BD - Brushless Degrees
BI - Brushless Inputs
BM - Brushless Modulo
BO - Brushless Offset
BZ - Brushless Zero
Note: When using Galil Windows software, the timeout must be set to a minimum of 10 seconds (timeout = 10000) when executing the BS command.
This allows the software to retrieve all messages returned from the controller.
BV

Examples:
BSC = 2,900

Apply set up test to C axis with 2 volts for 900 millisecond on each step.

file:///C|/commandReference/DMC-18x6/pdf/index.html (86 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (87 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BV

Syntax:

Two Letter Only

Operands:

_BV

Burn:

not burnable

Burn Variables and Array


Full Description
The BV command saves the controller variables and arrays in non-volatile EEPROM memory. This command typically takes up to 2 seconds to
execute and must not be interrupted. The controller returns a : when the Burn is complete.

Arguments
None

Operand Usage
_BV returns the number of controller axes.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"BP" - Burn Program
"BN" - Burn Parameters
Burn Program
Note 1: This command will store the ECAM table values in non-volatile EEPROM memory.
Note 2: This command may cause the Galil software to issue the following warning "A time-out occurred while waiting for a response from the
controller". This warning is normal and is designed to warn the user when the controller does not respond to a command within the timeout period.
This occurs because this command takes more time than the default timeout of 5 sec. The timeout can be changed in the Galil software but this warning
does not affect the operation of the controller or software.

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (88 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

BZ

Syntax:

Explicit & Implicit

Operands:

_BZn

Burn:

not burnable

Brushless Zero
Full Description
The BZ command is used for axes which are configured for sinusoidal commutation. This command drives the motor to zero magnetic phase and then
sets the commutation phase to zero.
This command may be given when the motor is off.

Arguments
BZ n,n,n,n,n,n,n or BZA =n
or BZ <t where
n is a real number between -4.998 and 4.998. The parameter n will set the voltage to be applied to the amplifier during the initialization. In order to be
accurate, the BZ command voltage must be large enough to move the motor. If the argument is positive, when the BZ operation is complete, the motor
will be left in the off state, MO. A negative value causes the motor to end up in the on state, SH.
<t is an integer between 1 and 32767 and represents the settling time of the BZ function. The controller will wait 't' sec to update sufficient samples
(sampling rate = 1000 sec by default) to settle the motor at the zero magnetic phase. The t parameter should be specified prior to issuing the BZ
command.
Note: The BZ command causes instantaneous movement of the motor. It is recommended to start with small voltages and increase as needed
Note: Always use the Off On Error function (OE command) to avoid motor runaway whenever testing sinusoidal commutation.

Operand Usage
_BZn contains the distance in encoder counts from the motor's current position and the position of commutation zero for the specified axis. This can
useful to command a motor to move to the commutation zero position for phase initialization.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

n = 0, t= 1000

Default Format

Related Commands
BA - Brushless Axis
BB - Brushless Phase Begins
BC - Brushless Commutation
BD - Brushless Degrees
BI - Brushless Inputs
BM - Brushless Modulo
BO - Brushless Offset
BS - Brushless Setup
CA

Examples:
BZ, -3

Drive C axis to zero phase with 3 volt signal, and end with motor enabled.

file:///C|/commandReference/DMC-18x6/pdf/index.html (89 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CA

Syntax:

Accepts Axis Mask

Operands:

_CAn

Burn:

not burnable

Coordinate Axes
Full Description
The CA command specifies the coordinate system to apply proceeding vector commands. The following commands apply to the active coordinate
system as set by the CA command:
CR ES LE LI LM
TN VE VM VP

Arguments
CAS or CAT where
CAS specifies that proceeding vector commands shall apply to the S coordinate system
CAT specifies that proceeding vector commands shall apply to the T coordinate system
CA ? returns a 0 if the S coordinate system is active and a 1 if the T coordinate system is active.

Operand Usage
_CA contains a 0 if the S coordinate system is active and a 1 if the T coordinate system is active.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

CAS

Default Format

N/A

Related Commands
VP - Vector Position
VS - Vector Speed
VD - Vector Deceleration
VA - Vector Acceleration
VM - Vector Mode
VE - End Vector
BG - BGS - Begin Sequence

Examples:
CAT
Specify T coordinate system
VMAB
Specify vector motion in the A and B plane
VS 10000
Specify vector speed
CR 1000,0,360
Generate circle with radius of 1000 counts, start at 0 degrees and complete one
circle in counterclockwise direction.
VE
End Sequence
BGT
Start motion of T coordinate system

file:///C|/commandReference/DMC-18x6/pdf/index.html (90 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CB

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Clear Bit
Full Description
The CB command sets the specified output bit low. CB can be used to clear the outputs of extended I/O which have been configured as outputs.

Arguments
CB n where
n is an integer corresponding to a specific output on the controller to be cleared (set to 0). The first output on the controller is denoted as output 1.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"SB" - Set Bit
"OB" - Ouput Bit
"OP" - Define output port (byte-wise)

Examples:
CB 7
CB 16

Clear output bit 7


Clear output bit 16 (8 axis controllers only)

file:///C|/commandReference/DMC-18x6/pdf/index.html (91 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CD

Syntax:

Explicit & Implicit

Operands:

none

Burn:

not burnable

Contour Data
Full Description
The CD command specifies the incremental position on contour axes. The units of the command are in encoder counts. This command is used only in
the Contour Mode (CM). The incremental position will be executed over the time period specified by the command DT (ranging from 2 to 256 servo
updates)
The = operator can be used to override the global DT time by transmitting the time in a CD with the position data.

Arguments
CD n,n,n,n,n,n,n,n = m or CDA=n where
n is an integer in the range of +/-32767.
m (optional) is an integer in the range 0 to 8 and overrides the global DT time for this interval
n = m = 0 terminates the Contour Mode.
m = 1 through 8 specifies the time interval (DT) of 2^m samples.
By default the sample period is 1 msec (set by the TM command); with m = 1, the time interval would be 2 msec.
Note 1: The command CD 0,0=0 would follow the last CD command in a sequence CD 0,0=0 is similar to VE & LE. Once reached in the buffer, CD
0,0 =0 will terminate the contour mode.
Note 2: The command CD0=0 will assign a variable CD0 the value of 0. In this case the user must have a space after CD in order to terminate the
Contour Mode correctly. Example: CD 0=0 will terminate the contour mode for the X axis.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

5.0

Related Commands
CM - Contour Mode
DT - Time Increment
CS - Clear Sequence
_CS is the Segment Counter

Examples:
#CONTOUR;'
CMAB;'
DT 4;'
CD 1000,2000;'
CD 2000,4000;'

Program Label
Enter Contour Mode
Set time interval
Specify data
Next data

file:///C|/commandReference/DMC-18x6/pdf/index.html (92 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CD 0,0=0;'
#Wait;'
WT 16,1;'
JP#Wait,_CM<>511
EN;'

End of Contour Buffer


Wait for all segments to process (buffer to empty)
wait for 1 DT time segment (2^4)
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (93 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CE

Syntax:

Explicit & Implicit

Operands:

_CEn

Burn:

burnable with BN

Configure Encoder
Full Description
The CE command configures the encoder to quadrature type or pulse and direction type. It also allows inverting the polarity of the encoders which
reverses the direction of the feedback. Note: When using a servo motor, changing the CE type can cause the motor to run away.
The configuration applies independently to the main axes encoders and the auxiliary encoders. When the MT command is configured for a stepper
motor, the auxiliary encoder (used to count stepper pulses) will be forced to pulse and direction.

Arguments
CE n,n,n,n,n,n,n,n or CEA = n
where
n is an integer in the range of 0 to 15. Each integer is the sum of two integers M and N which configure the main and the auxiliary encoders.
Configure Encoder Types
M argument

Main Encoder Type

N argument

Auxiliary Encoder Type

Normal quadrature

Normal quadrature

Normal pulse and direction

Normal pulse and direction

Reversed quadrature

Reversed quadrature

Reversed pulse and direction

12

Reversed pulse and direction

For example: n = 10 implies M = 2 and N = 8, thus both encoders are reversed quadrature.
n=?

Returns the value of the encoder configuration for the specified axes.

Operand Usage
_CEn contains the value of encoder type for the axis specified by 'n'.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Related Commands
"MT" - Specify motor type

Examples:
CE 0, 3, 6, 2
Configure encoders
CE ?,?,?,?
:0,3,6,2
Interrogate configuration
V = _CEB
V = ?
:3
Assign configuration to a variable
Note: When using pulse and direction encoders, the pulse signal is connected to CHA and the
direction signal is connected to CHB.

file:///C|/commandReference/DMC-18x6/pdf/index.html (94 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (95 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CM

Syntax:

Accepts Axis Mask

Operands:

_CMn

Burn:

not burnable

Contour Mode
Full Description
The Contour Mode is initiated by the instruction CM. This mode allows the generation of an arbitrary motion trajectory with any of the axes. The CD
command specified a position increment, and the DT command specifies the time interval between subsequent increments.

Arguments
CM nnnnnnnnnn
where
n is A,B,C,D,E,F,G or any combination to specify the axes for contour mode
n = ? Returns a 0 if the contour buffer is full and 511 if the contour buffer is empty.

Operand Usage
_CM contains a '0' if the contour buffer is full; otherwise it contains the number of available contour segments.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Disabled

Default Format

N/A

Related Commands
CD - Contour Data
DT - Time Increment

Examples:
#Cont0;'
CM ABCD;'
DT 4;'
CD 200,350,-150,500;'
'
'
'
CD 100,200,300,400;'
CD 0,0,0,0=0;'
#Wait;JP#Wait,_CM<>511;'
'
EN;'
'
'
#Cont1;'
CM ABC;'
DT 8;'
CD 100,100,100;'
CD 100,100,100;'
CD 0,0,0 =-1;'

Define label #Cont0


Specify Contour Mode Axes ABCD
Specify time increment for contour (2^4 servo loops, 16ms at TM1000)
Specify incremental positions on A,B,C and D axes
A-axis moves 200 counts B-axis moves 350 counts Caxis moves -150 counts D-axis moves 500 counts
Next position data
Special syntax to terminate Contour mode
Spin on #Wait label until buffer is empty
End of Contour Buffer/Sequence
End program

Define label #Cont1


Specify Contour Mode
Specify time increment for contour (2^8 servo loops, 256ms at TM1000)
New position data
New position data
Pause countour buffer set DT to resume

file:///C|/commandReference/DMC-18x6/pdf/index.html (96 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CD 100,100,100;'
New position data
CD 100,100,100;'
New position data
CD 0,0,0,0=0;'
Special syntax to terminate Contour mode
#Wait2;JP#Wait2,_CM<>511;'Spin on #Wait2 label until buffer is empty
'End of Contour Buffer/Sequence
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (97 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CN

Syntax:

Implicit Notation Only

Operands:

_CN0,_CN1,_CN2,_CN3,_CN4

Burn:

burnable with BN

Configure
Full Description
The CN command configures the polarity of the limit switches, home switches, latch inputs, the selective abort function, and the program termination
behaviour of the abort input.

Arguments
CN m,n,o,p,q
where
m
1
-1
n
1
-1
o
1
-1
p
1

Limit switches active high


Limit switches active low
HM will drive motor forward when Home input is high. See HM and FE commands.
HM will drive motor backward when Home input is high. See HM and FE commands
Latch input is active high
Latch input is active low

Configures inputs 5,6,7,8,13,14,15,16 as selective abort inputs for axes A,B,C,D,E,F,G,and H respectively.
Will also trigger #POSERR automatic subroutine if program is running.
Inputs 5,6,7,8,13,14,15,16 are configured as general use inputs

1
0

Abort input will not terminate program execution


Abort input will terminate program execution

Operand Usage
_CN0
_CN1
_CN2
_CN3
_CN4

Contains the limit switch configuration


Contains the home switch configuration
Contains the latch input configuration
Contains the state of the selective abort function (1 enabled, 0 disabled)
Contains whether the abort input will terminate the program

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

-1,-1,-1,0,0

Default Format

2.0

Related Commands
AL - Arm latch
LD - Limit Switch Disable

file:///C|/commandReference/DMC-18x6/pdf/index.html (98 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Examples:
CN 1,1 Sets limit and home switches to active high
CN,, -1 Sets input latch active low

file:///C|/commandReference/DMC-18x6/pdf/index.html (99 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CO

Syntax:

Implicit Notation Only

Operands:

_CO

Burn:

burnable with BN

Configure Extended I O
Full Description
The CO command configures which banks are inputs and which are outputs on the extended I/O.
CO only applies if the DB-14064 is present. The 64 extended I/O points of the controller can be configured in banks of 8. The extended I/O is denoted
as bits 17-80 and banks 2-9.

Arguments
CO n
where
n is a decimal value which represents a binary number. Each bit of the binary number represents one bank of extended I/O. When set to 1, the
corresponding bank is configured as an output.
The least significant bit represents bank 2 and the most significant bit represents bank 9. The decimal value can be calculated by the following formula.
n = n2 + 2*n3 + 4*n4 + 8*n5 +16* n6 +32* n7 +64* n8 +128* n9
where nx represents the bank. To configure a bank as outputs, substitute a one into that nx in the formula. If the nx value is a zero, then the bank of 8 I/
O points will be configured as inputs. For example, if banks 3 and 4 are to be configured as outputs, CO 6 is issued.

Operand Usage
_CO returns the extended I/O configuration value.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Related Commands
CB - Clear Output Bit
SB - Set Output Bit
OP - Set Output Port
TI - Tell Inputs

Examples:
CO 255 Configure all points as outputs
CO 0
Configure all points as inputs
CO 1
Configures bank 2 to outputs on extended I/O
Hint: See user manual appendix for more information on the extended I/O boards.

file:///C|/commandReference/DMC-18x6/pdf/index.html (100 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CR

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Circle
Full Description
The CR command specifies a 2-dimensional arc segment of radius r, starting at angle theta, and traversing over angle deltaTheta. A positive deltaTheta
denotes counterclockwise traverse, negative deltaTheta denotes clockwise. The VE command must be used to denote the end of the motion sequence
after all CR and VP segments are specified. The BG (Begin Sequence) command is used to start the motion sequence. All parameters, r, theta ,
deltaTheta , must be specified. Radius units are in quadrature counts. Theta and deltaTheta have units of degrees. The parameter n is optional and
describes the vector speed that is attached to the motion segment.
A starting position of zero degrees denotes that the radius lies along
a vector following the positive X axis, on a 2D Cartesian space:
90
|
|
180_____|______ 0
|
|
|
270

Arguments
CR r, theta, deltaTheta < n > o where
r is an unsigned real number in the range 10 to 6000000 decimal (radius)
theta is a signed number in the range 0 to +/-32000 decimal (starting angle in degrees)
deltaTheta is a signed real number in the range 0.0001 to +/-32000 decimal (angle in degrees)
n specifies a vector speed to be taken into effect at the execution of the vector segment. n is an unsigned even integer between 0 and 22,000,000 for
servo motor operation and between 0 and 6,000,000 for stepper motors.
o specifies a vector speed to be achieved at the end of the vector segment. o is an unsigned even integer between 0 and 8,000,000.
Note: The product r * deltaTheta must be limited to +/-4.5x10^8

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

DMC, No RIO

Default Value

N/A

Default Format

N/A

Related Commands
VP - Vector Position
VS - Vector Speed
VD - Vector Deceleration
VA - Vector Acceleration
file:///C|/commandReference/DMC-18x6/pdf/index.html (101 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

VM - Vector Mode
VE - End Vector
BG,BGS - Begin Sequence

Examples:
VMAB;'
Specify vector motion in the A and B plane
VS 1000;'
Specify vector speed
CR 1000,0,360;'
Generate circle with radius of 1000 counts, start at
'
0 degrees and complete one circle in counterclockwise
'
direction.
CR 1000,0,360 < 40000;' Generate circle with radius of 1000 counts, start
'
at 0 degrees and complete one circle in counterclockwise
'
direction and use a vector speed of 40000.
VE;'
End Sequence
BGS;'
Start motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (102 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CS

Syntax:

Accepts Axis Mask

Operands:

_CSn

Burn:

not burnable

Clear Sequence
Full Description
The CS command will remove VP, CR or LI commands stored in a motion sequence for the S or T coordinate systems. After a sequence has been
executed, the CS command is not necessary to put in a new sequence. This command is useful when you have incorrectly specified VP, CR or LI
commands.

Arguments
CSS or CST where
S and/or T can be used to clear the sequence buffer for the "S" or "T" coordinate system.

Operand Usage
_CSn contains the segment number in the sequence specified by n, S or T. This operand is valid in the Linear mode, LM, Vector mode, VM

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"CR" - Circular Interpolation Segment
"LI" - Linear Interpolation Segment
"LM" - Linear Interpolation Mode
"VM" - Vector Mode
"VP" - Vector Position

Examples:
#CLEAR Label
CAT
Specify the T coordinate system vector points
VP 1000,2000
Vector position
VP 4000,8000
Vector position
CST
Clear vectors specified in T coordinate system
CAS
Specify the T coordinate system vector points
VP 1000,5000
New vector
VP 8000,9000
New vector
CSS
Clear vectors specified in S coordinate system

file:///C|/commandReference/DMC-18x6/pdf/index.html (103 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

CW

Syntax:

Implicit Notation Only

Operands:

_CWn

Burn:

not burnable

Copyright information Data Adjustment bit on off


Full Description
The CW command will return the copyright information when the argument, n, is 0 or is omitted. Otherwise, the CW command is used as a
communications enhancement for use by the Galil terminal software programs. When turned on, the most significant bit of unsolicited ASCII
characters is set to 1. Unsolicited ASCII characters are characters that are returned from a program running on the controller (usually from the MG
command). This command does not affect solicited characters, which are characters that are returned as a response to a command sent from a host PC
(e.g. TP).
If using Galil drivers, CW will be automatically configured - the user should not change the CW settings.

Arguments
CW n,m,i
where
n is a number, either 0,1 or 2:
0 or ? Causes the controller to return the copyright information
1
Causes the controller to set the MSB of unsolicited returned characters.
2
Causes the controller to not set the MSB of unsolicited characters.
m is 0 or 1 (optional)
0 Causes the controller to pause program execution when the output FIFO is full.
1 Causes the controller to continue program execution when the output FIFO is full, output characters will be lost.
i is 0 or 1 (optional, used for pci driver implementations)
i=0 Disable communication interrupts (status bytes $BA, $BB, $BC)
i=1 Enable communication interrupts (status bytes $BA, $BB, $BC)

Operand Usage
_CW contains the value of the data adjustment bit. 1 =on, 2 = off

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Related Commands
Examples:
CW1;'

Set CW to Galil Driver mode (MSB set on unsolicited characters)

'Note:
'
CW2;'

The CW command can cause garbled (non-ASCII) characters to be returned


by the controller when using third-party software. Use CW2.
Set CW to third-party device mode (normal ASCII on unsoliticed characters)

file:///C|/commandReference/DMC-18x6/pdf/index.html (104 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DA

Syntax:

Implicit Notation Only

Operands:

_DAn

Burn:

not burnable

Deallocate the Variables & Arrays


Full Description
The DA command frees the array and/or variable memory space. In this command, more than one array or variable can be specified for memory deallocation. Different arrays and variables are separated by comma when specified in one command. The * argument deallocates all the variables, and *
[0] deallocates all the arrays.

Arguments
DA c[],d,etc. where
c[] - Defined array name
d - Defined variable name
* - Deallocates all the variables
*[] - Deallocates all the arrays
DA? Returns the number of arrays available.

Operand Usage
_DA contains the total number of arrays available.

Usage
Related Commands
"DM" - Dimension Array

Examples:
'Cars' and 'Salesmen' are arrays, and 'Total' is a variable.
DM Cars[40],Salesmen[50]
Dimension 2 arrays
Total=70
Assign 70 to the variable Total
DA Cars[0],Salesmen[0],Total
Deallocate the 2 arrays & variable
DA*[0]
Deallocate all arrays
DA *,*[0]
Deallocate all variables and all arrays
NOTE: Since this command deallocates the spaces and compacts the array spaces in the memory, it is
possible that execution of this command may take longer time than a standard command. Variables
and arrays that are deallocated are not set to zero. A routine that writes zeros to the array and/
or variables should be created if this is desired.

file:///C|/commandReference/DMC-18x6/pdf/index.html (105 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DC

Syntax:

Explicit & Implicit

Operands:

_DCn

Burn:

burnable with BN

Deceleration
Full Description
The Deceleration command (DC) sets the linear deceleration rate of the motors for independent moves such as PR, PA and JG moves. The parameters
will be rounded down to the nearest factor of 1024 and have units of counts per second squared.

Arguments
DC n,n,n,n,n,n,n,n or DCA=n
where
n is an unsigned numbers in the range 1024 to 1073740800
n=?
Returns the deceleration value for the specified axes.

Operand Usage
_DCn contains the deceleration rate for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (The DC command can only be specified while in the jog mode)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256000

Default Format

(8.0 for 21x3, 18x2), (10.0 for 40x0, 18x6)

While Moving Yes* Default Value 256000


In a Program Yes Default Format 10.0
Command Line Yes
Controller Usage
ALL CONTROLLERS
* When moving, the DC command can only be specified while in the jog mode.

Related Commands
AC
Acceleration
PR
Position Relative
PA
Position Absolute
SP
Speed
JG
Jog
SD
Limit Switch Deceleration

Examples:
PR
AC
DC
SP
BG

10000
Specify position
2000000
Specify acceleration rate
1000000
Specify deceleration rate
5000 Specify slew speed
Begin motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (106 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

Note:

The DC command may be changed during the move in JG move, but not in PR or PA move.

file:///C|/commandReference/DMC-18x6/pdf/index.html (107 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DE

Syntax:

Explicit & Implicit

Operands:

_DEn

Burn:

not burnable

Dual (Auxiliary) Encoder Position


Full Description
The DE command defines the position of the auxiliary encoders.
The DE command defines the encoder position when used with stepper motors.
Note: The auxiliary encoders are not available for the stepper axis or for any axis where output compare is active.

Arguments
DE n,n,n,n,n,n,n,n or DEA=n
where
n is a signed integers in the range -2147483648 to 2147483647 decimal
n=?
Returns the position of the auxiliary encoders for the specified axes.
n = ? returns the commanded reference position of the motor (in step pulses) when used with a stepper motor. Example: DE 0 This will define the
TP or encoder position to 0. This will not effect the DE ? value. (To set the DE value when in stepper mode use the DP command.)

Operand Usage
_DEn contains the current position of the specified auxiliary encoder.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0, 0, 0, 0

Default Format

Position Format

While Moving Yes Default Value 0,0,0,0


In a Program Yes Default Format Position Format
Command Line Yes
Controller Usage
ALL CONTROLLERS

Related Commands
Examples:
DE 0,100,200,400
Set the current auxiliary encoder position to 0,100,200,400 on A,B,C and D
axes
DE?,?,?,?
Return auxiliary encoder positions
DUALA=_DEA
Assign auxiliary encoder position of A-axis to the variable DUALA
Hint: Dual encoders are useful when you need an encoder on the motor and on the load. The encoder
on the load is typically the auxiliary encoder and is used to verify the true load position. Any
error in load position is used to correct the motor position.

file:///C|/commandReference/DMC-18x6/pdf/index.html (108 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DL
Download
Full Description
Arguments
DL n where
n = no argument Downloads program beginning at line 0. Erases programs in RAM.
n = #Label Begins download at line following #Label
n=#
Begins download at end of program in RAM.

Operand Usage
When used as an operand, _DL gives the number of available labels (510 maximum)

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
DL;
Begin download
#A;PR 4000;BGA Data
AMA;MG DONE
Data
EN
Data
<control> Z
End download

file:///C|/commandReference/DMC-18x6/pdf/index.html (109 of 281)8/16/2010 1:21:02 PM

Syntax:

Implicit Notation Only

Operands:

_DLn

Burn:

not burnable

Galil Motion Control Command Reference

DM

Syntax:

Implicit Notation Only

Operands:

_DMn

Burn:

not burnable

Dimension
Full Description
The DM command defines a single-dimensional array with a name and n total elements. The first element of the defined array starts with element
number 0 and the last element is at n-1.

Arguments
DM c[n]
where
c is a array name of up to eight alphanumeric characters, starting with an alphabetic character.
n is the number of array elements.
DM? returns the number of array elements available.

Operand Usage
_DM contains the available array space.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"DA" - Deallocate Array

Examples:
DM Pets[5],Dogs[2],Cats[3]
Define dimension of arrays, pets with 5 elements; Dogs with 2
elements; Cats with 3 elements
DM Tests[1600] Define dimension of array Tests with 1600 elements
:DM?
16000
:DM MyArray[1000]
:DM?
15000
'DMC-40x0 and 18x6 provide length of array with array[-1]
:MG "MyArray contains",MyArray[-1]," elements"
MyArray contains 1000.0000 elements
:

file:///C|/commandReference/DMC-18x6/pdf/index.html (110 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DP

Syntax:

Explicit & Implicit

Operands:

_DPn

Burn:

not burnable

Define Position
Full Description
The DP command sets the current motor position and current command positions to a user specified value. The units are in quadrature counts. This
command will set both the TP and RP values.
The DP command sets the commanded reference position for axes configured as steppers. The units are in steps. Example: DP 0 this will set the
registers for TD and RP to zero, but will not effect the TP register value.

Arguments
DP n,n,n,n,n,n,n,n or DPA=n
where
n is a signed integer in the range -2147483648 to 2147483647 decimal.
n=?
Returns the current position of the motor for the specified axes.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0,0,0,0,0,0,0,0

Default Format

Position Format (PF)

Operand Usage
_DPn contains the current position of the specified axis.

Related Commands
DE Define Aux Encoder
FI Find Index
FE Find Edge
HM Home
PF Position Format
RP Reference Position
TP Tell Encoder Position

Examples:
DP 0,100,200,400
Sets the current position of the A-axis to 0, the B-axis to 100, the C-axis
to 200, and the D-axis to 400
DP ,-50000
Sets the current position of B-axis to -50000. The B,C and D axes remain
unchanged.
DP ?,?,?,?
Interrogate the position of A,B,C and D axis.
:0, -0050000, 200, 400 Returns all the motor positions
DP ?
Interrogate the position of A axis
:0
Returns the A-axis motor position
Hint: The DP command is useful to redefine the absolute position. For example, you can manually
position the motor by hand using the Motor Off command, MO. Turn the servo motors back on with SH
and then use DP0 to redefine the new position as your absolute zero.

file:///C|/commandReference/DMC-18x6/pdf/index.html (111 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (112 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DR

Syntax:

Implicit Notation Only

Operands:

_DR

Burn:

not burnable

Configures I O Data Record Update Rate


Full Description
DR specifies the data update rate as 2n samples between updates. The controller creates a record and places it in the DPRAM location at this rate.

Arguments
DR n where
n is an integer in the range 0 to 8. 0 turns off the secondary communication channel. n=1 through 8 specifies data update rate of 2n sample periods. The
sample period is specified by the TM command and has a default value of 1000 (1msec).
Note: If a small sample period and a small update rate is used, the controller may become noticeably slower as a result of maintaining a high update
rate.

Operand Usage
_DR contains the data record update rate.

Usage
Usage Default Details
Usage
While Moving

Value
Yes

In a Program
Command Line

Yes

Controller Usage
Default Value
Default Format

Related Commands
QZ - Contains format of data
DT

Examples:
:DR8,0
:Gx~P
_`@~P
_H`~P
_0~P
DR0
'Note: The data record is in a binary, non-printable format (the output above is normal when
printing to the terminal)

file:///C|/commandReference/DMC-18x6/pdf/index.html (113 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DT

Syntax:

Implicit Notation Only

Operands:

_DTn

Burn:

not burnable

Delta Time
Full Description
The DT command sets the time interval for Contour Mode. Sending the DT command once will set the time interval for all contour data until a new DT
command (or CDm=n) is sent.

Arguments
DT n where
n is an integer in the range 0 to 8.
n=1 through 8 specifies the time interval of 2^n samples.
n=-1 Pauses Contour Mode and/or allows for user to fill contour buffer. Positive DT will start contour mode by executing next CD segment in the
buffer.
By default the sample period is 1 msec (set by the TM command); with n=1, the time interval would be 2 msec
n=?
Returns the value for the time interval for contour mode.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Operand Usage
_DT contains the value for the time interval for Contour Mode

Related Commands
CM - Contour Mode
CD - Contour Data

Examples:
:DT 4
:DT 7
:

Specifies time interval to be 16 msec (TM1000)


Specifies time interval to be 128 msec

REM basic contour example


#Cont0;'
Define label #Cont0
CM ABCD;'
Specify Contour Mode
DT 4;'
Specify time increment for contour
CD 200,350,-150,500;'
Specify incremental positions on A,B,C and C axes
'
A-axis moves 200 counts B-axis moves 350 counts C'
axis moves -150 counts C-axis moves 500 counts
CD 100,200,300,400 ;'
New position data
CD 0,0,0,0=0;'
End of Contour Buffer/Sequence
#Wait;'
Wait for all segments to process (buffer to empty)
WT 16,1;'
wait for 1 DT time segment (2^4)

file:///C|/commandReference/DMC-18x6/pdf/index.html (114 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

JP#Wait,_CM<>511
EN;'

End program

REM contour example for pre-loading of contour buffer


#Cont1;'
Define label #Cont1
CM AB;'
Specify Contour Mode
DT -1;'
Pause Contour Mode to allow pre-load of buffer
CD 100,200;'
Countour Data pre-loaded in buffer
CD 400,200;'
Countour Data pre-loaded in buffer
CD 200,100;'
Countour Data pre-loaded in buffer
CD 300,50;'
Countour Data pre-loaded in buffer
AI -1;'
Wait for Analog input 1 to go low
DT 8;'
Set positive DT to start contour mode
CD 0,0,0,0=0;'
End of Contour Buffer/Sequence
#Wait;'
Wait for all segments to process (buffer to empty)
WT 16,1;'
wait for 1 DT time segment (2^4)
JP#Wait,_CM<>511
EN;'
End program

file:///C|/commandReference/DMC-18x6/pdf/index.html (115 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

DV

Syntax:

Explicit & Implicit

Operands:

_DVn

Burn:

burnable with BN

Dual Velocity (Dual Loop)


Full Description
The DV function changes the operation of the filter. It causes the KD (derivative) term to operate on the dual encoder instead of the main encoder. This
results in improved stability in the cases where there is a backlash between the motor and the main encoder, and where the dual encoder is mounted on
the motor.
When using Dual Loop mode with a large motor:load ratio and/or running at high velocities where low position error at speed is required, FV should
be used to compensate for the derivitave contribution from the higher resolution motor encoder.
The FV value is calculated by the equation:
FV = (KD/4)*(motor/load)
motor/load = effective motor to load ratio
For example:
KD = 200
motor encoder changes 5000 counts per 1000 counts of load encoder (motor/load = 5/1)
FV = (200/4)*(5/1) = 250

Arguments
DV n,n,n,n,n,n,n,n or DVX=n
n=0
Disables the dual loop mode.
n=1
Enables the dual loop mode.

where

Operand Usage
_DVn contains the state of dual velocity mode for specified axis. 0 = disabled, 1 = enabled.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

N/A

Related Commands
KD - Damping constant
FV - Velocity feedforward

Examples:
DV 1,1,1,1
Enables dual loop on all axes
DV 0
Disables DV on A axis
DV,,1,1 Enables dual loop on C axis and D axis. Other axes remain unchanged.
DV 1,0,1,0
Enables dual loop on A and C axis. Disables dual loop on B and D axis.
MG_DVA Returns state of dual velocity mode for A axis
Hint: The DV command is useful in backlash and resonance compensation.
file:///C|/commandReference/DMC-18x6/pdf/index.html (116 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (117 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EA
Choose ECAM master
Full Description
The EA command selects the master axis for the electronic cam mode. Any axis may be chosen.

Arguments
EA n where
n is one of the axis specified as A,B,C,D,E,F,G, H, M or N

Operand Usage
Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"EB " - Enable ECAM
"EC " - Set ECAM table index
"EG " - Engage ECAM
"EM " - Specify ECAM cycle
"EP" - Specify ECAM table intervals & staring point
"EQ " - Disengage ECAM
"ET " - ECAM table

Examples:
EAB

Select B as a master for ECAM

file:///C|/commandReference/DMC-18x6/pdf/index.html (118 of 281)8/16/2010 1:21:02 PM

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

EB

Syntax:

Implicit Notation Only

Operands:

_EBn

Burn:

not burnable

Enable ECAM
Full Description
The EB function enables or disables the cam mode. In this mode, the starting position of the master axis is specified within the cycle. When the EB
command is given, the master axis is modularized.

Arguments
EB n
n=1
n=0
n=?

where
Starts ECAM mode
Stops ECAM mode.
Returns 0 if ECAM is disabled and a 1 if enabled.

Operand Usage
_EB contains the state of Ecam mode. 0 = disabled, 1 = enabled

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
"EA" - Choose ECAM master
"EC " - Set ECAM table index
"EG " - Engage ECAM
"EM " - Specify ECAM cycle
"EP" - Specify ECAM table intervals & staring point
"EQ " - Disengage ECAM
"ET " - ECAM table

Examples:
EB1
Starts ECAM mode
EB0
Stops ECAM mode
B = _EB Return status of cam mode

file:///C|/commandReference/DMC-18x6/pdf/index.html (119 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EC

Syntax:

Implicit Notation Only

Operands:

_ECn

Burn:

not burnable

ECAM Counter
Full Description
The EC function sets the index into the ECAM table. This command is only useful when entering ECAM table values without index values and is most
useful when sending commands in binary. See the command, ET.

Arguments
EC n where
n is an integer between 0 and 256.
n=?
Returns the current value of the index into the ECAM table.

Operand Usage
_EC contains the current value of the index into the ECAM table.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
"EA" - Choose ECAM master
"EB " - Enable ECAM
"EG " - Engage ECAM
"EM " - Specify ECAM cycle
"EP" - Specify ECAM table intervals & staring point
"EQ " - Disengage ECAM
"ET " - ECAM table

Examples:
EC0
Set ECAM index to 0
ET 200,400
Set first ECAM table entries to 200,400
ET 400,800
Set second ECAM table entries to 400,800

file:///C|/commandReference/DMC-18x6/pdf/index.html (120 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

ED

Syntax:

Implicit Notation Only

Operands:

_ED1,_ED

Burn:

not burnable

Edit
Full Description
Using Telnet style interface (not Galil Software). The ED command puts the controller into the Edit subsystem. In the Edit subsystem, programs can be
created, changed, or destroyed. The commands in the Edit subsystem are:
<cntrl>D Deletes a line
<cntrl>I Inserts a line before the current one
<cntrl>P Displays the previous line
<cntrl>Q Exits the Edit subsystem
<return> Saves a line

Arguments
Operand Usage
_ED contains the line number of the last line to have an error.
_ED1 contains the number of the thread where the error occurred (for multitasking).

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
ED
0 #START
1 PR 2000
2 BGA
3 SLKJ Bad line
4 EN
5 #CMDERR
Routine which occurs upon a command error
6 V=_ED
7 MG "An error has occurred" {n}
8 MG "In line", V{F3.0}
9 ST
10 ZS0
11 EN
Hint: Remember to quit the Edit Mode prior to executing or listing a program.

file:///C|/commandReference/DMC-18x6/pdf/index.html (121 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EG

Syntax:

Explicit & Implicit

Operands:

_EGn

Burn:

not burnable

ECAM go (engage)
Full Description
The EG command engages an ECAM slave axis at a specified position of the master. If a value is specified outside of the master's range, the slave will
engage immediately. Once a slave motor is engaged, its position is redefined to fit within the cycle.

Arguments
EG n,n,n,n,n,n,n,n or EGA=n
where
n is the ECAM master position at which the ECAM slave axis must be engaged.
n=?
Returns 1 if specified axis is engaged and 0 if disengaged.

Operand Usage
_EGn contains ECAM status for specified axis. 0 = axis is not engaged, 1 = axis is engaged.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
"EA" - Choose ECAM master
"EB " - Enable ECAM
"EC " - Set ECAM table index
"EM " - Specify ECAM cycle
"EP" - Specify ECAM table intervals & staring point
"EQ " - Disengage ECAM
"ET " - ECAM table

Examples:
EG 700,1300
Engages the A and B axes at the master position 700 and 1300 respectively.
B = _EGB
Return the status of B axis, 1 if engaged
Note: This command is not a trippoint. This command will not hold the execution of the program
flow. If the execution needs to be held until master position is reached, use MF or MR command.

file:///C|/commandReference/DMC-18x6/pdf/index.html (122 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EI

Syntax:

Implicit Notation Only

Operands:

_EI

Burn:

not burnable

Event Interrupts
Full Description
EI enables interrupts for the predefined event conditions in the table below. When a condition (e.g. Axis A profiled motion complete) occurs after EI is
armed, a particular status byte value (e.g. $D0 or 208) is delivered to the host PC along with the interrupt.

Arguments
EI m,n
m is a 16-bit integer mask between 0 and 65535 and is used to select the interrupt condition(s) to be used. 0 (the default) means "don't interrupt" and
clears the queue when issued. The * conditions must be re-enabled with EI after each occurrence.
Interrupt Bytes
bit

m=2^bit Hex (decimal)

Status Byte Hex (decimal)

Condition

$0001 (1)

$D0 (208)

Axis A profiled motion complete _BGA = 0

$0002 (2)

$D1 (209)

Axis B profiled motion complete _BGB = 0

$0004 (4)

$D2 (210)

Axis C profiled motion complete _BGC = 0

$0008 (8)

$D3 (211)

Axis D profiled motion complete _BGD = 0

$0010 (16)

$D4 (212)

Axis E profiled motion complete _BGE = 0

$0020 (32)

$D5 (213)

Axis F profiled motion complete _BGF = 0

$0040 (64)

$D6 (214)

Axis G profiled motion complete _BGG = 0

$0080 (128)

$D7 (215)

Axis H profiled motion complete _BGH = 0

$0100 (256)

$D8 (216)

All axes profiled motion complete _BGI = 0

$0200 (512)

$C8 (200)

Excess position error _TEn >= _ERn*

10

$0400 (1024)

$C0 (192)

Limit switch _LFn = 0* Must be profiling motion in direction of activated limit


switch for interrupt to occur.

11

$0800 (2048)

$D9 (217)

Watchdog timer (PCI only, no 40x0)

12

$1000 (4096)

13

$2000 (8192)

$DB (219)

Application program stopped _XQn = -1

14

$4000 (16384)

$DA (218)

PC command done, colon response sent (PCI only, no 40x0)

15

$8000 (32768)

$E1-$E8 (225-232)

Digital input(s) 1-8 low (use n for mask)*

UI, user interrupt command

$F0-$FF (240-255)

User Interrupt, See UI command

Reserved

n is an 8-bit integer mask between 0 and 255 and is used to select the specific digital input(s) if bit 15 of m is set (indicating that digital inputs are to be
used for interrupting). Bit 15 of m must be set for the n mask to be used.
Intput Interrupts
bit

n=2^bit hex (decimal)

Status Byte hex (decimal)

Condition

$01 (1)

$E1 (225)

Digital input 1 is low @IN[1] = 0*

$02 (2)

$E2 (226)

Digital input 2 is low @IN[2] = 0*

$04 (4)

$E3 (227)

Digital input 3 is low @IN[3] = 0*

$08 (8)

$E4 (228)

Digital input 4 is low @IN[4] = 0*

$10 (16)

$E5 (229)

Digital input 5 is low @IN[5] = 0*

$20 (32)

$E6 (230)

Digital input 6 is low @IN[6] = 0*

file:///C|/commandReference/DMC-18x6/pdf/index.html (123 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

$40 (64)

$E7 (231)

Digital input 7 is low @IN[7] = 0*

$80 (128)

$E8 (232)

Digital input 8 is low @IN[8] = 0*

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0,0 for PCI 0,0,-1 for Ethernet

Default Format

N/A

Operand Usage
_EI contains the interrupt mask m

Related Commands
UI - User interrupt

Examples:
1.

2.

Interrupt when motion is complete on all axes OR if a limit switch is hit:


From the table, enable bits 8 and 10. m = 256 + 1024 = 1280
EI 1280
Interrupt when digital input 3 is low. Enable bit 15 of m and bit 2 of n.
EI 32768,4

file:///C|/commandReference/DMC-18x6/pdf/index.html (124 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

ELSE

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

Else function for use with IF conditional statement


Full Description
The ELSE command is an optional part of an IF conditional statement. The ELSE command must occur after an IF command and it has no arguments.
It allows for the execution of a command only when the argument of the IF command evaluates False. If the argument of the IF command evaluates
false, the controller will skip commands until the ELSE command. If the argument for the IF command evaluates true, the controller will execute the
commands between the IF and ELSE command.

Arguments
ELSE

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
ENDIF - End of IF conditional Statement

Examples:
IF (@IN[1]=0)
IF conditional statement based on input 1
IF (@IN[2]=0)
2nd IF conditional statement executed if 1st IF conditional true
MG "INPUT 1 AND INPUT 2 ARE ACTIVE"
Message to be executed if 2nd IF conditional is true
ELSE
ELSE command for 2nd IF conditional statement
MG "ONLY INPUT 1 IS ACTIVE"
Message to be executed if 2nd IF conditional is false
ENDIF
End of 2nd conditional statement
ELSE
ELSE command for 1st IF conditional statement
MG"ONLY INPUT 2 IS ACTIVE"
Message to be executed if 1st IF conditional statement is false
ENDIF
End of 1st conditional statement

file:///C|/commandReference/DMC-18x6/pdf/index.html (125 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EM

Syntax:

Explicit & Implicit

Operands:

_EMn

Burn:

burnable with BN

Cam cycles (modulus)


Full Description
The EM command is part of the ECAM mode. It is used to define the change in position over one complete cycle of the master. The field for the master
axis is the cycle of the master position. For the slaves, the field defines the net change in one cycle. If a slave will return to its original position at the
end of the cycle, the change is zero. If the change is negative, specify the absolute value.

Arguments
EM n,n,n,n,n,n,n,n or EMA=n
where
n is a positive integer in the range between 1 and 8,388,607 for the master axis and between 1 and 2,147,483,647 for a slave axis.

Operand Usage
_EMn contains the cycle of the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
"EA" - Choose ECAM master
"EB " - Enable ECAM
"EC " - Set ECAM table index
"EG " - Engage ECAM
"EP" - Specify ECAM table intervals & staring point
"EQ " - Disengage ECAM
"ET " - ECAM table

Examples:
EAC
Select C axis as master for ECAM.
EM 0,3000,2000 Define the changes in A and B to be 0 and 3000 respectively.
as 2000.
V = _EMA
Return cycle of A

file:///C|/commandReference/DMC-18x6/pdf/index.html (126 of 281)8/16/2010 1:21:02 PM

Define master cycle

Galil Motion Control Command Reference

EN

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

End
Full Description
The EN command is used to designate the end of a program or subroutine. If a subroutine was called by the JS command, the EN command ends the
subroutine and returns program flow to the point just after the JS command.
Note: Instead of EN, use the RE command to end the error subroutine and limit subroutine. Use the RI command to end the input interrupt subroutine
A return parameter can be specified to EN from a subroutine to return a value from the subroutine to the calling stack.
The EN command is used to end the automatic subroutines #MCTIME and #CMDERR.

Arguments
EN m,,r where
m = 0:
Return from subroutine without restoring trippoint
m = 1:
Return from subroutine and restore trippoint
r = anyvalue Return a value from a subroutine, accessible to the calling stack in _JS
Note 1: The default value for the argument is 0.
Note 2: Use the RE command to return from the interrupt handling subroutines #LIMSWI and #POSERR. Use the RI command to return from the
#ININT subroutine.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

m=0, n=0

Default Format

N/A

Operand Usage
N/A

Related Commands
RE - Return from error subroutine
RI - Return from interrupt subroutine

Examples:
#A;'
PR 500;'
BGA;'
AMA;'
EN;'

Program A
Move A axis forward 500 counts
Begin motion
Pause the program until the A axis completes the motion
End of Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (127 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

ENDIF

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

End of IF conditional statement


Full Description
The ENDIF command is used to designate the end of an IF conditional statement. An IF conditional statement is formed by the combination of an IF
and ENDIF command. An ENDIF command must always be executed for every IF command that has been executed. It is recommended that the user
not include jump commands inside IF conditional statements since this causes re-direction of command execution. In this case, the command
interpreter may not execute an ENDIF command.

Arguments
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Operand Usage
Related Commands
IF - Command to begin IF conditional statement
ELSE - Optional command to be used only after IF command
JP - Jump command
JS - Jump to subroutine command

Examples:
#A
IF (@IN[1]=0);'
IF conditional statement based on
'
input 1
IF (@IN[2]=0);'
2nd IF conditional statement
'
executed if 1st IF conditional true
MG "INPUT 1 AND INPUT 2 ARE ACTIVE";' Message to be executed if 2nd IF
'
conditional is true
ELSE;'
ELSE command for 2nd IF conditional
'
statement
MG "ONLY INPUT 1 IS ACTIVE";'
Message to be executed if 2nd IF
'
conditional is false
ENDIF;'
End of 2nd conditional statement
ELSE;'
ELSE command for 1st IF conditional
'
statement
MG "ONLY INPUT 2 IS ACTIVE";'
Message to be executed if 1st IF
'
conditional statement is false
ENDIF;'
End of 1st conditional statement
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (128 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EO

Syntax:

Implicit Notation Only

Operands:

_EO

Burn:

not burnable

Echo
Full Description
The EO command turns the echo on or off. If the echo is off, characters input over the bus will not be echoed back.

Arguments
EO n
n=0
n=1

where
0 turns echo off
1 turns echo on.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value (PCI)

Default Value (Stand Alone controllers)

1 (Galil software will set EO 0 upon connection)

Default Format

1.0

Operand Usage
_EO contains the state of the echo; 0 is off, 1 is on

Related Commands
Examples:
EO 0
EO 1

Turns echo off


Turns echo on

file:///C|/commandReference/DMC-18x6/pdf/index.html (129 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EP

Syntax:

Implicit Notation Only

Operands:

_EP

Burn:

burnable with BN

Cam table master interval and phase shift


Full Description
The EP command defines the ECAM table intervals and offset. The offset is the master position of the first ECAM table entry. The interval is the
difference of the master position between 2 consecutive table entries. This command effectively defines the size of the ECAM table. The parameter 'm'
is the interval and 'n' is the starting point. Up to 257 points may be specified.
The offset parameter 'n' can also be used to instantaneously phase shift the graph of the slave position verses the master position. This can be used to
make on-the-fly corrections to the slaves. See application note #2502 for more details.
http://www.galilmc.com/support/application-notes.php

Arguments
EP m,n
where
m is the master interval and is a positive integer in the range between 1 and 32,767 master counts. m cannot be changed while ECAM is running.
m=?
Returns the value of the interval, m.
n is the phase shift and is an integer between -2,147,483,648 and 2,147,483,647 master counts. n can be changed while ECAM is running.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256,0

Default Format

N/A

Operand Usage
_EP contains the value of the interval m.

Related Commands
EA - Choose ECAM master
EB - Enable ECAM
EC - Set ECAM table index
EG - Engage ECAM
EM - Specify ECAM cycle
EQ - Disengage ECAM
ET - ECAM table

Examples:
EP 20
D = _EP
EP,100

Sets the cam master points to 0,20,40 . . .


Set the variable D equal to the ECAM internal master interval
Phase shift all slaves by 100 master counts

file:///C|/commandReference/DMC-18x6/pdf/index.html (130 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

EQ

Syntax:

Explicit & Implicit

Operands:

_EQn

Burn:

not burnable

ECAM quit (disengage)


Full Description
The EQ command disengages an electronic cam slave axis at the specified master position. Separate points can be specified for each axis. If a value is
specified outside of the master's range, the slave will disengage immediately.

Arguments
EQ n,n,n,n,n,n,n,n
or EQA=n
where
n is the master positions at which the axes are to be disengaged.
n=?
Returns 1 if engage command issued and axis is waiting to engage, 2 if
if ECAM engaged or disengaged.

disengage command issued and axis is waiting to disengage, and 0

Operand Usage
_EQn contains 1 if engage command issued and axis is waiting to engage, 2 if disengage command issued and axis is waiting to disengage, and 0 if
ECAM engaged or disengaged.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
EA - Choose ECAM master
EB - Enable ECAM
EC - Set ECAM table index
EG - Engage ECAM
EM - Specify ECAM cycle
EP - Specify ECAM table intervals & staring point
ET - ECAM table

Examples:
EQ 300,700
Disengages the A and B motors at master positions 300 and 700 respectively.
Note: This command is not a trippoint. This command will not hold the execution of the program
flow. If the execution needs to be held until master position is reached, use MF or MR command.

file:///C|/commandReference/DMC-18x6/pdf/index.html (131 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

ER

Syntax:

Explicit & Implicit

Operands:

_ERn

Burn:

burnable with BN

Error Limit
Full Description
The ER command sets the magnitude of the position errors for each axis that will trigger an error condition. When the limit is exceeded, the Error
output will go low (true) and the controller's red light will be turned on. If the Off On Error (OE1) command is active, the motors will be disabled. For
debugging purposes, ER0 and ER-1 can be used to turn the red LED on and off.

Arguments
ER n,n,n,n,n,n,n,n or
ERA=n
where
n is an unsigned number in the range 1 to 2147483647 which represents the error limit in encoder counts. A value of -1 will disable the position error
limit for the specified axis.
n=?
Returns the value of the Error limit for the specified axis.

Operand Usage
_ERn contains the value of the Error limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

16384

Default Format

Position Format

Related Commands
OE - Off-On Error
#POSERR - Automatic Error Subroutine

Examples:
ER 200,300,400,600
Set the A-axis error limit to 200, the B-axis error limit
axis error limit to 400, and the D-axis error limit to 600.
ER ,1000
Sets the B-axis error limit to 1000, leave the A-axis error limit
ER ?,?,?,?
Return A,B,C and D values
200, 100, 400, 600
ER ?
Return A value
200
V1=_ERA Assigns V1 value of ERA
V1=
Returns V1
200
Hint: The error limit specified by ER should be high enough as not to be reached
operation. Examples of exceeding the error limit would be a mechanical jam, or a
component such as encoder or amplifier.

file:///C|/commandReference/DMC-18x6/pdf/index.html (132 of 281)8/16/2010 1:21:02 PM

to 300, the Cunchanged.

during normal
fault in a system

Galil Motion Control Command Reference

ES

Syntax:

Implicit Notation Only

Operands:

none

Burn:

burnable with BN

Ellipse Scale
Full Description
The ES command divides the resolution of one of the axes in a vector mode (VM). This function allows for the generation of circular motion when
encoder resolutions differ. It also allows for the generation of an ellipse instead of a circle.
The command has two parameters, m and n. The arguments, m and n apply to the axes designated by the command VM. When m>n, the resolution of
the first axis, x, will be divided by the ratio m/n. When m<n, the resolution of the second axis, y, will be divided by n/m. The resolution change applies
for the purpose of generating the VP and CR commands, effectively changing the axis with the higher resolution to match the coarser resolution.
The ES command will apply to the selected coordinate system, S or T. To select the coordinate system, use the command CAS or CAT.

Arguments
ES m,n
where
m and n are positive integers in the range between 1 and 65,535.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

1.1

Default Format

N/A

Related Commands
Examples:
VMAB;ES3,4
Divide B
VMCA;ES2,3
Divide A
VMAC; ES3,2
Divide A
Note: ES must be issued

resolution by 4/3
resolution by 3/2
Resolution by 3/2
after VM.

file:///C|/commandReference/DMC-18x6/pdf/index.html (133 of 281)8/16/2010 1:21:02 PM

Galil Motion Control Command Reference

ET

Syntax:

Other

Operands:

none

Burn:

not burnable

Electronic cam table


Full Description
The ET command sets the ECAM table entries for the slave axes. The values of the master axes are not required. The slave entry (n) is the position of
the slave axes when the master is at the point (m i) + o, where i is the interval and o is the offset as determined by the EP command.

Arguments
ET[m] = n,n,n,n,n,n,n,n
where
m is an integer between 0 and 256
n is an integer in the range between -2,147,438,648, and 2,147,438,647.
n=? Returns the slave position for the specified point.
The value m can be left out of the command if the index count has been set using the command, EC. In this mode, each ET command will
automatically increment the index count by 1.

Operand Usage
Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
ET[0]=0,,0
Specifies the position of the slave axes A and C to be synchronized with the
starting point of the master.
ET[1]=1200,,400 Specifies the position of the slave axes A and C to be synchronized with the second
point of the master
EC0
Set the table index value to 0, the first element in the table
ET 0,,0 Specifies the position of the slave axes A and C to be synchronized with the starting point
of the master.
ET 1200,,400
Specifies the position of the slave axes A and C to be synchronized with the second
point of the master

file:///C|/commandReference/DMC-18x6/pdf/index.html (134 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

EW

Syntax:

Other

Operands:

_EW0,_EW1,_EW2,_EW3,

Burn:

not burnable

ECAM Widen Segment


Full Description
The EW command allows widening the length of one or two ECAM segments beyond the width specified by EP. For ECAM tables with one or two
long linear sections, this allows placing more points in the curved sections of the table.
There are only two widened segments, and if used they are common for all ECAM axes. Remember that the widened segment lengths must be taken
into account when determining the modulus (EM) for the master. The segments chosen should not be the first or last segments, or consecutive
segments.

Arguments
EP m1=n1,m2=n2 where
m1 is the index of the first widened segment. m1 is a positive integer between 1 and 255.
n1 is the length of the first widened segment in master counts. n1 is an integer between 1 and 2,147,483,647.
m2 is the index of the second widened segment. m2 is a positive integer between 3 and 255.
n2 is the length of the second widened segment in master counts. n2 is an integer between 1 and 2,147,483,647.
If m1 or m2 is set to -1, there is no widened segment. The segment number m2 must be greater than m1, and m2 may not be used unless m1 is used.

Operand Usage
_EW0 contains m1, the index of the first widened segment.
_EW1 contains n1, the length of the first widened segment.
_EW2 contains m2, the index of the second widened segment
_EW3 contains n2, the length of the second widened segment.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

-1, 0, -1, 0

Default Format

N/A

Related Commands
Examples:
EW 41=688
:'Widen segment 41 to 688 master counts
EW 41=688, 124=688
:'Widen segments 41 and 124 to 688 master counts

file:///C|/commandReference/DMC-18x6/pdf/index.html (135 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

EY

Syntax:

Implicit Notation Only

Operands:

_EY

Burn:

not burnable

ECAM Cycle Count


Full Description
Sets or gets the ECAM cycle count. This is the number of times that the ECAM axes have exceeded their modulus as defined by the EM command. EY
will increment by one each time the master exceeds its modulus in the positive direction, and EY will decrement by one each time the master exceeds
its modulus in the negative direction. EY can be used to calculate the absolute position of an axis with the following equation:
Absolute position = EY * EM + TP

Arguments
EY n
where
n is a signed integer in the range -2147483648 to 2147483647 decimal.
n = ? returns the current cycle count.

Operand Usage
_EY returns the current cycle count

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
EM - ECAM modulus

Examples:
MG _EY * _EMY + _TPY;'

print absolute position of master (Y)

file:///C|/commandReference/DMC-18x6/pdf/index.html (136 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FA

Syntax:

Explicit & Implicit

Operands:

_FAn

Burn:

burnable with BN

Acceleration Feedforward
Full Description
The FA command sets the acceleration feedforward coefficient. This coefficient, when scaled by the acceleration, adds a torque bias voltage during the
acceleration phase and subtracts the bias during the deceleration phase of a motion.
The Feedforward Bias product is limited to 10 Volts. FA operates when commanding motion with PA, PR and JG.
Note: If the feedforward coefficient is changed during a move, then the change will not take effect until the next move.
Acceleration Feedforward Bias = FA * AC * (1.5 10-7) * ((TM/1000)^2)
Deceleration Feedforward Bias = FA * DC * (1.5 10-7) * ((TM/1000)^2)

Arguments
FA n,n,n,n,n,n,n,n or FAS=n
where
n is an unsigned number in the range 0 to 8191 decimal with a resolution of 0.25.
n = ? Returns the value of the feedforward acceleration coefficient for the specified axis.

Operand Usage
_FAn contains the value of the feedforward acceleration coefficient for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

4.2

Related Commands
FV - Velocity feedforward

Examples:
Set feedforward coefficient to 10 for the A-axis
and 15 for the B-axis. The effective bias will
be 0.75V for A and 2.25V for B.
:AC 500000,1000000
:FA 10,15
:FA ?,?
10, 15

Return A and B values

file:///C|/commandReference/DMC-18x6/pdf/index.html (137 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FE

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

not burnable

Find Edge
Full Description
The FE command moves a motor until a transition is seen on the homing input for that axis. The direction of motion depends on the initial state of the
homing input (use the CN command to configure the polarity of the home input). Once the transition is detected, the motor decelerates to a stop.
This command is useful for creating your own homing sequences.
Hint: Find Edge only searches for a change in state on the Home Input. Use FI (Find Index) to search for the encoder index. Use HM (Home) to search
for both the Home input and the Index. Remember to specify BG after each of these commands.

Arguments
FE nnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument specifies all axes.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
FI - Find Index
HM - Home
BG - Begin
AC - Acceleration Rate
DC - Deceleration Rate
SP - Speed for search

Examples:
:FE
:BG
:FEA
:BGA
:FEB
:BGB
:FECD
:BGCD

Set find edge mode


Begin all axes
Only find edge on A
Only find edge on B
Find edge on C and D

file:///C|/commandReference/DMC-18x6/pdf/index.html (138 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FI

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

not burnable

Find Index
Full Description
The FI and BG commands move the motor until an encoder index pulse is detected. The controller looks for a transition from low to high. There are 2
stages to the FI command. The first stage jogs the motor at the speed and direction of the JG command until a transition is detected on the index line.
When the transition is detected, the position is latched and the motor will decelerate to a stop. In the second stage, the motor will reverse direction and
move to the latched position of the index pulse at the speed set by the HV command. At the conclusion of FI, the position is defined as zero.

Arguments
FI nnnnnnnn where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or sequence
No argument specifies all axes.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
FE - Find Edge
HM - Home
BG - Begin
AC - Acceleration
DC - Deceleration
JG - Jog
HV - Homing Velocity

Examples:
#HOME;'
JG 500;'
FIA;'
BGA;'
AMA;'
MG "FOUND INDEX";'
EN

Home Routine
Set speed and forward direction
Find index
Begin motion
After motion
Print message

Hint: Find Index only searches for a change in state on the Index. Use FE to search for the Home. Use HM (Home) to search for both the Home input
and the Index. Remember to specify BG after each of these commands.

file:///C|/commandReference/DMC-18x6/pdf/index.html (139 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FL

Syntax:

Explicit & Implicit

Operands:

_FLn

Burn:

burnable with BN

Forward Software Limit


Full Description
The FL command sets the forward software position limit. If this limit is exceeded during motion, motion on that axis will decelerate to a stop.
Forward motion beyond this limit is not permitted. The forward limit is activated at one count past the set value. The forward limit is disabled at
2147483647. The units are in quadrature counts.
When the forward software limit is activated, the automatic subroutine #LIMSWI will be executed if it is included in the program.

Arguments
FL n,n,n,n,n,n,n,n or FLA=n
where
n is a signed integers in the range -2147483648 to 2147483647, n represents the absolute position of axis.
n = 2147483647 turns off the forward limit
n=?
Returns the value of the forward limit switch for the specified axis.

Operand Usage
_FLn contains the value of the forward software limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

2147483647

Default Format

Position Format

Related Commands
BL - Reverse Limit
PF - Position Formatting

Examples:
:FL 150000
:
#TEST;'
AC 1000000;'
DC 1000000;'
FL 15000;'
JG 5000;'
BGA;'
AMA;'
TPA;'
EN;'

Set forward limit to 150000 counts on the A-axis

Test Program
Acceleration Rate
Deceleration Rate
Forward Limit
Jog Forward
Begin
After Limit
Tell Position
End

file:///C|/commandReference/DMC-18x6/pdf/index.html (140 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

'Hint:

Galil controllers also provide hardware limits.

file:///C|/commandReference/DMC-18x6/pdf/index.html (141 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FV

Syntax:

Explicit & Implicit

Operands:

_FVn

Burn:

burnable with BN

Velocity Feedforward
Full Description
The FV command sets the velocity feedforward coefficient, or returns the previously set value. This coefficient generates an output bias signal in
proportions to the commanded velocity.
Velocity feedforward bias = FV * (Velocity [cts/s]) * (1.22 10-6) * (TM/1000)

Arguments
FV n,n,n,n,n,n,n,n or FVA=n where
n is an unsigned numbers in the range 0 to 8191 decimal
n=?
Returns the feedforward velocity for the specified axis.

Operand Usage
_FVn contains the feedforward velocity for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

4.0

Related Commands
FA - Acceleration Feedforward

Examples:
:FV 10,20
:JG 30000,80000
:FV ?,?
10,20

Set feedforward coefficients to 10 and 20 for A and B respectively


This produces 0.366 volts for A and 1.95 volts for B.
Return the A and B values.

file:///C|/commandReference/DMC-18x6/pdf/index.html (142 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

GA

Syntax:

Explicit & Implicit

Operands:

none

Burn:

burnable with BN

Master Axis for Gearing


Full Description
The GA command specifies the master axes for electronic gearing. Multiple masters for gearing may be specified. The masters may be the main
encoder input, auxiliary encoder input, or the commanded position of any axis. The master may also be the commanded vector move in a coordinated
motion of LM or VM type. When the master is a simple axis, it may move in any direction and the slave follows. When the master is a commanded
vector move, the vector move is considered positive and the slave will move forward if the gear ratio is positive, and backward if the gear ratio is
negative. The slave axes and ratios are specified with the GR command and gearing is turned off by the command GR0.
When the geared motors must be coupled "strongly" to the master, use the gantry mode GM.
When gearing is used in a gantry application, gearing off of the commanded position is recommended.

Arguments
GA n,n,n,n,n,n,n,n
or GAA=n
where
n can be A,B,C,D,E,F,G, H, M or N. The value of n is used to set the specified main encoder axis as the gearing master and M and N represents the
virtual axes. The slave axis is specified by the position of the argument. The first position of the argument corresponds to the 'A' axis, the second
position corresponds to the 'B' axis, etc. A comma must be used in place of an argument if the corresponding axes will not be a slave.
n can be CA,CB,CC,CD,CE,CF,CG or CH. The value of x is used to set the commanded position of the specified axis as the gearing master.
n can be S or T. S and T are used to specify the vector motion of the coordinated system, S or T, as the gearing master.
n can be DA,DB,DC,DD,DE,DF,DG or DH. The value of n is used to set the specified auxiliary encoder axis as the gearing master.
n=? returns the GA setting

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
GR - Gear Ratio
GM - Gantry Mode

Examples:
REM setup gearing where B axis is master for A and C axes.
#GEAR
MOB;'
Turn off servo to B motor
GAB,,B;'
Specify master axis as B
GR .25,,-5;'
Specify A and C gear ratios
SHB;'
Enable B axis
PRB=1000;BGB;' Move B axis 1000 counts
'
A axis will be commanded to move 250 counts positive

file:///C|/commandReference/DMC-18x6/pdf/index.html (143 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

'
EN;'

C axis will be commanded to move 5000 counts negative (-5000)


End program

REM imaginary axis example


#imag
GAC=N;'
set the imaginary N axis as the master of the C axis
GRC=2.5;'
set the gear ratio for the C axis as 1
PRN=1000;BGN;' Move N axis 1000 counts
'
C axis will be commanded to move 2500 counts positive
EN;'
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (144 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

GD

Syntax:

Implicit Notation Only

Operands:

_GDn

Burn:

burnable with BN

Gear Distance
Full Description
The GD command sets the distance of the master axis over which the specified slave will be engaged, disengaged or changed to a new gear setting. The
distance is entered as an absolute value, the motion of the master may be in either direction. If the distance is set to 0, then the gearing will engage
instantly.

Arguments
GD n,n,n,n,n,n,n,n where
N is an integer in the range 0 to 32767, the units are in encoder counts
n=0
will result in the conventional method of instant gear change
n=?
will return the value that is set for the appropriate axis

Operand Usage
_GDn contains the distance the master axis will travel for the specified slave axis to fully engage, disengage, or change ratios.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage
Default Value

Default Format

(1.0 for 18x2 & 21x3) (5.0 for 18x6 & 4xxx)

Related Commands
_GP - Gearing Phase Differential
GR - Gear Ratio
GA - Gear Axis

Examples:
#A
GA,X
;'Sets the X axis as the gearing master for the Y axis
GD,5000 ;'Set distance over which gearing is engaged to 5000 counts of the master axis.
JG5000 ;'Set the X axis jog speed to 5000 cts/sec
BGX
;'Begin motion on the X axis
ASX
;'Wait until X axis reaches the set speed of 5000 counts/sec
GR,1
;'Engage gearing on the Y axis with a ratio of 1:1, the
'distance to fully engage gearing will be 5000 counts of the master axis
WT1000 ;'Wait 1 second
GR,3
;'Set the gear ratio to three. The ratio will be changed
'over the distance set by the GD command
WT1000 ;'Wait 1 second
GR,0
;'Disengage the gearing between the Y axis slave and the
'master. The gearing will be disengaged over the number of
'counts of the master specified with the GD command above
EN
;'End program

file:///C|/commandReference/DMC-18x6/pdf/index.html (145 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (146 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

GM

Syntax:

Explicit & Implicit

Operands:

_GMn

Burn:

not burnable

Gantry mode
Full Description
The GM command specifies the axes in which the gearing function is performed in the Gantry mode. In this mode, the gearing will not be stopped by
the ST command or by limit switches. Only GR0 will stop the gearing in this mode.

Arguments
GM n,n,n,n,n,n,n,n or GMA=n
where
n=0
Disables gantry mode function
n = 1 Enables the gantry mode
n=?
Returns the state of gantry mode for the specified axis: 0 gantry mode disabled, 1 gantry mode enabled

Operand Usage
_GMn contains the state of gantry mode for the specified axis: 0 gantry mode disabled, 1 gantry mode enabled

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
GR - Gear Ratio
GA - Gear Axes

Examples:
GM 1,1,1,1
Enable GM on all axes
GM 0
Disable GM on A-axis, other axes remain unchanged
GM ,,1,1
Enable GM on C-axis and D-axis, other axes remain unchanged
GM 1,0,1,0
Enable GM on A and C-axis, disable GM on B and D axis
Hint: The GM command is useful for driving heavy load on both sides (Gantry Style).

file:///C|/commandReference/DMC-18x6/pdf/index.html (147 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

GR

Syntax:

Explicit & Implicit

Operands:

_GRn

Burn:

burnable with BN

Gear Ratio
Full Description
GR specifies the Gear Ratios for the geared axes in the electronic gearing mode. The master axis is defined by the GA command. The gear ratio may be
different for each geared axis. The master can go in both directions. A gear ratio of 0 disables gearing for each axis. A limit switch also disables the
gearing unless gantry mode has been enabled (see GM command).
When the geared motors must be coupled "strongly" to the master, use the gantry mode GM.

Arguments
GR n,n,n,n,n,n,n,n or
GRA=n
where
n is a signed numbers in the range +/-127, with a fractional resolution of 1/65536.
n=0
Disables gearing
n=?
Returns the value of the gear ratio for the specified axis.

Operand Usage
_GRn contains the value of the gear ratio for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

3.4

Related Commands
GA - Master Axis for Gearing
GM - Gantry Mode

Examples:
REM setup gearing where B axis is master for A and C axes.
#GEAR
MOB;'
Turn off servo to B motor
GAB,,B;'
Specify master axis as B
GR .25,,-5;'
Specify A and C gear ratios
SHB;'
Enable B axis
PRB=1000;BGB;' Move B axis 1000 counts
'
A axis will be commanded to move 250 counts positive
'
C axis will be commanded to move 5000 counts negative (-5000)
EN;'
End program

file:///C|/commandReference/DMC-18x6/pdf/index.html (148 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

HM

Syntax:

Accepts Axis Mask

Operands:

_HMn

Burn:

not burnable

Home
Full Description
The HM command performs a three-stage homing sequence for servo systems and two stage sequence
for stepper motor operation.
For servo motor operation:
During first stage of the homing sequence, the motor moves at the user programmed speed until detecting a transition on the homing input for that axis.
The direction for this first stage is determined by the initial state of the homing input. Once the homing input changes state, the motor decelerates to a
stop. The state of the homing input can be configured using the CN command.
At the second stage, the motor then traverses at HV counts/sec in the opposite direction of Stage
1 until the home switch toggles again. If Stage 3 is
in the opposite direction of Stage 2, the motor
will stop immediately at this point and change direction. If Stage 2 is in the same direction
as
Stage 3, the motor will never stop, but will smoothly continue into Stage 3.
At the third stage, the motor traverses forward at HV counts/sec until the encoder index pulse is
detected. The motor then decelerates to
a stop and goes back to the index. The DMC-40x0 defines the home position as the position at which the index was detected and sets the encoder
reading at this point to zero.
For stepper mode operation, the sequence consists of the first two stages. The frequency of the
motion in stage 2 is set with the HV command.

Arguments
HM nnnnnnnnnn
where
n is A,B,C,D,E,F,G, or H, or any combination to specify the axis. No argument homes all axes.

Operand Usage
_HMn contains the state of the home switch for the specified axis

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
CN - Configure Home
FI - Find Index Only
FE - Find Home Only
HV - Homing velocity

Examples:
HM
BG
BGA
BGB
BGC
BGD
Hint:

Set Homing Mode for all axes


Home all axes
Home only the A-axis
Home only the B-axis
Home only the C-axis
Home only the D-axis
You can create your own custom homing sequence by using the FE (Find Home Sensor only) and

file:///C|/commandReference/DMC-18x6/pdf/index.html (149 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

FI (Find Index only) commands.

file:///C|/commandReference/DMC-18x6/pdf/index.html (150 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

HV

Syntax:

Explicit & Implicit

Operands:

_HVn

Burn:

burnable with BN

Homing Velocity
Full Description
Sets the slew speed for the FI final move to the index and all but the first stage of HM.

Arguments
HV n,n,n,n,n,n,n,n or
HVA=n
where
n is an unsigned even number in the range 0 to 22,000,000 for servo motors. The units are encoder counts per second.
OR
n is an unsigned number in the range 0 to 6,000,000 for stepper motors
n=?
Returns the speed for the specified axis.

Operand Usage
_HVn contains the homing speed for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256

Default Format

Position Format

Related Commands
HM - Home
FI - Find index

Examples:
HVX=1000
HMX
BGX
AMX
EN

;'set homing speed


;'home to home switch then index
;'begin motion
;'wait for motion complete
;'end program

file:///C|/commandReference/DMC-18x6/pdf/index.html (151 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

HX
Halt Execution
Full Description
The HX command halts the execution of any program that is running.

Arguments
HXn where
n is an integer in the range of 0 to 7 and indicates the thread number.

Operand Usage
When used as an operand, _HXn contains the running status of thread n with:
0
Thread not running
1
Thread is running
2
Thread has stopped at trippoint

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

n=0

Default Format

N/A

Related Commands
XQ - Execute program
HX - Stop all threads of motion

Examples:
XQ #A
XQ #B,3
HX0
HX3

Execute program #A, thread zero


Execute program #B, thread three
Halt thread zero
Halt thread three

file:///C|/commandReference/DMC-18x6/pdf/index.html (152 of 281)8/16/2010 1:21:03 PM

Syntax:

Implicit Notation Only

Operands:

_HXn

Burn:

not burnable

Galil Motion Control Command Reference

IF

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

IF conditional statement
Full Description
The IF command is used in conjunction with an ENDIF command to form an IF conditional statement. The arguments consist of one or more
conditional statements and each condition must be enclosed with parenthesis (). If the conditional statement(s) evaluates true, the command interpreter
will continue executing commands which follow the IF command. If the conditional statement evaluates false, the controller will ignore commands
until the associated ENDIF command OR an ELSE command occurs in the program.
Each condition must be placed in parenthesis for proper evaluation by the controller.
Example:
IF((var0=1)&(var1=2));' valid IF statement
MG "GOOD"
ENDIF
IF var0=1&var1=2;'
invalid IF statement
MG "BAD"
ENDIF

Arguments
IF (condition)
where
Conditions are tested with the following logical operators:
< less than or equal to
> greater than
= equal to
<= less than or equal to
>= greater than or equal to
<> not equal
Note 1: Bit wise operators | and & can be used to evaluate multiple conditions.
Note 2: A true condition = 1 and an false condition = 0.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Operand Usage
Related Commands
ELSE - Optional command to be used only after IF command
ENDIF - End of IF conditional Statement
JS - Jump to subroutine
JP - Jump to label

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (153 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

#A
IF (_TEA<1000);' IF conditional statement based on a motor position
MG "Motor is within 1000 counts of zero";' Message to be executed for true
ENDIF;'
End of IF conditional statement
EN;'
End Program
#input
IF (@IN[1]=0);'
MG "Input 1 is Low";'
ENDIF;'
EN

IF conditional statement based on input 1


Message to be executed if "IF" statement is true
End of IF conditional statement

#var
v1=@AN[1]*5;'
IF((v1>25)&(@IN[4]=1));'
MG "Conditions met";'
ENDIF;'
EN

some calculation for variable v1


Conditions based on V1 variable and input 4 status
Message to be executed if "IF" statement is true
End of IF statement

REM The conditions of an if statement can be simplied with the fact that
REM a true condition = 1 and a false condition = 0.
#true
v1=1
IF v1
MG "True v1=",v1
ENDIF
#false
v1=0
IF v1
'if statement evaluates false
ELSE
MG "False v1=",0
ENDIF
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (154 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

II

Syntax:

Implicit Notation Only

Operands:

none

Burn:

burnable with BN

Input Interrupt
Full Description
The II command enables the input interrupt function for the specified inputs. By default, input interrupts are configured for activation with a logic "0"
but can be configured for activation with a logic "1" signal.
If any of the specified inputs are activated during program execution, the program will jump to the subroutine with label #ININT. Any trippoints set by
the program will be cleared but can be re-enabled by the proper termination of the interrupt subroutine using RI. The RI command is used to return
from the #ININT routine.

Arguments
II m,n,o,p
where
m is an integer between 0 and 8 decimal. 0 disables interrupt. The value of m specifies the lowest input to be used for the input interrupt. When the 2nd
argument, n, is omitted, only the input specified by m will be enabled.
n is an integer between 2 and 8. This argument is optional and is used with m to specify a range of values for input interrupts. For example, II 2,4
specifies interrupts occurring for Input 2, Input 3 and Input 4.
o is an integer between 1 and 255. Using this argument is an alternative to specifying an input range with m,n. If m and n are specified, o will be
ignored. The argument o is an integer value and represents a binary number. For example, if o = 15, the binary equivalent is 00001111 where the
bottom 4 bits are 1 (bit 0 through bit 3) and the top 4 bits are 0 (bit 4 through bit 7). Each bit represents an interrupt to be enabled - bit0 for interrupt 1,
bit 1 for interrupt 2, etc. If o=15, the inputs 1,2,3 and 4 would be enabled.
p is an integer between 1 and 255. The argument p is used to specify inputs that will be activated with a logic "1". This argument is an integer value
and represents a binary number. This binary number is used to logically "AND" with the inputs which have been specified by the parameters m and n
or the parameter o. For example, if m=1 and n=4, the inputs 1,2,3 and 4 have been activated. If the value for p is 2 (the binary equivalent of 2 is
00000010), input 2 will be activated by a logic '1' and inputs 1,3, and 4 will be activated with a logic "0".

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Related Commands
#ININT- Interrupt Subroutine
AI - Trippoint for input
RI - Return from Interrupt

Examples:
#A;'
II 1;'
JG 5000;BGA;'

Program A
Specify interrupt on input 1
Specify jog and begin motion on A axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (155 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

#LOOP;JP #LOOP;'
EN;'
#ININT;'
STA;MG "INTERRUPT";AMA;'
AI1;'
BGA;'
RI0;'

Loop to keep thread zero active, only necesary on Ecnono (21x3/18x2)


End Program
Interrupt subroutine
Stop A, print message, wait for motion to complete
Check for interrupt clear
Begin motion
Return to main program, don't re-enable trippoints

file:///C|/commandReference/DMC-18x6/pdf/index.html (156 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

IL

Syntax:

Explicit & Implicit

Operands:

_ILn

Burn:

burnable with BN

Integrator Limit
Full Description
The IL command limits the effect of the integrator function in the filter to a certain voltage. For example, IL 2 limits the output of the integrator of the
A-axis to the +/-2 Volt range.
A negative parameter also freezes the effect of the integrator during the move. For example, IL -3 limits the integrator output to +/-3V. If, at the start of
the motion, the integrator output is 1.6 Volts, that level will be maintained through the move. Note, however, that the KD and KP terms remain active
in any case.

Arguments
IL n,n,n,n,n,n,n,n or
ILA=n
where
n is a number in the range -10 to 10 Volts with a resolution of 0.0003.
n=?
Returns the value of the integrator limit for the specified axis.

Operand Usage
_ILn contains the value of the integrator limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

9.9982

Default Format

1.4

Related Commands
KI - Integrator

Examples:
KI 2,3,5,8
Integrator constants
IL 3,2,7,2
Integrator limits
IL ?
Returns the A-axis limit
3.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (157 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

IN

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Input Variable
Full Description
The IN command allows a variable to be input from a keyboard. When the IN command is executed in a program, the prompt message is displayed.
The operator then enters the variable value followed by a carriage return. The entered value is assigned to the specified variable name.
The IN command holds up execution of following commands in a program until a carriage return or semicolon is detected. If no value is given prior to
a semicolon or carriage return, the previous variable value is kept. Input Interrupts, Error Interrupts and Limit Switch Interrupts will still be active.
The IN command may only be used in thread 0.

Arguments
IN "m",n
where
m is prompt message
n is the variable name
The total number of characters for n and m must be less than 80 characters.
Note: Do not include a space between the comma at the end of the input message and the variable name.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

Position Format

Related Commands
N/A

Examples:
Operator specifies length of material to be cut in inches and speed in inches/sec (2
screw, 2000 counts/rev encoder).
#A
Program A
IN "Enter Speed(in/sec)",V1
Prompt operator for speed
IN "Enter Length(in)",V2
Prompt for length
V3=V1*4000
Convert units to counts/sec
V4=V2*4000
Convert units to counts
SP V3
Speed command
PR V4
Position command
BGA
Begin motion
AMA
Wait for motion complete
MG "MOVE DONE" Print Message
EN
End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (158 of 281)8/16/2010 1:21:03 PM

pitch lead

Galil Motion Control Command Reference

IP

Syntax:

Explicit & Implicit

Operands:

none

Burn:

not burnable

Increment Position
Full Description
The IP command allows for a change in the command position while the motor is moving. This command does not require a BG. The command has
three effects depending on the motion being executed. The units of this are quadrature.
Case 1: Motor is standing still
An IP a,b,c,d command is equivalent to a PR a,b,c,d and BG command. The motor will move to the specified position at the requested slew speed and
acceleration.
Case 2: Motor is moving towards a position as specified by PR, PA, or IP.
An IP command will cause the motor to move to a new position target, which is the old target plus the specified increment. The incremental position
must be in the same direction as the existing motion.
Case 3: Motor is in the Jog Mode
An IP command will cause the motor to instantly try to servo to a position which is the current instantaneous position plus the specified increment
position. The SP and AC parameters have no effect. This command is useful when synchronizing 2 axes in which one of the axis' speed is
indeterminate due to a variable diameter pulley.
Warning: When the mode is in jog mode, an IP will create an instantaneous position error. In this mode, the IP should only be used to make small
incremental position movements.

Arguments
IP n,n,n,n,n,n,n,n or
IPA=n
where
n is a signed numbers in the range -2147483648 to 2147483647 decimal.
n=?
Returns the current position of the specified axis.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

(7.0 on 18x2 & 21x3) (PF on 18x6 & 4xxx)

Related Commands
PF - Position Formatting

Examples:
IP 50
50 counts with set acceleration and speed
#CORRECT
Label
AC 100000
Set acceleration
JG 10000;BGA
Jog at 10000 counts/sec rate
WT 1000 Wait 1000 msec
IP 10
Move the motor 10 counts instantaneously
STA
Stop Motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (159 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

IT

Syntax:

Explicit & Implicit

Operands:

_ITn

Burn:

burnable with BN

Independent Time Constant - Smoothing Function


Full Description
The IT command filters the acceleration and deceleration functions of independent moves such as JG, PR, PA to produce a smooth velocity profile.
The resulting profile, known as smoothing, has continuous acceleration and results in reduced mechanical vibrations. IT sets the bandwidth of the filter
where 1 means no filtering and 0.004 means maximum filtering. Note that the filtering results in longer motion time.
The use of IT will not effect the trippoints AR and AD. The trippoints AR & AD monitor the profile prior to the IT filter and therefore can be satisfied
before the actual distance has been reached if IT is NOT 1.

Arguments
IT n,n,n,n,n,n,n,n or
ITA=n
where
n is a positive numbers in the range between 0.004 and 1.0 with a resolution of 1/256.
n=?
Returns the value of the independent time constant for the specified axis.

Operand Usage
_ITn contains the value of the independent time constant for the specified 'n' axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.4

Related Commands
PR - Position relative
PA - Position absolute
JG - Jog
VM - Vector mode
LM - Linear Interpolation Mode

Examples:
IT 0.8, 0.6, 0.9, 0.1
Set independent time constants for a,b,c,d axes
IT ?
Return independent time constant for A-axis
0.8

file:///C|/commandReference/DMC-18x6/pdf/index.html (160 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

JG

Syntax:

Explicit & Implicit

Operands:

_JGn

Burn:

not burnable

Jog
Full Description
The JG command sets the jog mode and the jog slew speed of the axes.

Arguments
JG n,n,n,n,n,n,n,n or
JGA=n
where
n is a signed even integer in the range 0 to +/-22,000,000 decimal. The units of this are counts/second. (Use JGN = n or JGM = n for the virtual axes)
For stepper motor operation, the maximum value is 6,000,000 steps/ second
n=?
Returns the absolute value of the jog speed for the specified axis.

Operand Usage
_JGn contains the absolute value of the jog speed for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

25000

Related Commands
BG - Begin
DC - Deceleration
TV - Tell Velocity
ST - Stop
AC - Acceleration
IP - Icrement Position

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (161 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

JP

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

Jump to Program Location


Full Description
The JP command causes a jump to a program location on a specified condition. The program location may be any program line number or label. The
condition is a conditional statement which uses a logical operator such as equal to or less than. A jump is taken if the specified condition is true.
Multiple conditions can be used in a single jump statement. The conditional statements are combined in pairs using the operands "&" and "|". The "&"
operand between any two conditions, requires that both statements must be true for the combined statement to be true. The "|" operand between any
two conditions, requires that only one statement be true for the combined statement to be true.
Each condition must be placed in parenthesis for proper evaluation by the controller.
Example:
JP#a,((var0=1)&(var1=2));' valid conditional jump
JP#a,var0=1&var1=2;'
invalid conditional jump

Arguments
JP location,condition where
location is a program line number or label
condition is a conditional statement using a logical operator
The logical operators are:
< less than
> greater than
= equal to
<= less than or equal to
>= greater than or equal to
<> not equal to

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
JS - Jump to Subroutine
IF - If conditional statement
ELSE - Else function for use with IF conditional statement
ENDIF - End of IF conditional statement

Examples:
JP #POS1,(V1<5);'
Jump to label #POS1 if variable V1 is less than 5
JP #A,((V7*V8)=0);' Jump to #A if V7 times V8 equals 0

file:///C|/commandReference/DMC-18x6/pdf/index.html (162 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

JP #B,(@IN[1]=9);'
JP #C;'

Jump to #B if input 1 = 1
Jump to #C unconditionally

Hint: JP is similar to an IF, THEN command. Text to the right of the comma is the condition that
must be met for a jump to occur. The destination is the specified label before the comma.

file:///C|/commandReference/DMC-18x6/pdf/index.html (163 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

JS

Syntax:

Embedded Only

Operands:

_JS

Burn:

not burnable

Jump to Subroutine
Full Description
Basic Usage
The JS command will change the sequential order of execution of commands in a program. If the jump is taken, program execution will continue at the
line specified by the destination parameter, which can be either a line number or label. The line number of the JS command is saved and after the next
EN command is encountered (End of subroutine), program execution will continue with the instruction following the JS command. There can be a JS
command within a subroutine, up to 16 deep.
Multiple conditions can be used in a single jump statement. The conditional statements are combined in pairs using the operands "&" and "|". The "&"
operand between any two conditions, requires that both statements must be true for the combined statement to be true. The "|" operand between any
two conditions, requires that only one statement be true for the combined statement to be true. Note: Each condition must be placed in parenthesis for
proper evaluation by the controller.
A jump is taken if the specified condition is true.
Each condition must be placed in parenthesis for proper evaluation by the controller.
Example:
JS#a,(var0=1)&(var1=2);' valid conditional jump
JS#a,var0=1&var1=2;'
invalid conditional jump
Up to 8 parameters can be passed on the subroutine stack. One value can be returned from a subroutine. More return values are possible with pass by
reference and array passing.
Using subroutine stacks and passing parameters in a subroutine has many advantages including:
1. Code flexibility/reuse. A single subroutine can be written and called many times and from various locations in code. The stack "remembers"
where to return when completed. This is opposite from a "blind jump" (JP).
2. Variable Scope/ Local variables. A subroutine can run with a protected variable space. Local variables exist only in the extent of the subroutine,
and no external thread or stack level can access local variables. Global variables aren't needed for counters, indices, and other helper variables. ^a - ^h
must be used for local variables. Regular variable names remain global.
3. Each thread has its own stack, therefore subroutines are reentrant. In other words, multiple threads can be running the same subroutine
simultaneously at various stack depths.
4. Support for recursion. Although the subroutine stack is only 16 deep, recursion is possible. A stack depth of 16 is sufficient for many recursive
tasks. E.G. recursing axes, handles, and thread status.
5. Parameter passing. A calling command can explicitly specify the inputs to a subroutine. The subroutine can pass one value back to the calling
command. More returns are possible with pass by reference and array passing.
Constants, Variables, and Arrays may be passed up a subroutine stack.
Variables may be passed by value or by reference. If passed by value, a copy is made in the subroutine stack, leaving the original variable
unchangeable. If passed by reference, the original variable's value will be changed when the subroutine writes to its local variable. This is similar, but
not exactly analogous to a C pointer.
A variable passed by reference is automatically dereferenced; the variable pointer is not exposed to the user. Following the C syntax, a by-reference
pass is accomplished with the ampersand (&) in the invoking call.
Arrays can be passed in the stack, though only by reference. No "&" is used when passing arrays, by-reference is assumed. The length of an array is
returned by reading index -1, e.g. array[-1].
To return a value on the stack, write the value in the EN command upon ending the subroutine.

Arguments
JS destination (param1,param2,..,param8), condition
where
destination is a line number or label. A mathematical expression will be evaluated allowing for jump offsets (e.g. #LABEL+4).

file:///C|/commandReference/DMC-18x6/pdf/index.html (164 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

param1 - param8 are optional parameters to pass to the subroutine's stack, referenced from within the subroutine as ^a-^h, respectively.
condition is an optional conditional statement using a logical operator
The logical operators are:
< less than or equal to
> greater than
= equal to
<= less than or equal to
>= greater than or equal to
<> not equal

Operand Usage
_JS

used after JS is called, this operand contains the returned of the subroutine called by JS

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Related Commands
& , | - Bitwise Logical Operators AND and OR
EN - End
<,>,=,<=,>=,<> - Comparison Operators
^a, ^b, ^c, ^d, ^e, ^f, ^g, ^h - JS subroutine stack variable

Examples:
JS #SQUARE,(V1<5);' Jump to subroutine #SQUARE if V1 is less than 5
JS #LOOP,(V1<>0);' Jump to #LOOP if V1 is not equal to 0
JS #A;'
Jump to subroutine #A (unconditionally)
#ADD
JS#SUM(1,2,3,4,5,6,7,8);'
MG_JS;'
EN

Call subroutine, pass values


Print return value, will print 36.0000

#SUM;'
EN,,^a+^b+^c+^d+^e+^f+^g+^h;'

Sums values passed to it. Expects 8 numbers


Return the sum

file:///C|/commandReference/DMC-18x6/pdf/index.html (165 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

KD

Syntax:

Explicit & Implicit

Operands:

_KDn

Burn:

burnable with BN

Derivative Constant
Full Description
KD designates the derivative constant in the control filter. The filter transfer function is
D(z) = KP + KD(z-1)/z + KIz/2 (z-1)
For further details on the filter see the section Theory of Operation.

Arguments
KD n,n,n,n,n,n,n,n or
KDX=n
where
n is an unsigned numbers in the range 0 to 4095.875 with a resolution of 1/8.
n=?
Returns the value of the derivative constant for the specified axis.

Operand Usage
_KDn contains the value of the derivative constant for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

64

Default Format

4.2

Related Commands
KI - Integrator
KP - Proportional

Examples:
KD 100,200,300,400.25
Specify KD
KD ?,?,?,?
Return KD
100.00, 200.00, 300.00, 400.25
Note: KD now has four time more resolution as prior controllers, and thus for the same value is
four times less effective.

file:///C|/commandReference/DMC-18x6/pdf/index.html (166 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

KI
Integrator
Full Description
The KI command sets the integral gain of the control loop. It fits in the control equation as follows:
D(z) = KP + KD(z-1)/z + KI z/2(z-1)
The integrator term will reduce the position error at rest to zero.

Arguments
KI n,n,n,n,n,n,n,n or
KIA=n
where
n is an unsigned numbers in the range 0 to 255 with a resolution of 0.001.
n=?
Returns the value for the specified axis.

Operand Usage
_KIn contains the value of the integral gain for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

(4.0 for 18x2 & 21x3), (4.4 for 18x6, 4xxx & RIO)

While Moving Yes Default Value 0


In a Program Yes Default Format 4.4
Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
KP - Proportional Constant
KD - Derivative Constant
IL - Integrator Limit

Examples:
KI 12,14,16,20
KI 7
Specify
KI ,,8 Specify
KI ?,?,?,?
7, 14, 8, 20

Specify a,b,c,d-axis integral


a-axis only
c-axis only
Return A,B,C,D
KI values

file:///C|/commandReference/DMC-18x6/pdf/index.html (167 of 281)8/16/2010 1:21:03 PM

Syntax:

Explicit & Implicit

Operands:

_KIn

Burn:

burnable with BN

Galil Motion Control Command Reference

KP

Syntax:

Explicit & Implicit

Operands:

_KPn

Burn:

burnable with BN

Proportional Constant
Full Description
KP designates the proportional constant in the controller filter. The filter transfer function is
D(z) = KP + KD(z-1)/z + KI z/2(z-1)
For further details see the section Theory of Operation in the User's Manual.

Arguments
KP n,n,n,n,n,n,n,n or
KPA=n
where
n is an unsigned numbers in the range 0 to 1023.875 with a resolution of 1/8.
n=?
Returns the value of the proportional constant for the specified axis.

Operand Usage
_KPn contains the value of the proportional constant for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

4.2

Related Commands
KP - Proportional Constant
KI - Integrator
IL - Integrator Limit
Note: KP now has four times more resolution as prior controllers, and thus the same value as that of an Optima controller is four times less effective.
KS

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (168 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

KS

Syntax:

Explicit & Implicit

Operands:

_KSn

Burn:

burnable with BN

Step Motor Smoothing


Full Description
The KS parameter sets the amount of smoothing of stepper motor pulses. This is most useful when operating in full or half step mode. Larger values of
KS provide greater smoothness. This parameter will also increase the motion time by 3KS sampling periods. KS adds a single pole low pass filter onto
the output of the motion profiler.
Note: KS will cause a delay in the generation of output steps.

Arguments
KS n,n,n,n,n,n,n,n or
KSA=n
where
n is a positive number in the range between 0.25 and 64 with a resolution of 1/32.
n=?
Returns the value of the smoothing constant for the specified axis.

Operand Usage
_KSn contains the value of the stepper motor smoothing constant for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value
Default Format
While Moving Yes Default Value 1.313
In a Program Yes Default Format 2.3
Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
MT - Motor Type

Examples:
KS 2, 4 , 8
Specify a,b,c axes
KS 5
Specify a-axis only
KS ,,15 Specify c-axis only
Hint: KS is valid for step motor only.

file:///C|/commandReference/DMC-18x6/pdf/index.html (169 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LA

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

List Arrays
Full Description
The LA command returns a list of all arrays in memory. The listing will be in alphabetical order. The size of each array will be included next to each
array name in square brackets.

Arguments
None

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
LL - List Labels
LS - List Program
LV - List Variable

Examples:
: LA
CA [10]
LA [5]
NY [25]
VA [17]

file:///C|/commandReference/DMC-18x6/pdf/index.html (170 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LC

Syntax:

Implicit Notation Only

Operands:

_LCn

Burn:

burnable with BN

Low Current Stepper Mode


Full Description
Causes the amp enable line for the specified axes to toggle (disabling the stepper drives) a programmable amount of time after the respective axes stop
(profiler holding position). Each axis is handled individually. This will reduce current consumption, but there will be no holding torque. The MT
command must be issued prior to the LC command.

Arguments
LC n,n,n,n,n,n,n,n where
n = 0 Normal (stepper drive always on)
n is an integer between 1 and 32767 specifying the number of samples to wait between the end of the move and when the amp enable line toggles
n = ? Returns the current value

Operand Usage
_LCn contains the low current value.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0 (18x6 & 40x0)

Default Format

5.0 (18x6 & 40x0)

Related Commands
MT - Motor Type

Examples:
MTZ=2
LCZ=1

Specify stepper mode for the z axis


Specify low current mode for the z axis and disable immediately

file:///C|/commandReference/DMC-18x6/pdf/index.html (171 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LD

Syntax:

Explicit & Implicit

Operands:

_LDn

Burn:

burnable with BN

Limit Disable
Full Description
Disables limit switches. Soft limits BL and FL are still in effect. This feature should be used to gain additional digital inputs if limit switches are not
used, or if there is a noise problem which causes limit switch conditions even though no limit switches are connected.

Arguments
LD n,n,n,n,n,n,n,n or
LDA=n
n=0
enabled (default)
n=1
forward limit disabled
n=2
reverse limit disabled
n=3
both disabled
n=?
returns the current setting

where

Operand Usage
_LDn contains the current value

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
_LFX - State of forward limit
_LRX - State of reverse limit
SC - Stop code
BL - Backward soft limit
FL - Forward soft limit

Examples:
LDX=1

Disable the forward limit switch on the X axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (172 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LE

Syntax:

Two Letter Only

Operands:

_LEn

Burn:

not burnable

Linear Interpolation End


Full Description
LE
Signifies the end of a linear interpolation sequence. It follows the last LI specification in a linear sequence. After the LE specification, the controller
issues commands to decelerate the motors to a stop. The VE command is interchangeable with the LE command.
The LE command will apply to the selected coordinate system, S or T. To select the coordinate system, use the command CAS or CAT.

Arguments
n=?
Returns the total move length in encoder counts for the selected coordinate system, S or T. To select the coordinate system, use the command
CAS or CAT.

Operand Usage
_LEn contains the total vector move length in encoder counts.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

PF

Related Commands
LI - Linear Distance
BG - BGS Begin Sequence
LM - Linear Interpolation Mode
PF - Position Formatting
VA - Vector Acceleration
VD - Vector Deceleration
VS - Vector Speed

Examples:
CAS
Specify S coordinated motion system
LM CD
Specify linear interpolation mode for C and D axes
LI ,,100,200
Specify linear distance
LE
End linear move
BGS
Begin motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (173 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LI

Syntax:

Explicit & Implicit

Operands:

none

Burn:

not burnable

Linear Interpolation Distance


Full Description
The LI command specifies the incremental distance of travel for each axis in the Linear Interpolation (LM) mode. LI parameters are relative distances
given with respect to the current axis positions. Up to 511 LI segments may be given ahead of the Begin Sequence (BGS) command. Additional LI
commands may be sent during motion when the controller sequence buffer frees additional space for new vector segments. The Linear End (LE)
command must be given after the last LI segment in a sequence. LE tells the controller to decelerate to a stop at the last LI command. It is the
responsibility of the user to keep enough LI segments in the controller's sequence buffer to ensure continuous motion.
LM ? Returns the available spaces for LI segments that can be sent to the buffer. 511 returned means the buffer is empty and 511 LI segments can be
sent. A zero means the buffer is full and no additional segments can be sent. It should be noted that the controller computes the vector speed based on
the axes specified in the LM mode. For example, LM ABC designates linear interpolation for the A,B and C axes. The speed of these axes will be
computed from:

where
V is the vector speed
A, B and C are the speed of the A,B and C axes
If the LI command specifies only A and B, the speed of C will still be used in the vector calculations. The controller always uses the axis specifications
from LM, not LI, to compute the speed.
The LI command will apply to the selected coordinate system, S or T. To select the coordinate system, use the command CAS or CAT.

Arguments
LI n,n,n,n,n,n,n,n <o >p or LIA=n
where
n is a signed integer in the range -8,388,607 to 8,388,607 and represents the incremental move distance (at least one n must be non-zero).
o specifies a vector speed to be taken into effect at the execution of the linear segment. o is an unsigned even integer between 0 and 22,000,000 for
servo motor operation and between 0 and 6,000,000 for stepper motors.
p specifies a vector speed to be achieved at the end of the linear segment. Based on vector accel and decal rates, p is an unsigned even integer between
0 and 22,000,000 for servos, and between 0 and 6,000,000 for steppers.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Related Commands
LE - Linear end
BG - BGS Begin sequence
LM - Linear Interpolation Mode
CS - Clear Sequence

file:///C|/commandReference/DMC-18x6/pdf/index.html (174 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VS - Vector Speed
VA - Vector Acceleration
VD - Vector Deceleration

Examples:
LM ABC;'
LI 1000,2000,3000;'
LE;'
BGS;'

Specify linear interpolation mode


Specify distance
Last segment
Begin sequence

file:///C|/commandReference/DMC-18x6/pdf/index.html (175 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LL

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

List Labels
Full Description
The LL command returns a listing of all of the program labels in memory and their associated line numbers. The listing will be in alphabetical order.

Arguments
None

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
LA - List Arrays
LS - List Program
LV - List Variables

Examples:
:
#
#
#
#
#

LL
FIVE=5
FOUR=4
ONE=1
THREE=3
TWO=2

file:///C|/commandReference/DMC-18x6/pdf/index.html (176 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LM

Syntax:

Accepts Axis Mask

Operands:

_LMn

Burn:

not burnable

Linear Interpolation Mode


Full Description
The LM command specifies the linear interpolation mode and specifies the axes for linear interpolation. Any set of 1 thru 8 axes may be used for linear
interpolation. LI commands are used to specify the travel distances for linear interpolation. The LE command specifies the end of the linear
interpolation sequence. Several LI commands may be given as long as the controller sequence buffer has room for additional segments. Once the LM
command has been given, it does not need to be given again unless the VM command has been used.
The LM command will apply to the selected coordinate system, S or T. To select the coordinate system, use the command CAS or CAT.

Arguments
LM nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
n=?
Returns the number of spaces available in the sequence buffer for additional LI commands.

Operand Usage
_LMn contains the number of spaces available in the sequence buffer for the 'n' coordinate system, S or T.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
LE - Linear Interpolation End
LI - Linear Interpolation Distance
VA - Vector Acceleration
VS - Vector Speed
VD - Vector Deceleration
AV - After Vector Distance
CS - Clear Sequence

Examples:
LM ABCD;'
VS 10000; VA 100000;VD 1000000;'
LI 100,200,300,400;'
LI 200,300,400,500;'
LE; BGS;'

Specify linear interpolation mode


Specify vector speed, acceleration and deceleration
Specify linear distance
Specify linear distance
Last vector, then begin motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (177 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LS

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

List
Full Description
The LS command returns a listing of the programs in memory.

Arguments
LS n,m
where
n and m are valid numbers from 0 to 1999, or labels. n is the first line to be listed, m is the last.
n is an integer in the range of 0 to 1999 or a label in the program memory. n is used to specify the first line to be listed.
m is an integer in the range of 1 to 1999 or a label on the program memory. m is used to specify the last line to be listed.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

0, Last Line (for DMC)

Default Format

N/A

Related Commands
LA - List Arrays
LL - List Labels
LV - List Variables

Examples:
:LS #A,6
List program starting at #A through line 6
2 #A
3 PR 500
4 BGA
5 AM
6 WT 200
Hint: Remember to quit the Edit Mode <cntrl> Q prior to giving the LS command. (DOS)

file:///C|/commandReference/DMC-18x6/pdf/index.html (178 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LV

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

List Variables
Full Description
The LV command returns a listing of all of the program variables in memory. The listing will be in alphabetical order.

Arguments
None

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

VF (for 18x6 & 4xxx)

Related Commands
LA - List Arrays
LS - List Program
LL - List Labels

Examples:
: LV
APPLE = 60.0000
BOY
= 25.0000
ZEBRA = 37.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (179 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

LZ

Syntax:

Implicit Notation Only

Operands:

_LZ

Burn:

burnable with BN

Inhibit leading zeros


Full Description
The LZ command is used for formatting the values returned from interrogation commands or interrogation of variables and arrays. By enabling the LZ
function, all leading zeros of returned values will be removed.

Arguments
LZ n
n=1
n=0
n=?

where
Removes leading zeros
Does not remove leading zeros.
Returns the state of the LZ function. '0' does not remove and '1' removes zeros

Operand Usage
_LZ contains the state of the LZ function. '0' is disabled and '1' is enabled.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Details

Default Value

N/A

Related Commands
Examples:
LZ 0
Disable the LZ function
TPA
Interrogate the controller for current position of A axis
0000021645.0000
Value returned by the controller
VAR1=
Request value of variable "VAR1" (previously set to 10)
0000000010.0000
Value of variable returned by controller
LZ1
Enable LZ function
TPA
Interrogate the controller for current position of A axis
21645.0000
Value returned by the controller
VAR1=
Request value of variable "VAR1" (previously set to 10)
10.0000
Value of variable returned by controller

file:///C|/commandReference/DMC-18x6/pdf/index.html (180 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MC

Syntax:

Accepts Axis Mask


& Trippoint

Operands:

none

Burn:

not burnable

Motion Complete
Full Description
The MC command is a trippoint used to control the timing of events. This command will hold up execution of the following commands until the
current move on the specified axis or axes is completed and the encoder reaches or passes the specified position. Any combination of axes may be
specified with the MC command. For example, MC AB waits for motion on both the A and B axis to be complete. MC with no parameter specifies that
motion on all axes is complete. The command TW sets the timeout to declare an error if the encoder is not in position within the specified time. If a
timeout occurs, the trippoint will clear and the stop code will be set to 99. An application program will jump to the special label #MCTIME.
When used in stepper mode, the controller will hold up execution of the proceeding commands until the controller has generated the same number
of steps as specified in the commanded position. The actual number of steps that have been generated can be monitored by using the interrogation
command TD. Note: The MC command is recommended when operating with stepper motors since the generation of step pulses can be delayed due to
the stepper motor smoothing function, KS. In this case, the MC command would only be satisfied after all steps are generated.

Arguments
MC nnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument specifies that motion on all axes is complete.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BG - Begin
AM - After Move
TW - Timeout

Examples:
#MOVE
Program MOVE
PR2000,4000
Independent Move on A and B axis
BG AB
Start the B axis
MC AB
After the move is complete on T coordinate system,
MG "DONE"; TP Print message
EN
End of Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (181 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MF

Syntax:

Explicit & Implicit


& Trippoint

Operands:

none

Burn:

not burnable

Forward Motion to Position


Full Description
The MF command is a trippoint used to control the timing of events. This command will hold up the execution of the following command until the
specified motor moves forward and crosses the position specified*. The units of the command are in quadrature counts. Only one axis may be specified
at a time. The MF command only requires an encoder and does not require that the axis be under servo control.
* When using a stepper motor, this condition is satisfied when the stepper position (as determined by the output buffer) has crossed the specified
Forward Motion Position. For further information see Chapter 6 of the User Manual "Stepper Motor Operation".
Hint: The accuracy of the MF command is the number of counts that occur in 2*TM sec. Multiply the speed by 2*TM sec to obtain the maximum
error. MF tests for absolute position. The MF command can also be used when the specified motor is driven independently by an external device.

Arguments
MF n,n,n,n,n,n,n,n or
MFA=n
where
n is a signed integer in the range 2147483648 to 2147483647 decimal

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
AR - Trippoint for after Relative Distances
AP - Trippoint for after Absolute Position
MR - Reverse Motion to Position Trippoint

Examples:
#TEST;'
Program Test
DP0;'
Define zero
JG 1000;'
Jog mode (speed of 1000 counts/sec)
BG A;'
Begin move
MF 2000;'
After passing the position 2000
V1=_TPA;'
Assign V1 A position
MG "Position is", V1;'Print Message
ST;'
Stop
EN;'
End of Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (182 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MG

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Message
Full Description
The MG command can be used in two ways:
1.) From a host PC "MG val" will return the value, where val is an operand, string, variable, or number, including mathematical expressions. This is
known as a solicited command, because the host sends the command and expects a response.
:MG TIME
261928200.0000
:variable = 10
:MG variable + 5
15.0000
:MG _TI0
255.0000
:MG "Foo"
Foo
:
2.) From embedded DMC code, the MG command will send an unsolicited, asynchronous message from the controller to the host. This can be used to
alert an operator, send instructions or return a variable value. This is known as an unsolicited command because the host is not expecting it; the DMC
code sends the data when the MG command is executed in embedded code.
The CW command controls the ASCII format of all unsolicited messages.
#POSERR
MG "Warning, position error exceeded"
RE

Arguments
MG "m", {^n}, V
where
"m" is a text string including alphanumeric characters (up to 76 characters)
{^n} is an ASCII character specified by the value n
V is a value, variable name, operand, array element, or mathematical expression
Multiple strings, variables, and ASCII characters may be used, each must be separated by a comma.
Formatters
{Fm.n} Display variable in decimal format with m digits to left of decimal, and n to the right.
{Zm.n} Same as {Fm.n} but suppresses leading zeros.
{$m.n} Display variable in hexadecimal format with m digits to left of decimal, and n to the right.
{Sn} Display variable as a string of length n where n is 1 through 6
{N} Suppress carriage return line feed (\r\n) at the end of the message.
Formatters can be placed before or after each argument in MG.

Operand Usage
N/A

Usage
Usage and Default Details

file:///C|/commandReference/DMC-18x6/pdf/index.html (183 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Related Commands
Examples
'Message command displays ASCII string
MG "Good Morning"
'Displays the string with the content of variable 'Total' in
'format of 4 digits before and 2 digits after the decimal point.
MG "The Answer is", Total {F4.2}
Message command sends any ASCII character
MG {^13}, {^10}, {^48}, {^055}
'displays carriage return, line feed, and the characters 0 and 7.
'printing to the LCD screen
LU0
ct=1
rpm=1432
MG{L1}"CT SPD",{L2}{F1.0}ct," ",{F4.0}rpm
EN

file:///C|/commandReference/DMC-18x6/pdf/index.html (184 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MO

Syntax:

Accepts Axis Mask

Operands:

_MOn

Burn:

burnable with BN

Motor Off
Full Description
The MO command shuts off the control algorithm. The controller will continue to monitor the motor position. To turn the motor back on use the Servo
Here command (SH).

Arguments
MO nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
No argument specifies all axes.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

While Moving No Default Value 0


In a Program Yes Default Format 1.0
Command Line Yes
Controller Usage ALL CONTROLLERS
_MOn contains the state of the motor for the specified axis.

Related Commands
SH
Servo Here

Examples:
MO
Turn off all motors
MOA
Turn off the A motor. Leave the other motors unchanged
MOB
Turn off the B motor. Leave the other motors unchanged
MOCA
Turn off the C and A motors. Leave the other motors unchanged
SH
Turn all motors on
Bob=_MOA
Sets Bob equal to the A-axis servo status
Bob=
Return value of Bob. If 1, in motor off mode, If 0, in servo mode
Hint: The MO command is useful for positioning the motors by hand. Turn them back on with the SH
command.

file:///C|/commandReference/DMC-18x6/pdf/index.html (185 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MR

Syntax:

Explicit & Implicit

Operands:

none

Burn:

not burnable

Reverse Motion to Position


Full Description
The MR command is a trippoint used to control the timing of events. This command will hold up the execution of the following command until the
specified motor moves backward and crosses the position specified*. The units of the command are in quadrature counts. Only one axis may be
specified at a time. The MR command only requires an encoder and does not require that the axis be under servo control.
* When using a stepper motor, this condition is satisfied when the stepper position (as determined by the output buffer) has crossed the specified
Reverse Motion Position. For further information see Chapter 6 of the User Manual "Stepper Motor Operation".
Hint: The accuracy of the MR command is the number of counts that occur in 2*TM sec. Multiply the speed by 2*TM sec to obtain the maximum
error. MR tests for absolute position. The MR command can also be used when the specified motor is driven independently by an external device.

Arguments
MR n,n,n,n,n,n,n,n or
MRA=n
where
n is a signed integers in the range 2147483648 to 2147483647 decimal

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
AD - Trippoint for Relative Distances
AP - Trippoint for after Absolute Position
MF - Forward Motion to Position Trippoint

Examples:
#TEST;'
Program Test
DP0;'
Define zero
JG -1000;'
Jog mode (speed of 1000 counts/sec)
BG A;'
Begin move
MR -3000;'
After passing the position -3000
V1=_TPA;'
Assign V1 A position
MG "Position is", V1;' Print Message
ST;'
Stop
EN;'
End of Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (186 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

MT

Syntax:

Explicit & Implicit

Operands:

_MTn

Burn:

burnable with BN

Motor Type
Full Description
The MT command selects the type of the motor and the polarity of the drive signal. Motor types include standard servomotors, which require a voltage
in the range of +/- 10 Volts, and step motors, which require pulse and direction signals. The polarity reversal inverts the analog signals for servomotors,
and inverts logic level of the pulse train, for step motors.

Arguments
MT n,n,n,n,n,n,n,n or MTA=n
where
n=1
Specifies Servo motor
n = -1
Specifies Servo motor with reversed polarity
n = 1.5
Specifies PWM/Sign servo drive
n = -1.5
Specifies PWM/Sign servo drive with reversed polarity
n = -2
Specifies Step motor with active high step pulses
n=2
Specifies Step motor with active low step pulses
n = -2.5 Specifies Step motor with reversed direction and active high step pulses
n = 2.5
Specifies Step motor with reversed direction and active low step pulses
n=?
Returns the value of the motor type for the specified axis.

Operand Usage
_MTn contains the value of the motor type for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

1,1,1,1

Default Format

1 (18x2 & 21x3), 1.1 (18x6 & 4xxx)

Related Commands
CE - Configure encoder type

Examples:
MT 1,-1,2,2
Configure a as servo, b as reverse servo, c and d as steppers
MT ?,? Interrogate motor type
V=_MTA Assign motor type to variable

file:///C|/commandReference/DMC-18x6/pdf/index.html (187 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

NB

Syntax:

Explicit & Implicit

Operands:

_NBn

Burn:

burnable with BN

Notch Bandwidth
Full Description
The NB command sets real part of the notch poles

Arguments
NB n,n,n,n,n,n,n,n or
NBA=n
where
n ranges from 0 Hz to
*Note TM is in seconds and defaults to .001

Operand Usage
_NBn contains the value of the notch bandwidth for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0.5

Default Format
While Moving Yes Default Value 0.5
In a Program Yes Default Format 3.1
Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
NF - Notch Filter
NZ - Notch Zeros

Examples:
_NBA = 10
notch = _NBA

Sets the real part of the notch pole to 10/2 Hz


Sets the variable "notch" equal to the notch bandwidth value for the A axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (188 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

NF
Notch Frequency
Full Description
The NF command sets the frequency of the notch filter, which is placed in series with the PID compensation.

Arguments
NF n,n,n,n,n,n,n,n or
NFA=n
where
n ranges from 1 Hz to 106 / (4 . TM) Hz, where TM is the update rate (default TM is 1000).
n=?
Returns the value of the Notch filter for the specified axis.

Operand Usage
_NFn contains the value of notch filter for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

N/A

While Moving Yes Default Value 0


In a Program Yes Default Format 3.1
Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
NB - Notch bandwidth
NZ - Notch Zero

Examples:
NF, 20

Sets the notch frequency of B axis to 20 Hz

file:///C|/commandReference/DMC-18x6/pdf/index.html (189 of 281)8/16/2010 1:21:03 PM

Syntax:

Explicit & Implicit

Operands:

_NFn

Burn:

burnable with BN

Galil Motion Control Command Reference

NO,'

Syntax:

Other

Operands:

_NO

Burn:

not burnable

No Operation
Full Description
The NO or an apostrophe (') command performs no action in a sequence, but can be used as a comment in a program. This helps to document a
program.

Arguments
NO m where
m is any group of letters and numbers
up to 77 characters can follow the NO command

Operand Usage
_NO returns a bit field indicating which threads are running. For example, 0 means no threads are running, 1 means only thread 0 is running, 3 means
threads 0 and 1 are running, and 255 means all 8 threads are running).

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
#A
Program A
NO
No Operation
NO This Program No Operation
NO Does Absolutely
No Operation
NO Nothing
No Operation
EN
End of Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (190 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

NZ
Notch Zero
Full Description
The NZ command sets the real part of the notch zero.

Arguments
NZ n,n,n,n,n,n,n,n or
NZA=n
where
n is ranges from 1 Hz to 1 / (16 * update period)
update period = TM/(10^6)
n=?
Returns the value of the Notch filter zero for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0.5

Default Format

N/A

Operand Usage
_NZn contains the value of the Notch filter zero for the specified axis.

Related Commands
NB - Notch Bandwidth
NF - Notch Filter

Examples:
NZA = 10

Sets the real part of the notch pole to 10/2 Hz

file:///C|/commandReference/DMC-18x6/pdf/index.html (191 of 281)8/16/2010 1:21:03 PM

Syntax:

Explicit & Implicit

Operands:

_NZn

Burn:

burnable with BN

Galil Motion Control Command Reference

OA

Syntax:

Explicit & Implicit

Operands:

_OAn

Burn:

burnable with BN

Off on encoder failure


Full Description
Turns on or off encoder failure detection. The controller can detect a failure on either or both channels of the encoder. This is accomplished by
checking on whether motion of at least 4 counts is detected whenever the torque exceeds a preset level (OV) for a specified time (OT). Note that for
this function to work properly it is necessary to have a non-zero value for KI.
The OA command works like the OE command: if OA is set to 1 and an encoder failure occurs, the axis goes into the motor off (MO) state and the stop
code (SC) is set to 12. The encoder failure detection will shut the motor off regardless of profiling status, but the stop code is not updated unless the
axis is executing a profiled move at the time of the detection of the encoder failure.
If included in the application program and OE is set to 1 for the particular axis, #POSERR will run when an encoder failure is detected.

Arguments
OAn,n,n,n,n,n,n,n where
n is 0 or 1 with 1 enabling this feature.
? returns the last value set

Operand Usage
_OAn contains the OA value for the specified axis.

Usage
Usage and Default Detail
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

DMC-4xxx, DMC-18x6

Default Value

Default Format

1.0

Related Commands
OT - Off on encoder failure time
OV - Off on encoder failure voltage

Examples:
#setup
OTX=10;'
OVX=5;'
OAX=1;'
EN

Set time to 10 milliseconds


Set voltage to 5
Enable encoder detection feature

REM #POSERR example for checking to see if encoder failure occured


REM The stop code will only update of the profilier is running at the time
REM the encoder failure is detected.
#POSERR
~a=0
#loop
IF _MO~a=1

file:///C|/commandReference/DMC-18x6/pdf/index.html (192 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

IF ((_TE~a<_ER~a)&(_OE~a)&(_OA~a))
MG "possible encoder failure on ",~a{Z1.0}," axis"
ENDIF
ENDIF
~a=~a+1
JP#loop,~a<_BV
AI1;'
wait for input 1 to go high
SH;'
enable all axes
RE

file:///C|/commandReference/DMC-18x6/pdf/index.html (193 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OB

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Output Bit
Full Description
The OB n, logical expression command defines output bit n as either 0 or 1 depending on the result from the logical expression. Any non-zero value of
the expression results in a one on the output.

Arguments
OB n, expression
where
n denotes the output bit
expression is any valid logical expression, variable or array element.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
Examples:
OB 1, POS=1
If POS 1 is non-zero, Bit 1 is high.
If POS 1 is zero, Bit 1 is low
OB 2, @IN[1]&@IN[2]
If Input 1 and Input 2 are both high, then
Output 2 is set high
OB 3, COUNT[1] If the element 1 in the array is zero, clear bit 3
OB N, COUNT[1] If element 1 in the array is zero, clear bit N

file:///C|/commandReference/DMC-18x6/pdf/index.html (194 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OC

Syntax:

Explicit Notation Only

Operands:

_OC

Burn:

not burnable

Output Compare
Full Description
The OC command sets up the Output Compare feature, also known as Pulse on Position. Each set of 4 axes, ABCD and EFGH, has one digital output
which can be configured to pulse on a specified axis absolute encoder position, and optionally on a delta encoder change after that. These operations
are known as one-shot and circular compare, respectively.
One-Shot Compare: The output compare signal will go low, and stay low at a specified absolute encoder position.
Circular Compare: After the one-shot, the cicular compare can be configured to pulse low at a relative delta thereafter.
This function cannot be used with any axis configured for a step motor and the auxiliary encoder of the corresponding axis can not be used while using
this function. The OC function requires that the main encoder and auxiliary encoders be configured exactly the same (see the command, CE). For
example: CE 0, CE 5, CE 10, CE 15.
OC only requires an encoder, and is independent of axis tuning, and motion profiling.

Arguments
OCx = m, n
where
x = A,B,C,D,E,F,G H specifies which main encoder input to be used. For 5-8 axis controllers, two OC functions can work simultaneously, one on axes
A,B,C or D and the other on E,F,G or H.
m = Absolute position for first pulse. Integer between -2,147,483,648 and 2,147,483,647. The beginning pulse position must be within 65535 counts of
the current axis positions when the OC command is executed.
n = Incremental distance between pulses. Integer between -65535 and 65535
0 one shot when moving in the forward direction
-65536 one shot when moving in the reverse direction
OCA = 0 will disable the Circular Compare function on axes A-D.
OCE = 0 will disable the Circular Compare function on axes E-H.
The sign of the second parameter, n, will designate the expected direction of motion for the output compare function. When moving in the opposite
direction, output compare pulses will occur at the incremental distance of 65536-|n| where |n| is the absolute value of n.

Operand Usage
_OC contains the state of the OC function
_OC = 0 : OC function has been enabled but not generated any pulses.
_OC = 1: OC function not enabled or has generated the first output pulse.
(on a 5-8 axis controller, _OC is a logical AND of axes A-D and E-H)

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Related Commands
AL - Arm Latch
RL - Report Latched Position
file:///C|/commandReference/DMC-18x6/pdf/index.html (195 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

CE - Configure Encoder

Examples:
OCA=300,100;'
'

Select A encoder as position sensor. First pulse at 300.


Following pulses at 400, 500, 600 ...

Output compare can be used to create raster scans. By using cicular compare on one axis, followed by an index move on a perpindicular axis, raster
patterns are easily made. The following image shows a rastered "dot matrix" type image easily created with output compare and a laser on a two
dimensional stage.

OE

Syntax:

Explicit & Implicit

Operands:

_OEn

Burn:

burnable with BN

Off-on-Error
Full Description
The OE command causes the controller to shut off the motor command if a position error exceeds the limit specified by the ER command, an abort
occurs from either the abort input or on AB command, or an amplifier error occurs based on the description of the TA command. See the TA command
for conditions of an amplifier fault.
If an error or axis-specific abort is detected on an axis, and the motion was executing an independent move, only that axis will be shut off. If the motion
is a part of coordinated mode of the types VM, LM or CM, all participating axes will be stopped.

Arguments
OE n,n,n,n,n,n,n,n or OEA=n
OE n,n,n,n,n,n,n,n or
OEA=n
where
n=0
Disables the Off On Error function.
n=1
Motor shut off (MO) by position error (TE > ER) or abort input
n=2
Motor shut off (MO) by hardware limit switch
n=3
Motor shut off (MO) either by position error (TE > ER), hardware limit switch, or abort input
n <>0
Motor is shut off (MO) by an amplifier error (TA)

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Operand Usage
_OEn contains the status of the off on error function for the specified axis.

Related Commands
file:///C|/commandReference/DMC-18x6/pdf/index.html (196 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

AB- Abort
ER - Error limit
SH - Servo Here
#POSERR - Error Subroutine
TA - Tell Amplifier Error
#LIMSWI - Limit switch automatic subroutine

Examples:
:OE
:OE
:OE
:OE
:

1,1,1,1
0
,,1,1
1,0,1,0

Enable OE on all axes


Disable OE on A-axis; other axes remain unchanged
Enable OE on C-axis and D-axis; other axes remain unchanged
Enable OE on A and C-axis; Disable OE on B and D axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (197 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OF

Syntax:

Explicit & Implicit

Operands:

_OFn

Burn:

burnable with BN

Offset
Full Description
The OF command sets a bias voltage in the motor command output or returns a previously set value. This can be used to counteract gravity or an offset
in an amplifier.

Arguments
OF n,n,n,n,n,n,n,n or
OFA=n
where
n is a signed number in the range -9.998 to 9.998 volts with resolution of 0.0003.
n=?
Returns the offset for the specified axis.

Operand Usage
_OFn contains the offset for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.4 (1.0 for 18x2)

Related Commands
Examples:
OF 1,-2,3,5
Set A-axis offset to 1, the B-axis offset to -2, the C-axis to 3, and the D-axis to
5
OF -3
Set A-axis offset to -3 Leave other axes unchanged
OF ,0
Set B-axis offset to 0 Leave other axes unchanged
OF ?,?,?,?
Return offsets
-3.0000,0.0000,3.0000,5.0000
OF ?
Return A offset
-3.0000
OF ,?
Return B offset
0.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (198 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OP

Syntax:

Implicit Notation Only

Operands:

_OP0,_OP1,_OP2,_OP3,_OP4

Burn:

burnable with BN

Output Port
Full Description
The OP command sends data to the output ports of the controller. Arguments to the OP command are bit patterns (decimal or hex) to set entire banks
(bytes) of digital outputs. Use SB, CB or OB to set bits individually.

Arguments
OP m,a,b,c,d
where
m is an integer in the range 0 to 65535 decimal, or $0000 to $FFFF hexadecimal. (0 to 255 for 4 axes or less). m is the decimal representation of the
general output bits. Output 1 through output 8 for controllers with 4 axes or less. Outputs 1 through output 16 for controller with 5 or more axes.
a,b,c,d represent the extended I/O (where available) in consecutive groups of 16 bits, (values from 0 to 65535). Bit patterns for I/O banks which are
configured as inputs have no affect on the bank.
m,a,b,c or d = ? returns the current value of the applicable argument.
The following table describes the arguments used to set the state of outputs.
OP output bank mapping
Argument

Examples

Banks

Bits

Description

Set all: OP255;OP$FF

1-8

General Outputs (1-4 axes controllers)

Set all: OP65535;OP$FFFF

0,1

1-16

General Outputs (5-8 axes controllers)

Clear all: OP0;OP$0000

2,3

17-32

Extended I/O

Alternating on/off:OP43690;OP$AAAA

4,5

33-48

Extended I/O

Set High Byte:OP65280;OP$FF00

6,7

49-64

Extended I/O

Set Low Byte: OP255;OP$00FF

8,9

65-80

Extended I/O

Required Hardware for Extended I/O


Controller

Extended I/O Hardware

I/Os provided

DMC-21x3

DB-28040

32, Banks 2-5

DMC-18x6

DB-14064

64, Banks 2-9

DMC-18x2

DB-14064

64, Banks 2-9

Operand Usage
_OP0 contains the value of the first argument, m
_OP1 contains the value of the first argument, a
_OP2 contains the value of the first argument, b
_OP3 contains the value of the first argument, c
_OP4 contains the value of the first argument, d

Usage
Usage and Default Details
Usage
While Moving (No RIO)

Value
Yes

file:///C|/commandReference/DMC-18x6/pdf/index.html (199 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Related Commands
SB - Set output bit
CB - Clear output bit
OB - Output Byte

Examples:
OP 0
Clear Output Port -- all bits
OP $85 Set outputs 1,3,8; clear the others
MG _OP0 Returns the first parameter "m"

file:///C|/commandReference/DMC-18x6/pdf/index.html (200 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OT

Syntax:

Explicit & Implicit

Operands:

_OTn

Burn:

burnable with BN

Off on encoder failure time


Full Description
Sets the time in samples (milliseconds for TM1000) that the controller will wait for motion after the OV threshold has been exceeded. The controller
can detect a failure on either or both channels of the encoder. This is accomplished by checking on whether motion of at least 4 counts is detected
whenever the torque exceeds a preset level (OV) for a specified time (OT). Note that for this function to work properly it is necessary to have a nonzero value for KI.

Arguments
OT n,n,n,n,n,n,n,n where
n is the number of samples between 2 and 32000
? returns the last value set

Operand Usage
_OTn contains the OT value for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

DMC-40x0, DMC-18x6

Default Value

30

Default Format

5.0

Related Commands
OA - Off on encoder failure
OV - Off on encoder failure voltage

Examples:
#setup
OTX=10;'
OVX=5;'
OAX=1;'
EN

Set time to 10 milliseconds


Set voltage to 5
Enable encoder detection feature

file:///C|/commandReference/DMC-18x6/pdf/index.html (201 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

OV

Syntax:

Explicit & Implicit

Operands:

_OVn

Burn:

burnable with BN

Off on encoder failure voltage


Full Description
Sets the threshold voltage for detecting an encoder failure. The controller can detect a failure on either or both channels of the encoder. This is
accomplished by checking on whether motion of at least 4 counts is detected whenever the torque exceeds a preset level (OV) for a specified time
(OT). Note that for this function to work properly it is necessary to have a non-zero value for KI.
The default value for OV is approximately .95 volts. The value should be high enough to guarantee that the motor would overcome any static friction.
If it is too low, there will be false triggering of the error condition. The OV value may not be higher than the TL value.

Arguments
OV n,n,n,n,n,n,n,n where
where n is a positive voltage between 0.001 and 9.9 volts.
? returns the last value set

Operand Usage
_OVn contains the OV value for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

0.9438

Default Format

1.4

Related Commands
OA - Off on encoder failure
OT - Off on encoder failure time

Examples:
#setup
OTX=10;'
OVX=5;'
OAX=1;'
EN

Set time to 10 milliseconds


Set voltage to 5
Enable encoder detection feature

file:///C|/commandReference/DMC-18x6/pdf/index.html (202 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PA

Syntax:

Explicit & Implicit

Operands:

_PAn

Burn:

burnable with BN

Position Absolute
Full Description
The PA command sets the end target of the Position Absolute Mode of Motion. The position is referenced to the absolute zero.

Arguments
PA n,n,n,n,n,n,n,n or PAA=n
where
n is a signed integers in the range -2147483647 to 2147483648 decimal. Units are in encoder counts.
n=?
Returns the commanded position at which motion stopped.

Operand Usage
_PAn contains the last commanded position at which motion stopped.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Default Value

N/A

Related Commands
PR - Position relative
SP - Speed
AC - Acceleration
DC - Deceleration
BG - Begin

Examples:
:PA 400,-600,500,200
:BG
:PA ?,?,?,?
400, -600, 500, 200
:PA 700
:BG

A-axis will go to 400 counts B-axis will go to -600 counts


C-axis will go to 500 counts D-axis will go to 200 counts
Execute Motion
Returns the current commanded position after motion has completed
A-axis will go to 700 on the next move while the
B,C and D-axis will travel the previously set relative distance
if the preceding move was a PR move, or will not move if the
preceding move was a PA move.

file:///C|/commandReference/DMC-18x6/pdf/index.html (203 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PF

Syntax:

Implicit Notation Only

Operands:

_PF

Burn:

burnable with BN

Position Format
Full Description
The PF command allows the user to format the position numbers such as those returned by TP. The number of digits of integers and the number of
digits of fractions can be selected with this command. An extra digit for sign and a digit for decimal point will be added to the total number of digits. If
PF is negative, the format will be hexadecimal and a dollar sign will precede the characters. Hex numbers are displayed as 2's complement with the
first bit used to signify the sign.
If a number exceeds the format, the number will be displayed as the maximum possible positive or negative number (i.e. 999.99, -999, $8000 or $7FF).
The PF command can be used to format values returned from the following commands:
BL ? LE ?
DE ? PA ?
DP ? PR ?
EM ? TN ?
FL ? VE ?
IP ? TE
TP

Arguments
PF m.n
where
m is an integer between -8 and 10 which represents the number of places preceding the decimal point. A negative sign for m specifies hexadecimal
representation.
n is an integer between 0 and 4 which represent the number of places after the decimal point.
n=?
Returns the value of m.

Operand Usage
_PF contains the value of the position format parameter.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

10.0

Default Format

2.1 (10.0 for 18x2)

Related Commands
Examples:
:TPX
Tell position of X
0
Default format
:PF 5.2 Change format to 5 digits of integers and 2 of fractions
:TPX
Tell Position
21.00
PF-5.2 New format. Change format to hexadecimal
:TPX
Tell Position
$00015.00
Report in hex

file:///C|/commandReference/DMC-18x6/pdf/index.html (204 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PL

Syntax:

Explicit & Implicit

Operands:

_PLn

Burn:

burnable with BN

Pole
Full Description
The PL command adds a low-pass filter in series with the PID compensation. The digital transfer function of the filter is (1 - n) / (Z - n) and the
equivalent continuous filter is A/(S+A) where A is the filter cutoff frequency: A=(1/T) ln (1 / n) rad/sec and T is the sample time.
To convert from the desired crossover (-3 dB) frequency in Hertz to the value given to PL, use the following formula

where:
n is the argument given to PL
T is the controller's servo loop sample time in seconds (TM divided by 1,000,000)
Fc is the crossover frequency in Hertz
Example: Fc=36Hz TM=1000 n=e^(-0.001*36*2*pi) =0.8

Fc (Hz)

Infinite (off)

0.2

256

0.4

145

0.6

81

0.8

36

0.999

Arguments
PL n,n,n,n,n,n,n,n or PLA=n
where
n is a positive number in the range 0 to 0.9999.
n = ? Returns the value of the pole filter for the specified axis.

Operand Usage
_PLn contains the value of the pole filter for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

0.0

Default Format

Related Commands
KD - Derivative
KP - Proportional
file:///C|/commandReference/DMC-18x6/pdf/index.html (205 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

KI - Integral Gain

Examples:
Set A-axis Pole to 0.95, B-axis to 0.9, C-axis to 0.8, D-axis pole to 0.822
PL .95,.9,.8,.822
:
Query all Pole values
PL ?,?,?,?
:0.9527,0.8997,0.7994,0.8244
Return A Pole only
PL?
:0.9527

file:///C|/commandReference/DMC-18x6/pdf/index.html (206 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PR

Syntax:

Explicit & Implicit

Operands:

_PRn

Burn:

burnable with BN

Position Relative
Full Description
The PR command sets the incremental distance and direction of the next move. The move is referenced with respect to the current position. .

Arguments
PR n,n,n,n,n,n,n,n or
PRA=n
where
n is a signed integer in the range -2147483648 to 2147483647 decimal. Units are in encoder counts
n=?
Returns the current incremental distance for the specified axis.

Operand Usage
_PRn contains the current incremental distance for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
AC - Acceleration
BG - Begin
DC - Deceleration
IP - Increment Position
PA - Position Absolute
PF - Position Formatting
SP - Speed

Examples:
:PR 100,200,300,400
On the next move the A-axis will go 100 counts,
:BG
the B-axis will go to 200 counts forward, C-axis will go 300 counts and the D-axis will go
400 counts.
:PR ?,?,?
Return relative distances
100, 200, 300
:PR 500 Set the relative distance for the A axis to 500
:BG
The A-axis will go 500 counts on the next move while the B-axis will go its previously set
relative distance.

file:///C|/commandReference/DMC-18x6/pdf/index.html (207 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PT

Syntax:

Explicit & Implicit

Operands:

_PTn

Burn:

not burnable

Position Tracking
Full Description
The PT command will place the controller in the position tracking mode. In this mode, the controller will allow the user to issue absolute position
commands on the fly. The motion profile is trapezoidal with the parameters controlled by acceleration, deceleration, and speed (AD, DC, SP). The
absolute position may be specified such that the axes will begin motion, continue in the same direction, reverse directions, or decelerate to a stop.
When an axis is in the special mode, the ST command, will exit the mode. The PA command is used to give the controller an absolute position target.
Motion commands other than PA are not supported in this mode.

Arguments
PT n,n,n,n,n,n,n,n
n=0 or 1 where 1 designates the controller is in the special mode.
n=? returns the current setting

Operand Usage
_PTn contains the set state of position tracking, 1 or 0

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.0

Related Commands
AC - Acceleration
DC - Deceleration
PA - Position Absolute
SP - Speed

Examples:
PT1,1,1,1
Enable the position tracking mode for axes X, Y, Z, and W
#A
Create label A in a program. This small program will update the absolute position at 100
Hz. Note that the user must update the variables V1, V2, V3 and V4 from the host PC, or another
thread operating on the controller.
PAV1,V2,V3,V4
Command XYZW axes to move to absolute positions. Motion begins when the command is
processed. BG is not required to begin motion in this mode. In this example, it is assumed that
the user is updating the variables at a specified rate. The controller will update the new target
position every 10 milliseconds (TW10).
WT10
Wait 10 milliseconds
JP#A
Repeat by jumping back to label A
Special Notes: The AM, and MC trip points are not valid in this mode. It is recommended to use MF
and MR as trip points with this command, as they allow the user to specify both the absolute
position, and the direction. _BG and the AP trip point may also be used.

file:///C|/commandReference/DMC-18x6/pdf/index.html (208 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

PW

Syntax:

Implicit Notation Only

Operands:

none

Burn:

burnable with BN

Password
Full Description
The password can be set with the command PW password,password where the password can be up to 8 alphanumeric characters. The default value
after master reset is a null string. The password can only be changed when the controller is in the unlocked state (^L^K). The password is burnable but
cannot be interrogated. If you forget the password you must master reset the controller to gain access.

Arguments
PW n,n where
n is a string from 0 to 8 characters in length

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes (No for 40x0)

Command Line

Yes

Controller Usage

All

Default Value

"" (null string)

Default Format

N/A

Related Commands
^L^K - Lock/Unlock
ED - Edit program
UL - Upload program
LS - List program
TR - Trace program

Examples:
:PWtest,test
Set password to "test"
:^L^Ktest,1
Lock the program
:ED
Attempt to edit program

file:///C|/commandReference/DMC-18x6/pdf/index.html (209 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

QD

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Download Array
Full Description
The QD command transfers array data from the host computer to the controller. QD array[], start, end requires that the array name be specified along
with the index of the first element of the array and the index of the last element of the array. The array elements can be separated by a comma ( , ) or by
<CR> <LF>. The downloaded array is terminated by a \.
It is recommended to use the array download functions available through the GalilTools software and drivers rather than directly using the QD
command.

Arguments
QD array[],start,end where
array[] is valid array name
start is index of first element of array (default=0)
end is index of last element of array (default = size-1)

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

start=0, end=size-1

Default Format

N/A (Position Format for 18x2)

Related Commands
QU - Upload array

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (210 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

QR

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

not burnable

I O Data Record
Full Description
The QR command causes the controller to return a record of information regarding controller status. This status information includes 4 bytes of header
information and specific blocks of information as specified by the command arguments. The details of the status information is described in Chapter 4
of the user's manual.

Arguments
QR nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H,S,T, or I or any combination to specify the axis, axes, sequence, or I/O status
S and T represent the S and T coordinated motion planes
I represents the status of the I/O

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage
Default Value

N/A

Default Format

N/A

Related Commands
QZ - Return DMA / Data Record information
Note: The Galil windows terminal will not display the results of the QR command since the results are in binary format.

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (211 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

QS

Syntax:

Accepts Axis Mask

Operands:

_QSn

Burn:

not burnable

Error Magnitude
Full Description
The QS command reports the magnitude of error, in step counts, for axes in Stepper Position Maintenance mode. A step count is directly proportional
to the resolution of the step drive.

Arguments
QS nnnnnnnn or QSn = ?
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes

Operand Usage
_QSn contains the error magnitude in drive step counts for the given axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.4

Related Commands
Examples:
1.

For an SDM-20620 microstepping drive, query the error of B axis:


:QSB=?
:253
This shows 253 step counts of error. The SDM-20620 resolution is 64 microsteps per
full motor step, nearly four full motor steps of error.
2. Query the value of all axes:
:QS
:0,253,0,0,0,0,0,0 Response shows all axes error values

file:///C|/commandReference/DMC-18x6/pdf/index.html (212 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

QU

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Upload Array
Full Description
The QU command transfers array data from the controller to a host computer. The QU requires that the array name be specified along with the first
element of the array and last element of the array. The uploaded array will be followed by a <control>Z as an end of text marker.
The GalilTools array upload functions can be used to upload array data in .csv format.

Arguments
QU array[],start,end,delim
where
"array[]" is a valid array name
"start" is the first element of the array (default=0)
"end" is the last element of the array (default = last element)
"delim" specifies the character used to delimit the array elements. If delim is 1, then the array elements will be separated by a comma. Otherwise, the
elements will be separated by a carriage return.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
QD - Download array

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (213 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

QZ

Syntax:

Two Letter Only

Operands:

none

Burn:

not burnable

Return Data Record information


Full Description
The QZ command is an interrogation command that returns information regarding data record transfers. The controller's response to this command will
be the return of 4 integers separated by commas. The four fields represent the following:
First field returns the number of axes.
Second field returns the number of bytes to be transferred for general status
Third field returns the number bytes to be transferred for coordinated move status
Fourth field returns the number of bytes to be transferred for axis specific information

Arguments
QZ

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
DR
DPRAM update rate
RA

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (214 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RA

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Record Array
Full Description
The RA command selects one through eight arrays for automatic data capture. The selected arrays must be dimensioned by the DM command. The data
to be captured is specified by the RD command and time interval by the RC command.

Arguments
RA n [ ],m [ ],o [ ],p [ ]
RA n[ ],m[ ],o[ ],p[ ],q[ ],r[ ],s[ ],t[ ]
where
n,m,o and p are dimensioned arrays as defined by DM command. The [ ] contain nothing.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
DM - Dimension Array
RD - Record Data
RC - Record Interval

Examples:
#Record;'
DM POS[100];'
RA POS[];'
RD _TPA;'
RC 1;'
PR 1000;BG;'
EN;'

Label
Define array
Specify Record Mode
Specify data type for record
Begin recording at 2 msec intervals
Start motion
End

Hint: The record array mode is useful for recording the real-time motor position during motion.
The data is automatically captured in the background and does not interrupt the program sequencer.
The record mode can also be used for a teach or learn of a motion path.
GalilTools: The GalilTools Realtime scope can often be used as an alternative to record array.

file:///C|/commandReference/DMC-18x6/pdf/index.html (215 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RC

Syntax:

Implicit Notation Only

Operands:

_RC

Burn:

not burnable

Record
Full Description
The RC command begins recording for the Automatic Record Array Mode (RA). RC 0 stops recording.
Firmware Note: Do not allocate or deallocate arrays (DM,DA) while the Automatic Record Array Mode is running.
GalilTools Note: Do not download arrays from GalilTools, or call the arrayDownload() or arrayDownloadFile() apis while Automatic Record Array
Mode is running.

Arguments
RC n,m
where
n is an integer 1 thru 8 and specifies 2^n samples between records. RC 0 stops recording.
m is optional and specifies the number of records to be recorded. If m is not specified, the array bounds will be used. A negative number for m causes
circular recording over array addresses 0 to m-1.
n = ? Returns status of recording. '1' if recording, '0' if not recording.
Note: The address for the array element for the next recording can be interrogated with _RD.

Operand Usage
_RC contains status of recording. '1' if recording, '0' if not recording.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Related Commands
DM - Dimension Array
RD - Record Data
RA - Record Array Mode

Examples:
#RECORD;'
DM Torque[1000];'
RA Torque[];'
RD _TTA;'
RC 2;'
JG 1000;BG;'
#A;JP #A,_RC=1;'
MG "DONE RECORDING";'
EN;'

Record label
Define Array
Specify Array to record data
Specify Data Type
Begin recording and set 4 msec between records
Begin motion
Loop until done
Print message
End program

file:///C|/commandReference/DMC-18x6/pdf/index.html (216 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (217 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RD

Syntax:

Other

Operands:

_RD

Burn:

not burnable

Record Data
Full Description
The RD command specifies the data type to be captured for the Record Array (RA) mode. The command type includes:
TIME Time in servo sample as read by the TIME command
_AFn Analog Input Value (+32767 to -32768). The analog inputs are limited to those which correspond to an axis on the controller.
_DEn 2nd encoder
_TPn Position
_TEn Position error
_SHn Commanded position
_RLn Latched position
_TI Inputs
_OP Outputs
_TSn Switches, only 0-4 bits valid
_SCn Stop code
_TTn Tell torque (Note: the values recorded for torque are in the range of +/- 32767 where 0 is 0 torque, -32767 is -10 volt command output, and
+32767 is +10 volt.
_TVn Filtered velocity. (Note: will be 65 times greater than TV command)
where 'n' is the axis specifier, A?H

Arguments
RD m1, m2, m3, m4, m5, m6, m7, m8
RD m1, m2
where
the arguments are data types to be captured using the record Array feature. The order is important. Each data type corresponds with the array specified
in the RA command.

Operand Usage
_RD contains the address for the next array element for recording.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
RA - Record Array
RC - Record Interval
DM - Dimension Array

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (218 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

DM ERRORA[50],ERRORB[50]
Define array
RA ERRORA[],ERRORB[ ]
Specify record mode
RD _TEA,_TEBS
Specify data type
RC1
Begin record

file:///C|/commandReference/DMC-18x6/pdf/index.html (219 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RE

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

Return from Error Routine


Full Description
The RE command is used to end a position error handling subroutine or limit switch handling subroutine. The error handling subroutine begins with the
#POSERR label. The limit switch handling subroutine begins with the #LIMSWI. An RE at the end of these routines causes a return to the main
program. Care should be taken to be sure the error or limit switch conditions no longer occur to avoid re-entering the subroutines. If the program
sequencer was waiting for a trippoint to occur, prior to the error interrupt, the trippoint condition is preserved on the return to the program if RE1 is
used. A motion trippoint like MF or MR requires that the axis be actively profiling in order to be restored with the RE1 command. RE0 clears the
trippoint. To avoid returning to the main program on an interrupt, use the ZS command to zero the subroutine stack.

Arguments
RE n where
n=0
Clears the interrupted trippoint
n=1
Restores state of trippoint
no argument clears the interrupted trippoint

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

No

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
#POSERR - Error Subroutine
#LIMSWI - Limit Subroutine

Examples:
#A;JP #A;EN
Label for main program
#POSERR Begin Error Handling Subroutine
MG "ERROR"
Print message
SB1
Set output bit 1
RE
Return to main program and clear trippoint

file:///C|/commandReference/DMC-18x6/pdf/index.html (220 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

REM

Syntax:

Other

Operands:

none

Burn:

not burnable

Remark
Full Description
REM is used for comments. The REM statement is NOT a controller command. Rather, it is recognized by Galil PC software, which strips away the
REM lines before downloading the DMC file to the controller. REM differs from NO (or ') in the following ways:
(1) NO (or ') comments are downloaded to the controller and REM comments aren't
(2) NO (or ') comments take up execution time and REM comments don't; therefore, REM should be used for code that needs to run fast.
(3) REM comments cannot be recovered when uploading a program but NO (or ') comments are recovered. Thus the uploaded program is less
readable with REM.
(4) NO (or ') comments take up program line space and REM lines don't.
(5) REM comments must be the first and only thing on a line, whereas NO (or ') can be used to place comments to the right of code (after a
semicolon) on the same line
NO (or ') should be used instead of REM unless speed or program space is an issue.

Arguments
REM n
where
n is a text string comment

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
NO (' apostrophe also accepted) - No operation (comment)

Examples:
REM This comment will be stripped when downloaded to the controller
'This comment will be downloaded and takes some execution time
PRX=1000 ;'this comment is to the right of the code

file:///C|/commandReference/DMC-18x6/pdf/index.html (221 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RI

Syntax:

Embedded Only

Operands:

none

Burn:

not burnable

Return from Interrupt Routine


Full Description
The RI command is used to end the interrupt subroutine beginning with the label #ININT. An RI at the end of this routine causes a return to the main
program. The RI command also re-enables input interrupts. If the program sequencer was interrupted while waiting for a trippoint, such as WT, RI1
restores the trippoint on the return to the program. A motion trippoint like MF or MR requires the axis to be actively profiling in order to be restored
with the RI1 command. RI0 clears the trippoint. To avoid returning to the main program on an interrupt, use the command ZS to zero the subroutine
stack. This turns the jump subroutine into a jump only

Arguments
RI n
where
n=0
Clears the interrupted trippoint
n=1
Restores state of trippoint
no argument clears the interrupted trippoint

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
#ININT - Input interrupt subroutine
II - Enable input interrupts

Examples:
#A;II1;JP #A;EN Program label
#ININT Begin interrupt subroutine
MG "INPUT INTERRUPT"
Print Message
SB 1
Set output line 1
RI 1
Return to the main program and restore trippoint

file:///C|/commandReference/DMC-18x6/pdf/index.html (222 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RL

Syntax:

Accepts Axis Mask

Operands:

_RLn

Burn:

not burnable

Report Latched Position


Full Description
The RL command will return the last position captured by the latch. The latch must first be armed by the AL command and then a 0 must occur on the
appropriate input. Each axis uses a specific general input for the latch input:
X (A) axis latch Input 1
Y (B) axis latch Input 2
Z (C)
axis latch Input 3
W (D) axis latch Input 4
E axis latch Input 9
F axis latch Input 10
G axis latch Input 11
H axis latch Input 12
The armed state of the latch can be configured using the CN command.
Note: The Latch Function works with the main encoder. When working with a stepper motor without an encoder, the latch can be used to capture the
stepper position. To do this, place a wire from the controller Step (PWM) output into the main encoder input, channel A+. Connect the Direction (sign)
output into the channel B+ input. Configure the main encoder for Step/Direction using the CE command. The latch will now capture the stepper
position based on the pulses generated by the controller.

Arguments
RL nnnnnnnnnn
where
n is X,Y,Z,W,A,B,C,D,E,F,G or H or any combination to specify the axis or axes

Operand Usage
_RLn contains the latched position of the specified axis.
RELATED COMMAND:
AL - Arm Latch

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
Examples:
JG ,5000
Set up to jog the B-axis
BGB
Begin jog
ALB
Arm the B latch; assume that after about 2 seconds, input goes low
RLB
Report the latch
10000

file:///C|/commandReference/DMC-18x6/pdf/index.html (223 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (224 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RP

Syntax:

Accepts Axis Mask

Operands:

_RPn

Burn:

not burnable

Reference Position
Full Description
The RP command returns the commanded reference position of the motor(s).

Arguments
RP nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H or N, or any combination to specify the axis or axes`

Operand Usage
_RPn contains the commanded reference position for the specified axis.
RELATED COMMAND:
TP
Tell Position
Note: The relationship between RP, TP and TE: TEA equals the difference between the reference position, RPA, and the actual position, TPA.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
Examples:
Assume that ABC and D axes are commanded to be at the positions 200, -10, 0, -110
respectively. The returned units are in quadrature counts.
:PF 7
Position format of 7
0:
LZ0
RP
Turn leading zeroes on
0000200,-0000010,0000000,-0000110
Return A,B,C,D reference positions
RPA
0000200 Return the A motor reference position
RPB
-0000010
Return the B motor reference position
PF-6.0 Change to hex format
RP
$0000C8,$FFFFF6,$000000,$FFFF93 Return A,B,C,D in hex
Position =_RPA Assign the variable, Position, the value of RPA
The Hint: RP command is useful when operating step motors since it provides the commanded
position in steps when operating in stepper mode.
file:///C|/commandReference/DMC-18x6/pdf/index.html (225 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (226 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

RS

Syntax:

Two Letter Only

Operands:

_RS

Burn:

not burnable

Reset
Full Description
The RS command resets the state of the processor to its power-on condition. The previously saved state of the hardware, along with parameter values
and saved program, are restored.
RS-1 Soft master reset. Restores factory defaults without erasing EEPROM. To restore saved EEPROM settings use RS with no arguments.

Arguments
N/A

Operand Usage
_RS returns the state of the processor on its last power-up condition. The value returned is the decimal equivalent of the 4 bit binary value shown
below.
Bit 3 For master reset error
Bit 2 For program checksum error
Bit 1 For parameter checksum error
Bit 0 For variable checksum error
At startup the controller operating system verifies the firmware sector. If there is a checksum error in firmware, it is not loaded and the controller will
boot to monitor mode.

Usage
Usage and Default Details
Usage
While Moving

Value
No

In a Program
Command Line

Yes

Controller Usage
Default Value
Default Format
In a Program No
Command Line Yes
Can be Interrogated
Used as an Operand

Yes
Yes

Related Commands
^R^S - Master Reset

Examples:
RS

Reset the hardware

file:///C|/commandReference/DMC-18x6/pdf/index.html (227 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

SB
Set Bit
Full Description
The SB command sets one of the output bits.

Arguments
SB n
where
n is an integer which represents a specific controller output bit to be set high (output = 1).

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Command

CB Clear Bit

While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Controller Usage ALL CONTROLLERS
RELATED COMMAND

CB
Clear Bit

Related Commands
Examples:
SB 5
SB 1

Set output line 5


Set output line 1

file:///C|/commandReference/DMC-18x6/pdf/index.html (228 of 281)8/16/2010 1:21:03 PM

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

Galil Motion Control Command Reference

SC

Syntax:

Accepts Axis Mask

Operands:

_SCn

Burn:

not burnable

Stop Code
Full Description
The Stop Code command returns a number indicating why a motor has stopped. The controller reponds with a number interpreted as follows:
Stop Code Table
Stop Code Number

Meaning

Motors are running, independent mode

Motors decelerating or stopped at commanded independent position

Decelerating or stopped by FWD limit switch or soft limit FL

Decelerating or stopped by REV limit switch or soft limit BL

Decelerating or stopped by Stop Command (ST)

Stopped by Abort input

Stopped by Abort command (AB)

Decelerating or stopped by Off on Error (OE1)

Stopped after finding edge (FE)

10

Stopped after finding edge (FE)

11

Stopped by selective abort input

12

Decelerating or stopped by encoder failure (OA1) (DMC-40x0/18x6)

15

Amplifier Fault (DMC-40x0)

16

Stepper position maintainance error

30

Running in PVT mode

31

PVT mode completed normally

32

PVT mode exited because buffer is empty

50

Contour Running

51

Contour Stop

99

MC timeout

100

Motors are running, Vector Sequence

101

Motors stopped at commanded vector

Arguments
SC nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes

Operand Usage
_SCn contains the value of the stop code for the specified axis.

Usage
Usage and Default Details
Usage
While Moving (no RIO)

Value
Yes

file:///C|/commandReference/DMC-18x6/pdf/index.html (229 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

In a Program

Yes

Command Line

Yes

Default Value

N/A

Default Format

3.0

Related Commands
Examples:
Tom =_SCD Assign the Stop Code of D to variable Tom

file:///C|/commandReference/DMC-18x6/pdf/index.html (230 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

SD

Syntax:

Explicit & Implicit

Operands:

_SDn

Burn:

burnable with BN

Switch Deceleration
Full Description
The Limit Switch Deceleration command (SD) sets the linear deceleration rate of the motors when a limit switch has been reached. The parameters will
be rounded down to the nearest factor of 1024 and have units of counts per second squared.

Arguments
SD n,n,n,n,n,n,n,n
SDA=n
where
n is an unsigned numbers in the range 1024 to 1073740800
n=?
Returns the deceleration value for the specified axes.

Operand Usage
_SDn contains the deceleration rate for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes*

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256000

Default Format

10.0

*SD command cannot be specified while moving.

Related Commands
AC - Acceleration
DC - Deceleration
PR - Position Relative
PA - Position Absolute
SP - Speed

Examples:
PR 10000
Specify position
AC 2000000
Specify acceleration
DC 1000000
Specify deceleration
SD 5000000
Specify Limit Switch
SP 5000 Specify slew speed
Note: The SD command may be changed

rate
rate
Deceleration Rate
during the move in JG move, but not in PR or PA move.

file:///C|/commandReference/DMC-18x6/pdf/index.html (231 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

SH

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

burnable with BN

Servo Here
Full Description
The SH commands tells the controller to use the current motor position as the command position and to enable servo control here.
This command can be useful when the position of a motor has been manually adjusted following a motor off (MO) command.

Arguments
SH nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
MO - Motor-off

Examples:
SH
Servo A,B,C,D motors
SHA
Only servo the A motor, the B,C and D motors remain in its previous state.
SHB
Servo the B motor; leave the A,C and D motors unchanged
SHC
Servo the C motor; leave the A,B and D motors unchanged
SHD
Servo the D motor; leave the A,B and C motors unchanged
Note: The SH command changes the coordinate system. Therefore, all position commands given prior
to SH, must be repeated. Otherwise, the controller produces incorrect motion.

file:///C|/commandReference/DMC-18x6/pdf/index.html (232 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

SL

Syntax:

Implicit Notation Only


& Trippoint

Operands:

none

Burn:

not burnable

Single Step
Full Description
The SL command is for debugging purposes. Single Step through the program after execution has paused at a breakpoint (BK). Optional argument
allows user to specify the number of lines to execute before pausing again. The BK command resumes normal program execution.

Arguments
SL n
where
n is an integer representing the number of lines to execute before pausing again

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Related Commands
BK - Breakpoint
TR - Trace

Examples:
BK 3
BK 5
SL
SL 3
BK

Pause at line 3 (the 4th line) in thread 0


Continue to line 5
Execute the next line
Execute the next 3 lines
Resume normal execution

file:///C|/commandReference/DMC-18x6/pdf/index.html (233 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

SP

Syntax:

Explicit & Implicit

Operands:

_SPn

Burn:

burnable with BN

Speed
Full Description
The SP command sets the slew speed of any or all axes for independent moves.
Note: Negative values will be interpreted as the absolute value.

Arguments
SP n,n,n,n,n,n,n,n or SPA=n
where
n is an unsigned even number in the range 0 to 22,000,000 for servo motors. The units are encoder counts per second.
OR
n is an unsigned number in the range 0 to 6,000,000 for stepper motors
n=?
Returns the speed for the specified axis.

Operand Usage
_SPn contains the speed for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

25000

Related Commands
AC - Acceleration
DC - Deceleration
PA - Position Absolute
PR - Position Relative
BG - Begin

Examples:
:PR 2000,3000,4000,5000
:SP 5000,6000,7000,8000
:BG
:AM C
:
Note:
Note:

Specify a,b,c,d parameter


Specify a,b,c,d speeds
Begin motion of all axes
After C motion is complete

For vector moves, use the vector speed command (VS) to change the speed.
SP is not a "mode" of motion like JOG (JG).
2 is the minimum non-zero speed.

file:///C|/commandReference/DMC-18x6/pdf/index.html (234 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

ST

Syntax:

Accepts Axis Mask

Operands:

none

Burn:

not burnable

Stop
Full Description
The ST command stops motion on the specified axis. Motors will come to a decelerated stop. If ST is sent from the host without an axis specification,
program execution will stop in addition to motion.

Arguments
ST nnnnnnnnnn
where
n is A,B,C,D,E,F,G,H,M,N,S or T or any combination to specify the axis or sequence. If the specific axis or sequence is specified, program execution
will not stop.
No argument will stop motion on all axes.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
BG - Begin Motion
AB - Abort Motion
DC - Deceleration rate

Examples:
ST A
Stop A-axis motion
ST S
Stop coordinated sequence
ST ABCD Stop A,B,C,D motion
ST
Stop ABCD motion
ST SCD Stop coordinated AB sequence, and C and D motion
Hint: Use the after motion complete command, AM, to wait for motion to be stopped.

file:///C|/commandReference/DMC-18x6/pdf/index.html (235 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TB

Syntax:

Two Letter Only

Operands:

_TB

Burn:

not burnable

Tell Status Byte


Full Description
The TB command returns status information from the controller as a decimal number. Each bit of the status byte denotes the following condition when
the bit is set (high):
BIT STATUS
Bit 7 Executing application program
Bit 6 Data Record Active
Bit 5 Contouring
Bit 4 Executing error or limit switch routine
Bit 3 Input interrupt enabled
Bit 2 Executing input interrupt routine
Bit 1 DPRAM Polling active
Bit 0 Echo on

Arguments
TB ?
returns the status byte

Operand Usage
_TB Contains the status byte

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

3.0

Related Commands
Examples:
65

Data Record Active and Echo is on (26 + 20 = 64 + 1 = 65)

file:///C|/commandReference/DMC-18x6/pdf/index.html (236 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TC

Syntax:

Implicit Notation Only

Operands:

_TC

Burn:

not burnable

Tell Error Code


Full Description
The TC command returns a number between 1 and 255. This number is a code that reflects why a command was not accepted by the controller. This
command is useful when the controller halts execution of a program or when the response to a command is a question mark. After TC has been read,
the error code is set to zero.
TC1 will return the error code, along with a human-readable description of the code.
Tell Code List
Tell Code Number

Description

Notes

Unrecognized command

Command only valid from program

Command not valid in program

Operand error

Input buffer full

Number out of range

Command not valid while running

not valid for RIO

Command not valid while not running

not valid for RIO

Variable error

10

Empty program line or undefined label

11

Invalid label or line number

12

Subroutine more than 16 deep

13

JG only valid when running in jog mode

14

EEPROM check sum error

15

EEPROM write error

16

IP incorrect sign during position move or IP given during forced deceleration

17

ED, BN and DL not valid while program running

18

Command not valid when contouring

19

Application strand already executing

20

Begin not valid with motor off

not valid for RIO

21

Begin not valid while running

not valid for RIO

22

Begin not possible due to Limit Switch

not valid for RIO

24

Begin not valid because no sequence defined (no RIO)

25

Variable not given in IN command

28

S operand not valid

not valid for RIO

29

Not valid during coordinated move

not valid for RIO

30

Sequenct Segment Too Short

not valid for RIO

31

Total move distance in a sequence > 2 billion

not valid for RIO

32

Segment buffer full

not valid for RIO

33

VP or CR commands cannot be mixed with LI commands

not valid for RIO

39

No time specified

not valid for RIO

41

Contouring record range error

not valid for RIO

file:///C|/commandReference/DMC-18x6/pdf/index.html (237 of 281)8/16/2010 1:21:03 PM

not valid for RIO

not valid for RIO

not valid for RIO

Galil Motion Control Command Reference

42

Contour data being sent too slowly

not valid for RIO

46

Gear axis both master and follower

not valid for RIO

50

Not enough fields

51

Question mark not valid

52

Missing " or string too long

53

Error in {}

54

Question mark part of string

55

Missing [ or []

56

Array index invalid or out of range

57

Bad function or array

58

Bad command response (i.e._GNX)

59

Mismatched parentheses

60

Download error - line too long or too many lines

61

Duplicate or bad label

62

Too many labels

63

IF statement without ENDIF

65

IN command must have a comma

66

Array space full

67

Too many arrays or variables

71

IN only valid in thread #0

80

Record mode already running

81

No array or source specified

82

Undefined Array

83

Not a valid number

84

Too many elements

90

Only A B C D valid operand

96

SM jumper needs to be installed for stepper motor operation (no Accelera, no RIO)

97

Bad Binary Command Format

98

Binary Commands not valid in application program

99

Bad binary command number

100

Not valid when running ECAM

not valid for RIO

101

Improper index into ET

not valid for RIO

102

No master axis defined for ECAM

not valid for RIO

103

Master axis modulus greater than 256 EP value

not valid for RIO

104

Not valid when axis performing ECAM

not valid for RIO

105

EB1 command must be given first

not valid for RIO

106

Privilege Violation

not valid for Econo, Optima

110

No hall effect sensors detected

not valid for RIO

111

Must be made brushless by BA command

not valid for RIO

112

BZ command timeout

not valid for RIO

113

No movement in BZ command

not valid for RIO

114

BZ command runaway

not valid for RIO

118

Controller has GL1600 not GL1800

not valid for RIO

119

Not valid for axis configured as stepper

120

Bad Ethernet transmit

file:///C|/commandReference/DMC-18x6/pdf/index.html (238 of 281)8/16/2010 1:21:03 PM

not valid for RIO

not valid for PCI

Galil Motion Control Command Reference

121

Bad Ethernet packet received

not valid for PCI

122

Ethernet input buffer overrun

DMC-21x3 only

123

TCP lost sync

not valid for PCI

124

Ethernet handle already in use

not valid for PCI

125

No ARP response from IP address

not valid for PCI

126

Closed Ethernet handle

not valid for PCI

127

Illegal Modbus function code

not valid for PCI

128

IP address not valid

not valid for PCI

131

Serial Port Timeout

not valid for PCI

132

Analog inputs not present

133

Command not valid when locked / Handle must be UDP

not valid for PCI

134

All motors must be in MO for this command

not valid for RIO

135

Motor must be in MO

not valid for RIO

136

Invalid Password

not valid for Econo, Optima

137

Invalid lock setting

not valid for Econo, Optima

138

Passwords not identical

not valid for Econo, Optima

140

serial encoder missing

Valid for SSI and BiSS support

Arguments
TC n
where
n=0
n=1
n=?

Returns numerical code only


Returns numerical code and human-readable message
Returns the error code

Operand Usage
_TC contains the value of the error code.

Usage
Usage Details
Usage

Value

While Moving

Yes (No RIO)

In a Program

Yes

Not in a program

Yes

Default Value

N/A

Default Format

3.0

Related Commands
Examples:
:GF32
?TC1
1

Bad command
Tell error code
Unrecognized command

file:///C|/commandReference/DMC-18x6/pdf/index.html (239 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TD

Syntax:

Accepts Axis Mask

Operands:

_TDn

Burn:

not burnable

Tell Dual Encoder


Full Description
The TD command returns the current position of the dual (auxiliary) encoder(s). Auxiliary encoders are not available for stepper axes or for the axis
where output compare is used.
When operating with stepper motors, the TD command returns the number of counts that have been output by the controller.

Arguments
TD nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument will provide the dual encoder position for all axes

Operand Usage
_TDn contains value of dual encoder register.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
DE - Dual Encoder

Examples:
:TD
Return A,B,C,D Dual encoders
200, -10, 0, -110
TDA
Return the A motor Dual encoder
200
DUAL=_TDA
Assign the variable, DUAL, the value of TDA

file:///C|/commandReference/DMC-18x6/pdf/index.html (240 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TE

Syntax:

Accepts Axis Mask

Operands:

_TEn

Burn:

not burnable

Tell Error
Full Description
:
The TE command returns the current position error of the motor(s). The range of possible error is 2147483647. The Tell Error command is not valid
for step motors since they operate open-loop.

Arguments
TE nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument will provide the position error for all axes

Operand Usage
_TEn contains the current position error value for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Position Format

Related Commands
OE - Off On Error
ER - Error Limit
#POSERR - Error Subroutine
PF - Position Formatting

Examples:
TE
Return all position errors
5, -2, 0, 6
TEA
Return the A motor position error
5
TEB
Return the B motor position error
-2
Error =_TEA
Sets the variable, Error, with the A-axis position error
Hint: Under normal operating conditions with servo control, the position error should be small.
The position error is typically largest during acceleration.

file:///C|/commandReference/DMC-18x6/pdf/index.html (241 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TI

Syntax:

Implicit Notation Only

Operands:

_TI0,_TI1,_TI2,_TI3,_TI4,_TI5

Burn:

not burnable

Tell Inputs
Full Description
The TI command returns the state of the inputs including the extended I/O configured as inputs. The value returned by this command is decimal and
represents an 8 bit value (decimal value ranges from 0 to 255). Each bit represents one input where the LSB is the lowest input number and the MSB is
the highest input bit.

Arguments
TIn
where
n = 0 Return Input Status for Inputs 1 through 8
n = 1 Return Input Status for Inputs 9 through 16 ( Applies only to controllers with more than 4 axes)
n = 10
n = 11

Return Input Status for Inputs 81 through 88 (auxiliary encoder inputs)


Return Input Status for Inputs 89 through 96 (auxiliary encoder inputs)

no argument will return the Input Status for Inputs 1 through 8


n = ? returns the Input Status for Inputs 1 through 8
n = 2 through 9 see (These arguments only apply when using extended I/O configured as inputs)
where n represents the extended inputs ranging from (8*n)+1 through (8*(n+1))

Operand Usage
_TIn contains the status byte of the input block specified by 'n'. Note that the operand can be masked to return only specified bit information - see
section on Bit-wise operations.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Default Value

N/A

Related Commands
@IN - Read digital input
CO - Configure Extended I O

Examples:
:TI1
:8
:TI0
:0
:Input =_TI1
:Input=?
:8.0000

Tell input state on bank 1


Bit 3 is high, others low
All inputs on bank 0 low
Sets the variable, Input, with the TI1 value

file:///C|/commandReference/DMC-18x6/pdf/index.html (242 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

file:///C|/commandReference/DMC-18x6/pdf/index.html (243 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TIME

Syntax:

Operand Only

Operands:

TIME

Burn:

not burnable

Time Operand
Full Description
The TIME operand returns the value of the internal free running, real time clock. The returned value represents the number of servo loop updates and is
based on the TM command. The default value for the TM command is 1000. With this update rate, the operand TIME will increase by 1 count every
update of approximately 1000usec. Note that a value of 1000 for the update rate (TM command) will actually set an update rate of 976 microseconds.
Thus the value returned by the TIME operand will be off by 2.4% of the actual time.
The clock is reset to 0 with a standard reset or a master reset.
The keyword, TIME, does not require an underscore "_" as does the other operands.

Arguments
N/A

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)


In a Program

Yes

Command Line

Yes

Controller Usage
Default Value
Default Format

Related Commands
Examples:
MG TIME Display the value of the internal clock

file:///C|/commandReference/DMC-18x6/pdf/index.html (244 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TK

Syntax:

Explicit & Implicit

Operands:

_TKn

Burn:

burnable with BN

Peak Torque Limit


Full Description
The TK command sets the peak torque limit on the motor command output and TL sets the continuous torque limit. When the average torque is below
TL, the motor command signal can go up to the TK (Peak Torque) for a short amount of time. If TK is set lower than TL, then TL is the maximum
command output under all circumstances.

Arguments
TK n,n,n,n,n,n,n,n
TKA=n
where
n is an unsigned number in the range of 0 to 9.99 volts
n=0 disables the peak torque limit
n=? returns the value of the peak torque limit for the specified axis.

Operand Usage
_TKn contains the value of the peak torque limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.4

Related Commands
TL - Torque Limit

Examples:
TLA=7
TKA=9.99

Limit A-axis to a 7 volt average torque output


Limit A-axis to a 9.99 volt peak torque output

file:///C|/commandReference/DMC-18x6/pdf/index.html (245 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TL

Syntax:

Explicit & Implicit

Operands:

_TLn

Burn:

burnable with BN

Torque Limit
Full Description
The TL command sets the limit on the motor command output. For example, TL of 5 limits the motor command output to 5 volts. Maximum output of
the motor command is 9.998 volts.

Arguments
TL n,n,n,n,n,n,n,n
TLA=n
where
n is an unsigned numbers in the range 0 to 9.998 volts with resolution of 0.0003 volts
n=?
Returns the value of the torque limit for the specified axis.

Operand Usage
_TLn contains the value of the torque limit for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

9.998

Default Format

1.4

Related Commands
Examples:
TL 1,5,9,7.5
Limit A-axis to 1 volt. Limit B-axis to 5 volts. Limit C-axis to 9 volts. Limit Daxis to 7.5 volts.
TL ?,?,?,?
Return limits
1.0000,5.0000,9.0000,
7.5000
TL ?
Return A-axis limit
1.0000

file:///C|/commandReference/DMC-18x6/pdf/index.html (246 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TM

Syntax:

Implicit Notation Only

Operands:

_TM

Burn:

burnable with BN

Update Time
Full Description
The TM command sets the sampling period of the control loop. A zero or negative number turns off the servo loop. The units of this command are
microseconds.

Arguments
TM n
where
Default Firmware. Using the normal firmware the minimum sample times (n) are the following:
Accelera Controllers with 1-2 axes 62.5 usec
Accelera Controllers with 3-4 axes 125 usec
Accelera Controllers with 5-6 axes 156.25 usec
Accelera Controllers with 7-8 axes 187.5 usec
Fast Firmware. Using the fast firmware the minimum sample times (n) are the following:
Accelera Controllers with 1-2 axes 31.25 usec
Accelera Controllers with 3-4 axes 62.5 usec
Accelera Controllers with 5-6 axes 93.75 usec
Accelera Controllers with 7-8 axes 125 usec
Limitations: In the Fast firmware mode the following functions are disabled:
TD, DV, TK, NB, NZ, NF, second field of EI, Gearing, CAM, PL, Analog Feedback, Steppers, Trippoints in all but threads 0 and 1, Data Record and
TV.
Maximum value for n is 20000 usec.
Resolution of n is 31.25 usec.
n=?

returns the value of the sample time.

Operand Usage
_TM contains the value of the sample time.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

1000

Related Commands
Examples:
TM -1000
Turn off internal clock
TM 2000 Set sample rate to 2000 msec
TM 1000 Return to default sample rate

file:///C|/commandReference/DMC-18x6/pdf/index.html (247 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

See http://www.galilmc.com/support/firmware-downloads.php to download fast firmware.

file:///C|/commandReference/DMC-18x6/pdf/index.html (248 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TN

Syntax:

Implicit Notation Only

Operands:

_TN

Burn:

burnable with BN

Tangent
Full Description
The TN m,n command describes the tangent axis to the coordinated motion path. m is the scale factor in counts/degree of the tangent axis. n is the
absolute position of the tangent axis where the tangent axis is aligned with zero degrees in the coordinated motion plane. The tangent axis is specified
with the VM n,m,p command where p is the tangent axis. The tangent function is useful for cutting applications where a cutting tool must remain
tangent to the part.

Arguments
TN m,n
where
m is the scale factor in counts/degree, in the range between -127 and 127 with a fractional resolution of 0.004
m = ? Returns the first position value for the tangent axis.
When operating with stepper motors, m is the scale factor in steps / degree
n is the absolute position at which the tangent angle is zero, in the range between -8388608 to 8388607.

Operands
_TN contains the first position value for the tangent axis. This allows the user to correctly position the tangent axis before the motion begins.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

N/A

Related Commands
VM - Vector mode
CR - Circle Command

Examples
VM A,B,C Specify coordinated mode for A and B-axis; C-axis is tangent to the motion path
TN 100,50 Specify scale factor as 100 counts/degree and 50 counts at which tangent angle is zero
VP 1000,2000 Specify vector position A,B
VE End Vector
BGS Begin coordinated motion with tangent axis

file:///C|/commandReference/DMC-18x6/pdf/index.html (249 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TP

Syntax:

Accepts Axis Mask

Operands:

_TPn

Burn:

not burnable

Tell Position
Full Description
The TP command returns the current position of the motor(s).

Arguments
TP nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes

Operand Usage
_TPx contains the current position value for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

Position Format

Related Commands
PF - Position Formatting

Examples:
Assume the A-axis is at the position 200 (decimal), the B-axis is at the position -10 (decimal),
the C-axis is at position 0, and the D-axis is at -110 (decimal). The returned parameter units are
in quadrature counts.
:TP
Return A,B,C,D positions
200, -10, 0, -110
TPA
Return the A motor position
200
TPB
Return the B motor position
-10
PF-6.0 Change to hex format
TP
Return A,B,C,D in hex
$0000C8,$FFFFF6,$000000,$FFFF93
Position =_TPA Assign the variable, Position, the value of TPA

file:///C|/commandReference/DMC-18x6/pdf/index.html (250 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TR

Syntax:

Implicit Notation Only

Operands:

none

Burn:

burnable with BN

Trace
Full Description
The TR command causes each instruction in a program to be sent out the communications port prior to execution. TR1 enables this function and TR0
disables it. The trace command is useful in debugging programs.

Arguments
where
n=0
n=1

Disables the trace function


Enables the trace function

m is an integer between 0 and 255 and designates which threads to trace. A bit is set per thread. Thread 0=1, Thread 1=2, Thread 2=4 ... Thread 7
=128. The default is 255 (all threads)
The least significant bit represents thread 0 and the most significant bit represents thread 7. The decimal value can be calculated by the following
formula.
n = n0 + 2*n1 + 4*n2 + 8*n3 +16* n4 +32* n5 +64* n6 +128* n7
where nx represents the thread. To turn tracing on for a thread, substitute a one into that nx in the formula. If the nx value is a zero, then tracing will be
off for that thread.
For example, if threads 3 and 4 are to be traced, TR24 is issued.
Omiiting m traces all threads.

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Related Commands
Examples:
:'Turn on trace during a program execution
:LS
0 MGTIME
1 WT1000
2 JP0
3
:XQ
:
18003461.0000
18004461.0000
18005461.0000
:TR1

file:///C|/commandReference/DMC-18x6/pdf/index.html (251 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

:
2 JP0
0 MGTIME
18006461.0000
1 WT1000
2 JP0
0 MGTIME
18007461.0000
1 WT1000
:TR0
:
18008461.0000
18009461.0000
:ST
:

file:///C|/commandReference/DMC-18x6/pdf/index.html (252 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TS

Syntax:

Accepts Axis Mask

Operands:

_TSn

Burn:

not burnable

Tell Switches
Full Description
TS returns status information of the Home switch, Forward Limit switch Reverse Limit switch, error conditions, motion condition and motor state. The
value returned by this command is decimal and represents an 8 bit value (decimal value ranges from 0 to 255). Each bit represents the following status
information:
Bit Status
Bit 7 Axis in motion if high
Bit 6 Axis error exceeds error limit if high
Bit 5 A motor off if high
Bit 4 Undefined
Bit 3 Forward Limit Switch Status inactive if high
Bit 2 Reverse Limit Switch Status inactive if high
Bit 1 Home A Switch Status
Bit 0 Latched
Note: For active high or active low configuration (CN command), the limit switch bits are '1' when the switch is inactive and '0' when active.

Arguments
TS nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument will provide the status for all axes

Operand Usage
_TSn contains the current status of the switches.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

3.0

Related Commands
Examples:
V1=_TSB Assigns value of TSB to the variable V1
V1=
Interrogate value of variable V1
15 (returned value)
Decimal value corresponding to bit pattern 00001111
Y axis not in motion (bit 7 - has a value of 0)
Y axis error limit not exceeded (bit 6 has a value of 0)
Y axis motor is on (bit 5 has a value of 0)
Y axis forward limit is inactive (bit 3 has a value of 1)
Y axis reverse limit is inactive (bit 2 has a value of 1)
Y axis home switch is high (bit 1 has a value of 1)
file:///C|/commandReference/DMC-18x6/pdf/index.html (253 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

Y axis latch is not armed (bit 0 has a value of 1)

file:///C|/commandReference/DMC-18x6/pdf/index.html (254 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TT
Tell Torque
Full Description
The TT command reports the value of the analog output signal, which is a number between -9.998 and 9.998 volts.

Arguments
TT nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument will provide the torque for all axes

Operand Usage
_TTn contains the value of the torque for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

1.4

Related Commands
TL - Torque Limit

Examples:
V1=_TTA Assigns value of TTA to variable, V1
TTA
Report torque on A
-0.2843 Torque is -.2843 volts

file:///C|/commandReference/DMC-18x6/pdf/index.html (255 of 281)8/16/2010 1:21:03 PM

Syntax:

Accepts Axis Mask

Operands:

_TTn

Burn:

not burnable

Galil Motion Control Command Reference

TV

Syntax:

Accepts Axis Mask

Operands:

_TVn

Burn:

not burnable

Tell Velocity
Full Description
The TV command returns the actual velocity of the axes in units of encoder count/s. The value returned includes the sign.
The TV command is computed using a special averaging filter (over approximately 0.25 sec for TM1000). Therefore, TV will return average velocity,
not instantaneous velocity.

Arguments
TV nnnnnnnnnn
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes
No argument will provide the velocity for all axes.

Operand Usage
_TVn contains the value of the velocity for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

8.0

Related Commands
SP - Speed
AC - Acceleration
DC - Deceleration
TM - Update Time

Examples:
:vela=_TVA
:TVA
0003420

Assigns value of A-axis velocity to the variable VELA


Returns the A-axis velocity

file:///C|/commandReference/DMC-18x6/pdf/index.html (256 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

TW
Timeout for IN Position (MC)
Full Description
Arguments
TW n,n,n,n,n,n,n,n
TWA=n
n specifies the timeout in msec. n ranges from 0 to 32767 msec
n = -1
Disables the timeout.
n=?
Returns the timeout in msec for the MC command for the specified axis.

Operand Usage
_TWn contains the timeout for the MC command for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

32766

Default Format

5.0

Related Commands
MC - Motion Complete trippoint
#MCTIME - Motion Complete Timeout Automatic Subroutine

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (257 of 281)8/16/2010 1:21:03 PM

Syntax:

Explicit & Implicit

Operands:

_TWn

Burn:

burnable with BN

Galil Motion Control Command Reference

UI

Syntax:

Implicit Notation Only

Operands:

none

Burn:

not burnable

User Interrupt
Full Description
UI immediately causes a PC interrupt with the selected status byte, whose meaning is user-defined (unlike EI). UI can generate 16 different status
bytes, $F0 to $FF (240-255), corresponding to UI0 to UI15. When the UI command (e.g. UI5) is executed , a particular status byte value (e.g. $F5 or
245) is delivered to the host PC along with the hardware interrupt. See Chapter 4 of the User Manual for details.

Arguments
UI n
where
n is an integer between 0 and 15 corresponding to status bytes $F0 to $FF (240-255).
STATUS BYTE CONDITION
$F0 (240) UI or UI0 was executed
$F1 (241) UI1 was executed
$F2 (242) UI2 was executed
$F3 (243) UI3 was executed
$F4 (244) UI4 was executed
$F5 (245) UI5 was executed
$F6 (246) UI6 was executed
$F7 (247) UI7 was executed
$F8 (248) UI8 was executed
$F9 (249) UI9 was executed
$FA (250) UI10 was executed
$FB(251) UI11 was executed
$FC (252) UI12 was executed
$FD (253) UI13 was executed
$FE (254) UI14 was executed
$FF (255) UI15 was executed

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

3.0

Related Commands
EI - Event interrupts

Examples:
JG 5000 Jog at 5000 counts/s

file:///C|/commandReference/DMC-18x6/pdf/index.html (258 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

BGA
Begin motion
ASA
Wait for at speed
UI 1
Cause an interrupt with status byte $F1 (241)
The program above interrupts the host PC with status byte $F1 (241) when the motor has reach its
target speed of 5000 counts/s

file:///C|/commandReference/DMC-18x6/pdf/index.html (259 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

UL

Syntax:

Two Letter Only

Operands:

_UL

Burn:

not burnable

Upload
Full Description
The UL command transfers data from the controller to a host computer. Programs are sent without line numbers. The Uploaded program will be
followed by a <control>Z as an end of text marker.

Arguments
None

Operand Usage
When used as an operand, _UL gives the number of available variables. The number of available variables is 510.
RELATED COMMAND:
DL
Download

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

No

Command Line

Yes

Controller Usage

All

Default Value

Default Format

N/A

Related Commands
Examples:
UL;
Begin upload
#A
Line 0
NO This is an Example
Line 1
NO Program
Line 2
EN
Line 3
<cntrl>Z
Terminator

file:///C|/commandReference/DMC-18x6/pdf/index.html (260 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VA

Syntax:

Implicit Notation Only

Operands:

_VAn

Burn:

burnable with BN

Vector Acceleration
Full Description
The VA command sets the acceleration rate of the vector in a coordinated motion sequence.

Arguments
VA s,t
where
s and t are unsigned integers in the range 1024 to 1073740800. s represents the vector acceleration for the S coordinate system and t represents the
vector acceleration for the T coordinate system. The parameter input will be rounded down to the nearest factor of 1024. The units of the parameter is
counts per second squared.
s=?
Returns the value of the vector acceleration for the S coordinate plane.
t=?
Returns the value of the vector acceleration for the T coordinate plane.

Operand Usage
_VAx contains the value of the vector acceleration for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256000 (10.0 for 18x6 & 40x0)

Default Format

Position Format

Related Commands
VS - Vector Speed
VP - Vector Position
VE - End Vector
CR - Circle
VM - Vector Mode
BG - Begin Sequence
VD - Vector Deceleration
IT - Smoothing constant - S-curve

Examples:
VA 1024 Set vector acceleration to 1024 counts/sec2
VA ?
Return vector acceleration
1024
VA 20000
Set vector acceleration
VA ?
19456
Return vector acceleration
ACCEL=_VA
Assign variable, ACCEL, the value of VA

file:///C|/commandReference/DMC-18x6/pdf/index.html (261 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VD

Syntax:

Implicit Notation Only

Operands:

_VDn

Burn:

burnable with BN

Vector Deceleration
Full Description
The VD command sets the deceleration rate of the vector in a coordinated motion sequence.

Arguments
VD s,t
where
s and t are unsigned integers in the range 1024 to 1073740800. s represents the vector deceleration for the S coordinate system and t represents the
vector acceleration for the T coordinate system. The parameter input will be rounded down to the nearest factor of 1024. The units of the parameter is
counts per second squared.
s=?
Returns the value of the vector deceleration for the S coordinate plane.
t=?
Returns the value of the vector deceleration for the T coordinate plane.

Operand Usage
_VDn contains the value of the vector deceleration for the specified coordinate system, S or T.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

256000

Default Format

Position Format (10.0 for 18x6 & 40x0)

Related Commands
VA - Vector Acceleration
VS - Vector Speed
VP - Vector Position
CR - Circle
VE - Vector End
VM - Vector Mode
BG - Begin Sequence
IT - Smoothing constant - S-curve

Examples:
#VECTOR Vector Program Label
VMAB
Specify plane of motion
VA1000000
Vector Acceleration
VD 5000000
Vector Deceleration
VS 2000 Vector Speed
VP 10000, 20000 Vector Position
VE
End Vector
BGS
Begin Sequence

file:///C|/commandReference/DMC-18x6/pdf/index.html (262 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VE

Syntax:

Implicit Notation Only

Operands:

_VEn

Burn:

not burnable

Vector Sequence End


Full Description
VE is required to specify the end segment of a coordinated move sequence. VE would follow the final VP or CR command in a sequence. VE is
equivalent to the LE command.
The VE command will apply to the selected coordinate system, S or T. To select the coordinate system, use the command CAS or CAT.

Arguments
VE n
No argument specifies the end of a vector sequence
n=?
Returns the length of the vector in counts.

Operand Usage
_VEn contains the length of the vector in counts for the specified coordinate system, S or T.

Usage
Usage and Defualt Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

N/A

Default Format

N/A

Related Commands
VM - Vector Mode
VS - Vector Speed
VA - Vector Acceleration
VD - Vector Deceleration
CR - Circle
VP - Vector Position
BG - Begin Sequence
CS - Clear Sequence

Examples:
VM AB
Vector move in AB
VP 1000,2000
Linear segment
CR 0,90,180
Arc segment
VP 0,0 Linear segment
VE
End sequence
BGS
Begin motion

file:///C|/commandReference/DMC-18x6/pdf/index.html (263 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VF

Syntax:

Implicit Notation Only

Operands:

_VF

Burn:

burnable with BN

Variable Format
Full Description
The VF command formats the number of digits to be displayed when interrogating the controller or RIO board.
If a number exceeds the format, the number will be displayed as the maximum possible positive or negative number (i.e. 999.99, -999, $8000 or $7FF).

Arguments
VF m.n
where
m and n are unsigned numbers in the range 0<m<10 and 0<n<4.
m represents the number of digits before the decimal point. A negative m specifies hexadecimal format. When in hexadecimal, the string will be
preceded by a $ and Hex numbers are displayed as 2's complement with the first bit used to signify the sign.
n represents the number of digits after the decimal point.
m=?
Returns the value of the format for variables and arrays.

Operand Usage
_VF contains the value of the format for variables and arrays.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

10.4

Default Format

2.1

Related Commands
Examples:
VF 5.3 Sets 5 digits of integers and 3 digits after the decimal point
VF 8.0 Sets 8 digits of integers and no fractions
VF -4.0 Specify hexadecimal format with 4 bytes to the left of the decimal

file:///C|/commandReference/DMC-18x6/pdf/index.html (264 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VM

Syntax:

Implicit Notation Only

Operands:

_VMn

Burn:

not burnable

Vector Mode
Full Description
The VM command specifies the coordinated motion mode and the plane of motion. This mode may be specified for motion on any set of two axes.
The motion is specified by the instructions VP and CR, which specify linear and circular segments. Up to 511 segments may be given before the Begin
Sequence (BGS or BGT) command. Additional segments may be given during the motion when the buffer frees additional spaces for new segments. It
is the responsibility of the user to keep enough motion
segments in the buffer to ensure continuous motion.
The Vector End (VE) command must be given after the last segment. This allows the controller to
properly decelerate.
The VM command will apply to the selected coordinate system, S or T. To select the coordinate
system, use the command CAS or CAT.

Arguments
VM nmp
where
n and m specify plane of vector motion and can be any two axes. Vector Motion can be specified for one axis by specifying 2nd parameter, m, as N.
Specifying one axis is useful for obtaining sinusoidal motion on 1 axis.
p is the tangent axis and can be specified as any axis except the imaginary M and N axes. A value of N for the parameter, p, turns off tangent function.

Operand Usage
_VMn contains instantaneous commanded vector velocity for the specified coordinate system, S or T.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Default Value

AB

Related Commands
CR - Circle
VP - Vector Mode
VE - Vector End
BG - Begin Sequence

Examples:
#A
;'Program Label
VM AB
;'Specify motion plane
VP 1000,2000
;'Specify vector position 1000,2000
VP 2000,4000
;'Specify vector position 2000,4000
CR 1000,0,360
;'Specify arc
VE
;'Vector end
BGS
;'Begin motion sequence
AMS
;'Wait for vector motion to complete
EN
;'End Program
file:///C|/commandReference/DMC-18x6/pdf/index.html (265 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

Hint: The first vector in a coordinated motion sequence defines the origin for that sequence. All
other vectors in the sequence are defined by their endpoints with respect to the start of the move
sequence.

file:///C|/commandReference/DMC-18x6/pdf/index.html (266 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VP

Syntax:

Implicit Notation Only

Operands:

_VPn

Burn:

not burnable

Vector Position
Full Description
The VP command defines the target coordinates of a straight line segment in a 2 axis motion sequence which have been selected by the VM command.
The units are in quadrature counts, and are a function of the elliptical scale factor set using the command ES. For three or more axes linear
interpolation, use the LI command. The VP command will apply to the selected coordinate system, S or T. To select the coordinate system, use the
command CAS or CAT.

Arguments
VP n,m < o > p
where
n and m are signed integers in the range -2147483648 to 2147483647 The length of each segment must be limited to 8388607. The values for n and m
will specify a coordinate system from the beginning of the sequence.
o specifies a vector speed to be taken into effect at the execution of the vector segment. o is an unsigned even integer between 2 and 22,000,000 for
servo motor operation and between 2 and 6,000,000 for stepper motors (o is in units of counts per sample).
p specifies a vector speed to be achieved at the end of the vector segment. p is an unsigned even integer between 2 and 22,000,000 (p is in units of
counts per sample).

Operand Usage
_VPa where a=ABCDEFGH for the axis and contains the absolute coordinate of the axes at the last intersection along the sequence. For example,
during the first motion segment, this instruction returns the coordinate at the start of the sequence. The use as an operand is valid in the linear mode,
LM, and in the Vector mode, VM.
example: _VPA for the the A axis

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

Related Commands
VM - Vector Mode
VE - Vector End
BG - Begin Sequence
IT - Vector smoothing

Examples
#A;'
Program
VM AB;'
Specify
VP 1000,2000 ;'Specify
VP 2000,4000;' Specify
CR 1000,0,360;'Specify

Label
motion plane
vector position 1000,2000
vector position 2000,4000
arc

file:///C|/commandReference/DMC-18x6/pdf/index.html (267 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VE;'
BGS;'
AMS;'
EN;'

Vector end
Begin motion sequence
Wait for vector motion to complete
End Program

REM VP n,m <o> p


REM 'o' and 'p' are in counts/sample
REM this means that when TM <> 1000,
REM values for 'o' and 'p'
REM To get counts/second for 'o' and
REM
REM #vs and #vsop result in the same
#vs
TM 250
VMXY
VS 100000
VA 2560000
VD 2560000
VP 20000,20000
VE
BGS
AMS
EN
'
#vsop
TM 250
VMXY
n=1000/_TM
'VS 100000
VA 2560000
VD 2560000
VP 20000,20000<(100000/n)
VE
BGS
AMS
EN

rather than counts/second as the VS command.


commanded speed for VS will be different than
'p', divide them by a ratio of 1000/_TM
profile

Hint: The first vector in a coordinated motion sequence defines the origin for that sequence. All other vectors in the sequence are defined by their
endpoints with respect to the start of the move sequence.

file:///C|/commandReference/DMC-18x6/pdf/index.html (268 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VR

Syntax:

Implicit Notation Only

Operands:

_VRn

Burn:

not burnable

Vector Speed Ratio


Full Description
The VR sets a ratio to be used as a multiplier of the current vector speed. The vector speed can be set by the command VS or the operators < and >
used with CR, VP and LI commands. VR takes effect immediately and will ratio all the following vector speed commands. VR doesn't ratio
acceleration or deceleration, but the change in speed is accomplished by accelerating or decelerating at the rate specified by VA and VD.

Arguments
VR s,t
where
s and t are between 0 and 10 with a resolution of .0001. The value specified by s is the vector ratio to apply to the S coordinate system and t is the value
to apply to the T coordinate system.
s=?
Returns the value of the vector speed ratio for the S coordinate plane.
t=?
Returns the value of the vector speed ratio for the T coordinate plane.

Operand Usage
_VRn contains the vector speed ratio of the specified coordinate system, S or T.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format
While Moving Yes Default Value 1
In a Program Yes Default Format 2.4
Command Line Yes
Controller Usage ALL CONTROLLERS

Related Commands
VS - Vector Speed

Examples:
#A
Vector Program
VMAB
Vector Mode
VP 1000,2000
Vector Position
CR 1000,0,360
Specify Arc
VE
End Sequence
VS 2000 Vector Speed
BGS
Begin Sequence
AMS
After Motion
JP#A
Repeat Move
#SPEED Speed Override
VR@AN[1]*.1
Read analog input compute ratio

file:///C|/commandReference/DMC-18x6/pdf/index.html (269 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

JP#SPEED
Loop
XQ#A,0; XQ#SPEED,1
Execute task 0 and 1 simultaneously
Note: VR is useful for feed rate override, particularly when specifying the speed of individual
segments using the operator '<' and '>'.

file:///C|/commandReference/DMC-18x6/pdf/index.html (270 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VS

Syntax:

Implicit Notation Only

Operands:

_VSn

Burn:

burnable with BN

Vector Speed
Full Description
The VS command specifies the speed of the vector in a coordinated motion sequence in either the LM or VM modes. VS may be changed during
motion.
Vector Speed can be calculated by taking the square root of the sum of the squared values of speed for each axis specified for vector or linear
interpolated motion.

Arguments
VS s,t
where
s and t are unsigned even numbers in the range 2 to 22,000,000 for servo motors and 2 to 6,000,000 for stepper motors. s is the speed to apply to the S
coordinate system and t is the speed to apply to the T coordinate system. The units are counts per second.
s=?
Returns the value of the vector speed for the S coordinate plane.
t=?
Returns the value of the vector speed for the T coordinate plane.

Operand Usage
_VSn contains the vector speed of the specified coordinate system, S or T

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

25000

Related Commands
VA - Vector Acceleration
VP - Vector Position
CR - Circle
LM - Linear Interpolation
VM - Vector Mode
BG - Begin Sequence
VE - Vector End

Examples:

file:///C|/commandReference/DMC-18x6/pdf/index.html (271 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

VV

Syntax:

Explicit Notation Only

Operands:

_VVn

Burn:

not burnable

Vector Speed Variable


Full Description
The VV command sets the speed of the vector variable in a coordinated motion sequence in either the LM or VM modes. VV may be changed during
motion.
The VV command is used to set the "<" vector speed variable argument for segments that exist in the vector buffer. By defining a vector segment begin
speed as a negative 1 (i.e. "<-1"), the controller will utilize the current vector variable speed as the segment is profiled from the buffer.
This is useful when vector segments exist in the buffer that use the "<" and ">" speed indicators for specific segment and corner speed control and the
host needs to be able to dynamically change the nominal return operating speed.
The vector variable is supported for VP, CR and LI segments.

Arguments
VVS=n or VVT=n
where,
n specifies the speed as an unsigned even number in the range 2 to 22,000,000 for servo motors and 2 to 6,000,000 for stepper motors. VVS is the
speed to apply to the S coordinate system and VVT is the speed to apply to the T coordinate system. The units are in counts per second.
VVS=? Returns the value of the vector speed variable for the S coordinate plane.
VVT=? Returns the value of the vector speed variable for the T coordinate plane.

Operand Usage
_VVn contains the vector speed variable of the specified coordinate system (n= S or T)

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Value

Related Commands
VA - Vector Acceleration
VD - Vector Deceleration
VP - Vector Position Segment
CR - Circular Interpolation Segment
LI - Linear Interpolation Segment
VM - Vector Mode
LM - Linear Interpolation Mode

Examples:
:VVS= 20000
:VP1000,2000<-1>100
:VVS=?
:20000
:

Define vector speed variable to 20000 for the S coordinate system


Define vector speed variable for specific segment.

file:///C|/commandReference/DMC-18x6/pdf/index.html (272 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

WT

Syntax:

Implicit Notation Only


& Trippoint

Operands:

none

Burn:

not burnable

Wait
Full Description
The WT command is a trippoint used to time events. When this command is executed, the controller will wait for the number of miliseconds specified
before executing the next command.

Arguments
WT n
where
n is an unsigned even number in the range 0 to 2000000000 (2 Billion)

Operand Usage
N/A

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In A Program

Yes

Command Line

No

Controller Usage

ALL

Default Value

Default Format

Related Commands
AT - At Time
TIME - Time Operand
TM - Update Time

Examples:
REM 10 seconds after a move is complete, turn on a relay for 2 seconds
#A;
'Program A
PR 50000;
'Position relative move
BGA;
'Begin the move
AMA;
'After the move is over
WT 10000;
'Wait 10 seconds
SB 1;
'Turn on relay (set output 1)
WT 2000;
'Wait 2 seconds
CB1;
'Turn off relay (clear output 1)
EN;
'End Program

file:///C|/commandReference/DMC-18x6/pdf/index.html (273 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

XQ

Syntax:

Implicit Notation Only

Operands:

_XQ0,_XQ1,_XQ2,_XQ3,_XQ4,
_XQ5,_XQ6,_XQ7

Burn:

not burnable

Execute Program
Full Description
The XQ command begins execution of a program residing in the program memory of the controller. Execution will start at the label or line number
specified. Up to 8 programs may be executed with the controller.

Arguments
XQ #A,n
XQm,n
where
A is a program name of up to seven characters.
m is a line number
n is an integer representing the thread number for multitasking
n is an integer in the range of 0 to 7.
NOTE: The arguments for the command, XQ, are optional. If no arguments are given, the first program in memory will be executed as thread 0.

Operand Usage
_XQn contains the current line number of execution for thread n, and -1 if thread n is not running.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

N/A

Related Commands
HX - Halt execution

Examples:
XQ #APPLE,0
Start execution
XQ #DATA,2
Start execution
XQ 0
Start execution at line
Hint: Don't forget to quit the

at label APPLE, thread zero


at label DATA, thread two
0
edit mode first before executing a program!

file:///C|/commandReference/DMC-18x6/pdf/index.html (274 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

YA

Syntax:

Explicit & Implicit

Operands:

_YAn

Burn:

burnable with BN

Step Drive Resolution


Full Description
The YA command specifies the resolution of the step drive, in step counts per full motor step, for Stepper Position Maintenance mode.

Arguments
YA m,m,m,m,m,m,m,m
YAn = m
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
m is 0 to 9999 which represents the drive resolution in step counts per full motor step.

Operand Usage
_YAn contains the resolution for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

1.4

Related Commands
QS - Error Magnitude
YS - Stepper Position Maintenance Mode Enable, Status
YB - Step Motor Resolution
YC - Encoder Resolution
YR - Error Correction

Examples:
1.
2.

Set the step drive resolution for the SDM-20640 Microstepping Drive:
:YA 64,64,64,64
Query the D axis value:
:MG_YAD
:64.0000
Response shows D axis step drive resolution

file:///C|/commandReference/DMC-18x6/pdf/index.html (275 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

YB

Syntax:

Explicit & Implicit

Operands:

_YBn

Burn:

burnable with BN

Step Motor Resolution


Full Description
The YB command specifies the resolution of the step motor, in full steps per full revolution, for Stepper Position Maintenance mode.

Arguments
YB m,m,m,m,m,m,m,m
YBn = m
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
m is 0 to 9999 which represents the motor resolution in full steps per revolution.

Operand Usage
_YBn contains the stepmotor resolution for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

200

Default Format

1.4

Related Commands
QS - Error Magnitude
YS - Stepper Position Maintenance Mode Enable, Status
YA - Step Drive Resolution
YC - Encoder Resolution
YR - Error Correction

Examples:
1.
2.

Set the step motor resolution of the A axis for a 1.8? step motor:
:YBA=200
Query the A axis value:
:YBA=?
:200
Response shows A axis step motor resolution

file:///C|/commandReference/DMC-18x6/pdf/index.html (276 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

YC

Syntax:

Explicit & Implicit

Operands:

_YCn

Burn:

burnable with BN

Encoder Resolution
Full Description
The YC command specifies the resolution of the encoder, in counts per revolution, for Stepper Position Maintenance mode.

Arguments
YC m,m,m,m,m,m,m,m
YCn = m
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
m is 0 to 32766 which represents the encoder resolution in counts per revolution.

Operand Usage
_YCn contains the encoder resolution for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

4000

Default Format

1.4

Related Commands
QS - Error Magnitude
YS - Stepper Position Maintenance Mode Enable, Status
YA - Step Drive Resolution
YB - Step Motor Resolution
YR - Error Correction

Examples:
1.
2.

Set the encoder resolution of the D axis for a 4000 count/rev encoder:
:YC,,,4000
Query the D axis value:
:YCD=?
:4000
Response shows D axis encoder resolution

file:///C|/commandReference/DMC-18x6/pdf/index.html (277 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

YR

Syntax:

Explicit & Implicit

Operands:

none

Burn:

not burnable

Error Correction
Full Description
The YR command allows the user to correct for position error in Stepper Position Maintenance mode. This correction acts like an IP command, moving
the axis or axes the specified quantity of step counts. YR will typically be used in conjunction with QS.

Arguments
YR m,m,m,m,m,m,m,m
YRn = m
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
m is a magnitude in step counts.

Operand Usage
None

Usage
Usage and Default Details
Usage

Value

While Moving

No

In a Program

Yes

Default Format

1.4

Command Line

Yes

Default Value

Related Commands
QS - Error Magnitude
YA - Step Drive Resolution
YB - Step Motor Resolution
YR - Error Correction
YS - Stepper Position Maintenance Mode Enable, Status

Examples:
1.

Using an SDM-20620 microstepping drive, query the error of the B axis:


:QSB=?
:253
This shows 253 step counts of error. The SDM-20620 resolution is 64 microsteps per
full motor step, nearly 4 full motor steps of error.
Correct for the error:
:YRB=_QSB
The motor moves _QS step counts to correct for the error, and YS is set back to 1

file:///C|/commandReference/DMC-18x6/pdf/index.html (278 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

YS

Syntax:

Explicit & Implicit

Operands:

_YSn

Burn:

burnable with BN

Stepper Position Maintenance Mode Enable, Status


Full Description
The YS command enables and disables the Stepper Position Maintenance Mode function. YS also reacts to excessive position error condition as
defined by the QS command.

Arguments
YS m,m,m,m,m,m,m,m
YSn = m
where
n is A,B,C,D,E,F,G or H or any combination to specify the axis or axes.
m = 0 SPM Mode Disable
m = 1 Enable SPM Mode, Clear trippoint and QS error
m = 2 Error condition occurred

Operand Usage
_YSn contains the status of the mode for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Default Format

1.4

Default Value

Related Commands
QS - Error Magnitude
YA - Step Drive Resolution
YB - Step Motor Resolution
YC - Encoder Resolution
YR - Error Correction

Examples:
1.
2.

Enable the mode:


:YSH=1
Query the value:
:0,0,0,0,0,0,0,1

Response shows H axis is enabled

file:///C|/commandReference/DMC-18x6/pdf/index.html (279 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

ZA

Syntax:

Explicit & Implicit

Operands:

_ZAn

Burn:

not burnable

User Data Record Variables


Full Description
ZA sets the user variables in the data record. The eight user variables (one per axis) are automatically sent as part of the status record from the
controller to the host computer. These variables provide a method for specific controller information to be passed to the host automatically.

Arguments
ZA n,n,n,n,n,n,n,n
ZAA=n
where
n is an integer and can be a number, controller operand, variable, mathematical function, or string. The range for numeric values is 4 bytes of integer (2,147,483,648 to +2,147,483,647). The maximum number of characters for a string is 4 characters. Strings are identified by quotations.
n=?
returns the current value

Operand Usage
_ZAn contains the current value for the specified axis.

Usage
Usage and Default Details
Usage

Value

While Moving

Yes

In a Program

Yes

Command Line

Yes

Controller Usage

All

Default Value

Default Format

10.0

Related Commands
DR - Data Record update rate
QR - Query Data Record
QZ - Data Record format

Examples:
#Thread
ZAX=MyVar;
JP#Thread

'constantly update ZA

file:///C|/commandReference/DMC-18x6/pdf/index.html (280 of 281)8/16/2010 1:21:03 PM

Galil Motion Control Command Reference

ZS

Syntax:

Explicit & Implicit

Operands:

_ZSn

Burn:

not burnable

Zero Subroutine Stack


Full Description
The ZS command is only valid in an application program and is used to avoid returning from an interrupt (either input or error). ZS alone returns the
stack to its original condition. ZS1 adjusts the stack to eliminate one return. This turns the jump to subroutine into a jump. Do not use RI (Return from
Interrupt) when using ZS. To re-enable interrupts, you must use II command again.
The status of the stack can be interrogated with the operand _ZSn - see operand usage below.

Arguments
ZS n
where
n=0
n=1

Returns stack to original condition


Eliminates one return on stack

Operand Usage
_ZSn contains the stack level for the specified thread where n = 0 to 7.
The response, an integer between zero and sixteen, indicates zero for beginning condition and sixteen for the deepest value.

Usage
Usage and Default Details
Usage

Value

While Moving (No RIO)

Yes

In a Program

Yes

Command Line

No

Controller Usage

All

Default Value

Default Format

3.0

Related Commands
Examples:
#A;'
Main Program
II1;'
Input Interrupt on 1
#B;JP #B;EN ;' Loop
#ININT;'
Input Interrupt
MG"INTERRUPT";'Print message
S=_ZS;'
Interrogate stack
S=?;'
Print stack
ZS;'
Zero stack
S=_ZS;'
Interrogate stack
S=?;'
Print stack
EN;'
End

file:///C|/commandReference/DMC-18x6/pdf/index.html (281 of 281)8/16/2010 1:21:03 PM

Vous aimerez peut-être aussi