This command reference is a supplement to Galil Motion Control User Manual. For proper controller
operation, consult the Users Manual. This manual describes commands to be used with the following
Galil Motion Controllers: DMC-1000, DMC-1500. Commands are listed in alphabetical order.
Please note that all commands may not be valid for every controller. The following symbol is used to
identify the controllers for which the command is applicable.
DMC-1000DMC-1500
This symbol is placed at the top right corner of each command description. The DMC-1000 symbol
refers to all controllers from the DMC-1000 series (1-8 axes), the DMC-1500 symbol refers to all
controllers from the DMC-1500 series (1-8 axes). When the corresponding box entry is dark, the
command is not valid for that controller.
Removing Non-Applicable Commands:
Since there may be commands which are not applicable to your controller, you may use the following
table to identify and remove these pages:
Manual Pages Not Applicable to Specific Controllers:
CONTROLLER PAGE NO
DMC-1000 9,21,22,24,27,104
DMC-1500 47,105,142
Servo and Stepper Motor Notation:
Your motion controller has been designed to work with both servo and stepper type motors.
Installation and system setup will vary depending upon whether the controller will be used with
stepper motors, or servo motors. To make finding the appropriate instructions faster and easier, icons
will be next to any information that applies exclusively to one type o f system. Otherwise, assume that
the instructions apply to all types of systems. The icon legend is shown below.
DMC-1000/1500 Command Reference Overview • 1
Page 4
Attention: Pertains to servo motor use.
Attention: Pertains to stepper motor use.
Command Descriptions
Each executable instruction is listed in the following section in alphabetical order. Below is a
description of the information which is provided for each command.
The two-letter Opcode for each instruction is placed in the upper right corner.
Axes Arguments
Some commands require the user to identify the specific axes to be affected. These commands are
followed by uppercase X,Y,Z, W or A,B,C,D,E,F,G and H. No commas are needed and the order of
axes is not important. Do not insert any spaces prior to any command. For example, STX; AMX is
invalid because there is a space after the semicolon. When no argument is given, the command is
executed for all axes.
Valid XYZW syntax
SH X Servo Here, X only
SH XYW Servo Here, X,Y and W axes
SH XZW Servo Here, X,Z and W axes
SH XYZW Servo Here, X,Y,Z and W axes
SH BCAD Servo Here, A,B,C and D axes (Note: ABCD IS the same as XYZW)
SH ADEG Servo Here, A,D,E and G axes (Note: AD is the same as XW)
SH H Servo Here, H axis only
SH Servo Here, all axes
Parameter Arguments
Some commands require numerical arguments to be specified following the instruction. In the
argument description, these commands are followed by lower case x,y,z,w or a,b,c,d,e,f,g,h where the
lowercase letter represents the value. Values may be specified for any axis separately or any
combination of axes. The argument for each axis is separated by commas. Examples of valid syntax
are listed below.
Valid x,y,z,w syntax
AC x Specify argument for x axis only
AC x,y Specify x and y only
AC x,,z Specify x and z only
AC x,y,z,w Specify x,y,z,w
AC a,b,c,d Specify arguments for a,b,c,d (Note: a,b,c,d are the same as x,y,z,w)
AC ,b,,,e Specify b and e axis only (Note: b and y axis are the same)
AC ,,,e,f Specify e and f (Note: e and z axis are the same)
Where x,y,z,w and a,b,c,d,e,f,g and h are replaced by actual values.
2 • Overview DMC-1000/1500 Command Reference
Page 5
Direct Command Arguments
An alternative method for specifying data is to set data for individual axes using an axis designator
followed by an equals sign. The * symbol defines data for all axes to be the same. For example:
PRY=1000 Sets Y axis data at 1000
PR*=1000 Sets all axes to 1000
Interrogation
Most commands accept a question mark (?) as an argument. This argument causes the controller to
return parameter information listed in the command description. 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.
PR ? The controller will return the PR value for the X axis
PR ,,,? The controller will return the PR value for the W 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
Operand Usage
Most commands have a corresponding operand that can be used for interrogation. The Operand Usage
description provides proper syntax and the value returned by the operand. Operands must be used
inside of valid DMC expressions. For example, to display the value of an operand, the user could use
the command:
MG ‘operand’
All of the command operands begin with the underscore character (_). For example, the value of the
current position on the X axis can be assigned to the variable ‘V’ with the command:
V=_TPX
Usage Description
The Usage description specifies the restrictions on proper command usage. The following provides an
explanation of the command information provided:
"While Moving" states whether or not the command is valid while the controller is performing a
previously defined motion.
"In a program" states whether the command may be used as part of a user-defined program.
"Command Line" states whether the command may be used other than in a user-defined program.
"Can be Interrogated" states whether or not the command can be interrogated by using the ? as a
command argument.
"Used as an Operand" states whether the command has an associated operand.
Default Description
In the command description, the DEFAULT section provides the default values for controller setup
parameters. These parameters can be changed and the new values can be saved in the controller's nonvolatile memory by using the command, BN. If the setup parameters are not saved in non-volatile
memory, the default values will automatically reset when the system is reset. A reset occurs when the
power is turned off and on, when the reset button is pushed, or the command, RS, is given.
DMC-1000/1500 Command Reference Overview • 3
Page 6
When a master reset occurs, the controller will always 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 or dip switch on.
For example, the command KD is used to set the Derivative Constant for each axis. The default value
for the derivative constant is 64. If this parameter is not set by using the command, KD, the controller
will automatically set this value to 64 for each axis. If the Derivative Constant is changed but not
saved in non-volatile memory, the default value of 64 will be used if the controller is reset or upon
power up of the controller. If this value is set and saved in non-volatile memory, it will be restored
upon reset until a master reset is given to the controller.
The default format describes the format for numerical values which are returned when the command is
interrogated. The format value represents the number of digits before and after the decimal point.
4 • Overview DMC-1000/1500 Command Reference
Page 7
AB
FUNCTION: Abort
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
DMC-1000DMC-1500
(see command "OE" on page
ARGUMENTS: AB n where
n = no argument or 1
1 aborts motion without aborting program, 0 aborts motion and program
AB aborts motion on all axes in motion and cannot stop individual axes.
USAGE: DEFAULTS:
While Moving Yes Default Value --In a Program Yes Default Format --Command Line Yes
Can be Interrogated No
Used as an Operand Yes
102).
OPERAND USAGE:
_AB gives state of Abort Input.
RELATED COMMANDS:
SH Turns servos back on if they were shut-off by Abort and OE1.
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.
DMC-100/1500 Command Reference AB • 5
Page 8
DMC-1000DMC-1500
AC
FUNCTION: Acceleration
DESCRIPTION:
The Acceleration (AC) command sets the linear acceleration rate of the motors for
independent moves, such as PR, PA and JG. The parameters input will be rounded down
to the nearest factor of 1024. The units are in counts per second squared. The
acceleration rate may be changed during motion. The DC command is used to specify
the deceleration rate.
ARGUMENTS: AC x,y,z,w ACX=x AC a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range in the range 1024 to 67107840
"?" returns the acceleration value for the specified axes.
USAGE: DEFAULTS:
While Moving Yes Default Value 25600
In a Program Yes Default Format 8.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_ACx contains the value of acceleration for the specified axis.
RELATED COMMANDS:
DC Specifies deceleration rate.
FA Feedforward Acceleration
IT Smoothing constant - S-curve
EXAMPLES:
AC 150000,200000,300000,400000 Set X-axis acceleration to 150000, Y-axis to
200000 counts/sec2, the Z-axis to 300000
counts/sec2, and the W-axis to 400000
count/sec2.
AC ?,?,?,? Request the Acceleration
0149504,0199680,0299008,0399360 Return Acceleration
(resolution, 1024)
V=_ACY Assigns the Y 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.
6 • AC DMC-1000/1500 Command Reference
Page 9
DMC-1000DMC-1500
AD
FUNCTION: After Distance
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. 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.
The motion profiler must be on or the trippoint will automatically be satisfied.
Note: AD will be affected when the motion smoothing time constant, IT, is not 1. See IT
command for further information.
ARGUMENTS: AD x or AD,y or AD,,z or AD,,,w ADX=x AD a,b,c,d,e,f,g,h where
x,y,z,w are unsigned integers in the range 0 to 2147483647 decimal.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
AD After distance for repetitive triggering
AV After distance for vector moves
EXAMPLES:
#A;DP0,0,0,0 Begin Program
PR 10000,20000,30000,40000 Specify positions
BG Begin motion
AD 5000 After X reaches 5000
MG "Halfway to X";TPX Send message
AD ,10000 After Y reaches 10000
MG "Halfway to Y";TPY Send message
AD ,,15000 After Z reaches 15000
MG "Halfway to Z";TPZ Send message
AD ,,,20000 After W reaches 20000
MG "Halfway to W";TPW Send message
EN End Program
DMC-100/1500 Command Reference AD • 7
Page 10
Hint: The AD command is accurate to the number of counts that occur in 2 msec. Multiply your
speed by 2 msec to obtain the maximum position error in counts. Remember AD measures
incremental distance from the start of a move on one axis.
8 • AD DMC-1000/1500 Command Reference
Page 11
AF
FUNCTION: Analog Feedback
DESCRIPTION::
The Analog Feedback (AF) command is used to set an axis with analog instead of digital
feedback (quadrature or
converter, an input voltage of 10 volts is decoded as a position of 2047 counts and a
voltage of -10 volts corresponds to a position of -2048 counts. An option is available for
16-bits where an input voltage of 10 volts is decoded as a position of 32,768 counts and a
voltage of -10volts corresponds to a position of -32,768 counts.
ARGUMENTS: AF x,y,z,w AFX=x AF a,b,c,d,e,f,g,h where
x,y,z,w are integers
1 = Enables analog feedback
0 = Disables analog feedback and switches to digital feedback
"?" returns a 0 or 1 which states whether analog feedback is enabled for the specified axes.
USAGE: DEFAULTS:
While Moving No Default Value 0,0,0,0
In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
pulse & dir). As the analog feedback is decoded by a 12-bit A/D
DMC-1500
OPERAND USAGE:
_AFx contains the value of acceleration for the specified axis.
RELATED COMMANDS:
MT Motor Type
CE Configure Encoder
EXAMPLES:
AF 1,0,0,1 Analog feedback on X and W axis
V1 = _AFX Assign feedback type to variable
AF ?,?,? Interrogate feedback type
Note: AF on the 8th axis of DMC-1580 requires special modification from the factory. Consult Galil.
DMC-100/1500 Command Reference AF • 9
Page 12
AI
FUNCTION: After Input
DESCRIPTION:
The AI command is used in motion programs to wait until the specified input has occurred. If
n is positive, it waits for the input to go high. If n is negative, it waits for n to go low.
ARGUMENTS: AI +/-n where
n is an integer in the range 1 to 8 decimal
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
@IN[n] Function to read input 1 through 8
II Input interrupt
#ININT Label for input interrupt
DMC-1000DMC-1500
EXAMPLES:
#A Begin Program
AI 8 Wait until input 8 is high
SP 10000 Speed is 10000 counts/sec
AC 20000 Acceleration is 20000 counts/sec2
PR 400 Specify position
BG X Begin motion
EN End Program
Hint: The AI command actually halts execution of the next line in a program until the specified input
is at the desired logic level. Use the conditional Jump command (JP) or input interrupt (II) if you do
not want the program sequence to halt.
10 • AI DMC-1000/1500 Command Reference
Page 13
AL
FUNCTION: Arm Latch
DESCRIPTION:
The AL command enables the latching function 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: Input 1 (X
or A axis), Input 2 (Y or B axis), Input 3 (Z or C axis), Input 4 (W or D axis), Input 5 (E
axis), Input 6 (F axis), Input 7 (G axis). 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 will change
the polarity of the latch.
ARGUMENTS: AL XYZW where
X,Y,Z,W specifies the X,Y,Z,W axes.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated No
Used as an Operand Yes
DMC-1000DMC-1500
OPERAND USAGE:
_ALx contains the state of the specified latch. 0 = not armed, 1 = armed.
RELATED COMMANDS:
RL Report Latch
EXAMPLES:
#START Start program
ALY Arm Y-axis latch
JG,50000 Set up jog at 50000 counts/sec
BGY Begin the move
#LOOP Loop until latch has occurred
JP #LOOP,_ALY=1
RLY Transmit the latched position
EN End of program
DMC-100/1500 Command Reference AL • 11
Page 14
DMC-1000DMC-1500
AM
FUNCTION: After Move
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 XY waits for motion on both the X and Y axis to
be complete. AM with no parameter specifies that motion on all axes be complete.
ARGUMENTS: AM XYZWS or AM SX SY SZ SW or ( AL ABCDEFGH or AL
SASBSCSDSESFSGSH) where
X,Y,Z,W,S specifies X,Y,Z, or W axis, or sequence. No argument specifies that motion on
all axes is complete.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
BG _BGx contains a 0 if motion complete
EXAMPLES:
#MOVE Program MOVE
PR 5000,5000,5000,5000 Position relative moves
BG X Start the X-axis
AM X After the move is complete on X,
BG Y Start the Y-axis
AM Y After the move is complete on Y,
BG Z Start the Z-axis
AM Z After the move is complete on Z
BG W Start the W-axis
AM W After the move is complete on W
EN End of Program
Hint: AM is a very important command for controlling the timing between multiple move sequences.
For example, if the X-axis is in the middle of a position relative move (PR) you cannot make a position
absolute move (PAX, BGX) until the first move is complete. Use AMX to halt the program sequences
until the first motion is complete. AM tests for profile completion. Th e actual motor may still be
moving. Another method for testing motion complete is to check for the internal variable, _BGx, being
equal to zero (see “BG”command).
12 • AM DMC-1000/1500 Command Reference
Page 15
DMC-1000DMC-1500
AP
FUNCTION: After Absolute Position
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.
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.
The motion profiler must be on or the trippoint will automatically be satisfied
ARGUMENTS: APx or AP,y or AP,,z or AP,,,w APX=x AP abcdefgh where
x,y,z,w are signed integers in the range -2147483648 to 2147483647 decimal
USAGE: DEFAULTS:
While Moving Yes Default Value --In a Program Yes Default Format --Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
AD 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 X Begin move
AP 2000 After passing the position 2000
V1=_TPX Assign V1 X 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 msec. Multiply the
speed by 2 msec to obtain the maximum error. AP tests for absolute position. Use the AD command
to measure incremental distances.
DMC-100/1500 Command Reference AP • 13
Page 16
DMC-1000DMC-1500
AR
FUNCTION: After Relative Distance
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.
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.
The motion profiler must be on or the trippoint will automatically be satisfied.
Note: AR will be affected when the motion smoothing time constant, IT, is not 1. See IT
command for further information.
ARGUMENTS: ARx or AR,y or AR,,z or AR,,,w ARX=X AR abcdefgh where
x,y,z,w are unsigned integers in the range 0 to 2147483647 decimal.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
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 XW Begin motion
#B Label
AR 25000 After passing 25000 counts of relative distance on X-axis
MG "Passed_X";TPX Send message on X-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.
14 • AR DMC-1000/1500 Command Reference
Page 17
DMC-1000DMC-1500
AS
FUNCTION: At Speed
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 followin g command until
the speed is reached. The AS command will operate after either accelerating or
decelerating. If the speed is not reached, the trippoint will be triggered after the motion
is stopped (after deceleration).
ARGUMENTS: AS X or AS Y or AS Z or AS W or AS S AS ABCDEFGH where
XYZWS specifies X,Y,Z,W axis or sequence
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
EXAMPLES:
#SPEED Program A
PR 100000 Specify position
SP 10000 Specify speed
BG X Begin X
ASX 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. AS used with
S-curve profiling will be inaccurate.
DMC-100/1500 Command Reference AS • 15
Page 18
AT
FUNCTION: At Time
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 integer in the range 0 to 2 Billion
n = 0 defines a reference time at current time
positive n waits n msec from reference
negative n waits n msec from reference and sets new reference after elapsed time period
(AT -n is equivalent to AT n; AT <old reference + n>
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
DMC-1000DMC-1500
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)
16 • AT DMC-1000/1500 Command Reference
Page 19
DMC-1000DMC-1500
AV
FUNCTION: After Vector Distance
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 n where
n is an unsigned integer in the range 0 to 2147483647 decimal
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_AV contains the vector distance from the start of the sequence. _AV is valid in the linear
mode, LM and in the vector mode, VM.
EXAMPLES:
#MOVE;DP 0,0 Label
LMXY Linear move for X,Y
LI 1000,2000 Specify distance
LI 2000,3000 Specify distance
LE
BGS Begin
AV 500 After path distance = 500,
MG "Path>500";TPXY Print Message
EN 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.
DMC-100/1500 Command Reference AV • 17
Page 20
DMC-1000DMC-1500
BG
FUNCTION: Begin
DESCRIPTION:
The BG command starts a motion on the specified axis or sequence.
ARGUMENTS: BG XYZWS BG ABCDEFGH where XYZW are X,Y,Z,W axes and S is coordinated sequence
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_BGx contains a ‘0’ if motion complete on the specified axis, otherwise contains a ‘1’.
RELATED COMMANDS:
AM After motion complete
ST Stop motion
EXAMPLES:
PR 2000,3000,,5000 Set up for a relative move
BG XYW Start the X,Y and W motors moving
HM Set up for the homing
BGX Start only the X-axis moving
JG 1000,4000 Set up for jog
BGY Start only the Y-axis moving
YSTATE=_BGY Assign a 1 to YSTATE if the Y-axis is performing a move
VP 1000,2000 Specify vector position
VS 20000 Specify vector velocity
BGS Begin coordinated sequence
VMXY Vector Mode
VP 4000,-1000 Specify vector position
VE Vector End
PR ,,8000,5000 Specify Z and W position
BGSZW Begin sequence and Z,W motion
MG _BGS Displays a 1 if coordinated sequence move is running
Hint: You cannot give another BG command until current BG motion has been completed. Use the
AM trippoint to wait for motion complete between moves. Another method for checking motion
complete is to test for _BGx being equal to 0.
18 • BG DMC-1000/1500 Command Reference
Page 21
DMC-1000DMC-1500
BL
FUNCTION: Reverse Software Limit
DESCRIPTION:
The BL command sets the reverse software limit. If this limit is exceeding during motion,
motion on that axis will decelerate to a stop. Reverse motion beyond this limit is not
permitted. The reverse limit is activated at X-1, Y-1, Z-1, W-1. To disable the reverse
limit, set X,Y,Z,W to -2147483648. The units are in quadrature counts.
When the reverse software limit is activated, the automatic subroutine #LIMSWI will b e
executed if it is included in the program and a program is executing. See User's Manual,
Automatic Subroutine.
ARGUMENTS: BL x,y,z,w BLX=x BL a,b,c,d,e,f,g,h where
x,y,z,w are signed integers in the range -2147483648 to 2147483647.
-214783648 turns off the reverse limit.
"?" returns the reverse software limit for the specified axes.
USAGE: DEFAULTS:
While Moving Yes Default Value -214783648
In a Program Yes Default Format Position format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_BLx contains the value of the reverse software limit for the specified axis.
RELATED COMMANDS:
FL Forward Limit
PF Position Formatting
EXAMPLES:
#TEST Test Program
AC 1000000 Acceleration Rate
DC 1000000 Deceleration Rate
BL -15000 Set Reverse Limit
JG -5000 Jog Reverse
BGX Begin Motion
AMX After Motion (limit occurred)
TPX Tell Position
EN End Program
Hint: Galil Controllers also provide hardware limits.
DMC-100/1500 Command Reference BL • 19
Page 22
DMC-1000DMC-1500
BN
FUNCTION: Burn
DESCRIPTION:
The BN command saves the 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 FL SB
BL GA SP
CB GR TL
CE IL TM
CN KD (ZR converted to KD) TR
CO KI VA
CW KP (GN converted to KP) VD
DV MO (MOTOR OFF or ON) VF
DC MT VS
EO OE VT
PL OP
ER PF
ARGUMENTS: None
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_BN contains the serial number of the controller.
EXAMPLES:
KD 100 Set damping term for X axis
KP 10 Set proportional gain term for X axis
KI 1 Set integral gain term for X axis
AC 200000 Set acceleration
DC 150000 Set deceleration rate
SP 10000 Set speed
MT -1 Set motor type for X axis to be ty pe ‘-1’, reversed polarity servo motor
MO Turn motor off
BN Burn parameters; may take up to 15 seconds
20 • BN DMC-1000/1500 Command Reference
Page 23
DMC-1500
BP
FUNCTION: Burn Program
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
USAGE: DEFAULTS:
While Moving No Default Value --In a Program No
Not in a Program Yes
Can be Interrogated No
Used in an Operand No
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 1 sec. The timeout can be
changed in the Galil software but this warning does not affect the operation of the controller or
software.
DMC-100/1500 Command Reference BP • 21
Page 24
BV
FUNCTION: Burn Variables
DESCRIPTION::
The BV command saves the controller variables 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
USAGE: DEFAULTS:
DMC-1500
While Moving No Default Value --In a Program Yes
Not in a Program Yes
Can be Interrogated No
Used in an Operand No
RELATED COMMANDS:
BN Burn Parameters
BP Burn Program
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 1 sec. The timeout can be
changed in the Galil software but this warning does not affect the operation of the controller or
software.
Note: -4MF will save arrays variables.
22 • BV DMC-1000/1500 Command Reference
Page 25
CB
FUNCTION: Clear Bit
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 the output bit to be cleared. The first output bit is specified
as 1.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
SB Set Bit
OP Define output port (bytewise).
DMC-1000DMC-1500
EXAMPLES:
CB 7 Clear output bit 7
CB 16 Clear output bit 16 (8 axis controllers only)
DMC-100/1500 Command Reference CB • 23
Page 26
DMC-1500
CC
FUNCTION: Configure Communications Port 2
DESCRIPTION:
The CC command configures baud rate, handshake, mode, and echo for the AUX SERIAL
PORT, referred to as Port 2. This command must be given before using the MG, IN, or
CI commands with Port 2.
ARGUMENTS: CC m,n,r,p
m - Baud rate 300,1200,4800,9600,19200, or 38400
n - Handshake 0 for handshake off, 1 for handshake on
r - Mode 0 for daisy chain off and operator data entry mode; 0, 1 for daisy chain on
p - Echo 0 for echo off, 1 for echo on
Note: echo only active when daisy chain feature is off
USAGE: DEFAULTS:
While Moving Yes Default Value 0,0,0
In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
CI Set Bit
EXAMPLES:
CC 9600,0,0,1 9600 baud, no handshake, daisy chain off, echo on.
Typical setting with TERM-1500.
CC 19200,1,1,0 19,200 baud, handshake on, daisy chain on, echo off.
Typical setting in daisy chain mode.
24 • CC DMC-1000/1500 Command Reference
Page 27
DMC-1000DMC-1500
CD
FUNCTION: Contour Data
DESCRIPTION:
The CD command specifies the incremental position on X,Y,Z and W axes. The units of the
command are in quadrature counts. This command is used only in the Contour Mode
(CM).
ARGUMENTS: CD x,y,z,w CDX=x CD a,b,c,d,e,f,g,h where x,y,z,w are integers in the range of +/-32762
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
CM Contour Mode
WC Wait for Contour
DT Time Increment
CS _CS is the Segment Counter
EXAMPLES:
CM XYZW Specify Contour Mode
DT 4 Specify time increment for contour
CD 200,350,-150,500 Specify incremental positions on X,Y,Z and W axes X-axis moves 200
WC Wait for complete
CD 100,200,300,400 New position data
WC Wait for complete
DT0 Stop Contour
CD 0,0,0,0 Exit Mode
The CE command configures the encoder to the quadrature type or the pulse and direction
type. It also allows inverting the polarity of the encoders. The configuration applies
independently to the four main axes encoders and the four auxiliary enco ders.
ARGUMENTS: CE x,y,z,w CEX=x CE a,b,c,d,e,f,g,h where
x,y,z,w are integers in the range of 0 to 15. Each integer is the sum of two integers n and m
which configure the main and the auxiliary encoders. The values of m and n are
M = MAIN ENCODER TYPE N = AUXILIARY ENCODER TYPE
0 Normal quadrature 0 Normal quadrature
1 Normal pulse and direction 4 Normal pulse and direction
2 Reversed quadrature 8 Reversed quadrature
3 Reversed pulse and direction 12 Reversed pulse and direction
For example: x = 10 implies m = 2 and n = 8, both encoders are reversed quadrature.
"?" returns the value of the encoder configuration for the specified axes.
USAGE: DEFAULTS:
While Moving Yes Default Value O
In a Program Yes Default Format 2.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_CEx contains the value of encoder type for the axis specified by ‘x’.
RELATED COMMANDS:
MT Specify motor type
EXAMPLES:
CE 0, 3, 6, 2 Configure encoders
CE ?,?,?,? Interrogate configuration
V = _CEX 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.
26 • CE DMC-1000/1500 Command Reference
Page 29
DMC-1500
CI
FUNCTION: Communication Interrupt
DESCRIPTION:
The CI command configures a program interrupt based on characters received on either Port
1, the MAIN serial port, or Port 2, the AUX serial port. An interrupt causes program
flow to jump to the #COMINT subroutine label. If multiple program threads are used,
the #COMINT subroutine runs in thread 0 and threads 1, 2, and 3 continue to run in the
background without interruption. The characters received on the serial port are stored in
internal variables such as P2CH. See chapter 7 for more detailed information on the
communications interrupt.
ARGUMENTS: CI m,n,o
PARAMETER EXPLANATION
m = 0 Do not interrupt Port 1
m = 1 Interrupt on carriage return character on Port 1
m = 2 Interrupt on any character Port 1
m = -1 Clear interrupt data buffer
n = 0 Do not interrupt Port 2
n = 1 Interrupt on carriage return character on Port 2
n = 2 Interrupt on any character Port 2
n = -1 Clear interrupt data buffer
o = 0 Disable live data mode for Port 1
o = 1 Enable live data mode for Port 1
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line No
Can be Interrogated No
Used as an Operand No
EXAMPLES:
CI 0,1,0 Interrupt on <enter> received on Port 2
CI 0,2,0 Interrupt on a single character received on Port 2
CI 1,2,1 Interrupt on <enter> received on Port 1, interrupt on any character
Note: The third field of the CI command enables or disables live data mode on Port 1. If live data
mode is enabled, then the controller will not respond to commands sent to the main serial port. This
setting is necessary to use the communications interrupt on the main serial port.
DMC-100/1500 Command Reference CI • 27
received on Port 2
Page 30
CM
FUNCTION: Contouring Mode
DESCRIPTION:
The Contour Mode is initiated by the instruction CM. This mode allows th e generation of an
arbitrary motion trajectory with any of the axes. The CD command specified the position
increment, and the DT command specifies the time interval.
The command, CM?, can be used to check the status of the Contour Buffer. A value of 1
returned from the command CM? indicates that the Contour Buffer is full. A value of 0
indicates that the Contour Buffer is empty.
ARGUMENTS: CM XYZW CM ABCDEFGH where
the argument specifies the axes to be affected.
CM? returns a 1 if the contour buffer is full and 0 if the contour buffer is empty.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 2.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
DMC-1000DMC-1500
OPERAND USAGE:
_CM contains a ‘0’ if the contour buffer is empty, otherwise contains a ‘1’.
RELATED COMMANDS:
CD Contour Data
WC Wait for Contour
DT Time Increment
EXAMPLES:
V=_CM;V= Return contour buffer status
CM? Return contour buffer status
CM XZ Specify X,Z axes for Contour Mode
28 • CM DMC-1000/1500 Command Reference
Page 31
CN
j
FUNCTION: Configure
DESCRIPTION:
The CN command configures the polarity of the limit switches, the home switch and the latch
input.
ARGUMENTS: CN m,n,o where
m,n,o are integers with values 1 or -1.
m = 1 Limit switches active high
-1 Limit switches active low
n = 1 Home switch configured to drive motor in
-1 Home switch configured to drive motor in
DMC-1000DMC-1500
forward direction when input is high. See
HM and FE commands.
reverse direction when input is high. See
HM and FE commands
o = 1 * Latch input is active high
-1 Latch input is active low
*
Note: The latch function will occur within 25usec only when used in active low mode.
USAGE: DEFAULTS:
While Moving Yes Default Value -1.-1.-1.
In a Program Yes Default Format 2.0
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
AL Arm latch
EXAMPLES:
CN 1,1 Sets limit and home switches to active high
CN,, -1 Sets input latch active low
Hint: To use step motors, connect the 20-pin connector on the DMC-1000 and install the SM
umpers.
DMC-100/1500 Command Reference CN • 29
Page 32
DMC-1000DMC-1500
CO
FUNCTION: Configure Outputs
DESCRIPTION:
The CO command configures the extended I/O on the DB-10072 of the DMC-1000 series
controller, the DB-15072 of the DMC-1500 series controller.
For the DMC-1000: The first 48 I/O points of the DB-10072 expansion board can be
configured in blocks of 8. The extended I/O of the DB-10072 are denoted as bits 9-80
and blocks 1-9. The configurable I/O are bits 9-56 which denote blocks 1-6.
For the DMC-1500: The first 24 I/O points of the DB-15072 expansion board can be
configured in blocks of 8. The extended I/O of the DB-15072 are denoted as bits 25-96
and blocks 3-11. The configurable I/O are bits 25-48 which denote blocks 3-5.
ARGUMENTS: COn where
n is a decimal value which represents a binary number. Each bit of the binary number
represents one block of extended I/O. When set to 1, the corresponding block is
configured as an output.
For the DMC-1000: The least significant bit represents block 1 and the most significant bit
represents block 6. The decimal value can be calculated by the following formula. n =
+ 2*n2 + 4*n3 +8* n4 +16* n5 + 32 n6 where nx represents the block. If the nx value is
n
1
a one, then the block of 8 I/O points is to be configured as an output. If the n
zero, then the block of 8 I/O points will be configured as an input. For example, if
blocks 0,1,2,and 4 are to be configured as outputs, CO 23 is issued.
value is a
x
For the DMC-1500: The least significant bit represents block 5 and the most significant bit
represents block 3. The decimal value can be calculated by the following formula. n =
+ 2*n4 + n5 where nx represents the block. If the nx value is a one, then the block of
4*n
3
8 I/O points is to be configured as an output. If the n
value is a zero, then the block of 8
x
I/O points will be configured as an input. For example, if block 5 is to be configured as
an output, CO 1 is issued.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
CB Clear Output Bit
SB Set Output Bit
OP Set Output Port
TI Tell Inputs
EXAMPLES:
CO 0 Configure all points as inputs
CO 2 Configures I/O points 17-24 as outputs on DB-10072
Hint: See appendix for more information on the extended I/O boards.
30 • CO DMC-1000/1500 Command Reference
Page 33
CR
FUNCTION: Circle
DESCRIPTION:
The CR command specifies a 2-dimensional arc segment of radius, r, starting at angle, θ, and
traversing over angle Δθ. A positive Δθ denotes counterclockwise traverse, negative Δθ
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, θ, Δθ, must be
specified. Radius units are in quadrature counts. θ and Δθ have units of degrees. The
parameter n is optional and describes the vector speed that is attached to the motion
segment.
ARGUMENTS: CR r,θ,Δθ < n > o where
r is an unsigned real number in the range 10 to 6000000 decimal (radius)
θ a signed number in the range 0 to +/-32000 decimal (starting angle in degrees)
Δθ 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 8,000,000 for servo motor operation and
between 0 and 2,000,000 for stepper motors.
DMC-1000DMC-1500
o is not valid for DMC-1000 and DMC-1500 controllers.
Note: The product r * Δθ must be limited to +/-4.5 108
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
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:
VMXY Specify vector motion in the X and Y 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.
DMC-100/1500 Command Reference CR • 31
Page 34
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
32 • CR DMC-1000/1500 Command Reference
Page 35
DMC-1000DMC-1500
CS
FUNCTION: Clear Sequence
DESCRIPTION:
The CS command will remove VP, CR or LI commands stored in a motion sequence. Note,
after a sequence has been run, 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.
Note: This command is not valid for single axis controllers..
ARGUMENTS: None
USAGE: DEFAULTS:
While Moving No Default Value --In a Program Yes Default Format --Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
When used as an operand, _CS contains the number of the segment in the sequence, starting
at zero. The operand _CS is valid in the Linear mode, LM, Vector mode, VM, and
contour mode, CM.
RELATED COMMANDS:
CR Circular Interpolation Segment
LI Linear Interpolation Segment
LM Linear Interpolation Mode
VM Vector Mode
VP Vector Position
EXAMPLES:
#CLEAR Label
VP 1000,2000 Vector position
VP 4000,8000 Vector position
CS Clear vectors
VP 1000,5000 New vector
VP 8000,9000 New vector
VE End Sequence
BGS Begin sequence
EN End of Program
DMC-100/1500 Command Reference CS • 33
Page 36
DMC-1000DMC-1500
CW
FUNCTION: Copyright information / Data Adjustment bit on/off
DESCRIPTION:
The CW command has a dual usage. The CW command will return the copyright
information when the argument, n is 0. Otherwise, the CW command is used as a
communications enhancement for use by the Servo Design Kit software. When turned
on, the communication enhancement sets the MSB of unsolicited, returned ASCII
characters to 1. Unsolicited ASCII characters are those characters which are returned
from the controller without being directly queried from the terminal. This is the case
when a program has a command that requires the controller to return a value or string.
ARGUMENTS: CW n,m where
n is a number, either 0,1, 2 or ?:
0 causes the controller to return the copyright information
1 causes the controller to set the MSB of unsolicited returned characters
to 1
2 causes the controller to not set the MSB of unsolicited characters.
? returns the copyright information for the controller.
m is 0 or 1 (optional)
0 causes the controller to pause program execution when output FIFO is
full until FIFO no longer full.
1 causes the controller to continue program execution when output FIFO
is full - output characters after FIFO is full will be lost.
USAGE: DEFAULTS:
While Moving Yes Default Value 2, 0
In a Program Yes Default Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_CW contains the value of the data adjustment bit. 2 = off, 1 = on
Note: The CW command can cause garbled characters to be returned by the controller. The default
state of the controller is to disable the CW command, however, the Galil Servo Design Kit software
and terminal software may sometimes enable the CW command for internal usage. If the controller is
reset while the Galil software is running, the CW command could be reset to the default value which
would create difficulty for the software. It may be necessary to re-enable the CW command. The CW
command status can be stored in EEPROM.
34 • CW DMC-1000/1500 Command Reference
Page 37
DMC-1000DMC-1500
DA
FUNCTION: Deallocate the Variables & Arrays
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 deallocation of memories. 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[0],variable-name where
c[0] = Defined array name
variable-name = Defined variable name
* - Deallocates all the variables
*[0] - Deallocates all the arrays
DA ? returns the number of arrays available on the controller.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_DA contains the total number of arrays available. For example, before any arrays have been
defined. If an array is defined, the operand _DA will return 13.
EXAMPLES: ‘Cars’ and ‘Sales’ are arrays and ‘Total’ is a variable.
DM Cars[400],Sales[50] Dimension 2 arrays
Total=70 Assign 70 to the variable Total
DA Cars[0],Sales[0],Total Deallocate the 2 array s & variables
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 2 ms.
DMC-100/1500 Command Reference DA • 35
Page 38
DMC-1000DMC-1500
DC
FUNCTION: Deceleration
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 x,y,z,w DCX=x DC a,b,c,d,e,f,g,h where x,y,z,w are unsigned numbers in the range 1024 to 67107840
"?" returns the deceleration value for the specified axes.
USAGE: DEFAULTS:
While Moving Yes* Default Value 256000
In a Program Yes Default Format 8.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
*
When moving, the DC command can only be specified while in the jog mode.
OPERAND USAGE:
_DCx contains the deceleration rate for the specified axis.
RELATED COMMANDS:
AC Acceleration
PR Position Relative
PA Position Absolute
SP Speed
JG Jog
BG Begin
IT Smoothing
EXAMPLES:
PR 10000 Specify position
AC 2000000 Specify acceleration rate
DC 1000000 Specify deceleration rate
SP 5000 Specify slew speed
BG Begin motion
Note: The DC command may be changed during the move in JG move, but not in PR or PA move.
36 • DC DMC-1000/1500 Command Reference
Page 39
DE
FUNCTION: Dual (Auxiliary) Encoder Position
DESCRIPTION:
The DE x,y,z,w command defines the position of the auxiliary encoders. The auxiliary
encoders may be used for dual-loop applications.
DMC-1000DMC-1500
The DE command defines the encoder position when used with stepper motors. DE
? returns the commanded reference position of the motor in step pulses. 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.)
Note: The auxiliary encoders are not available for the stepper axis or for the axis where
output compare is active.
ARGUMENTS: DE x,y,z,w DEX=x DE a,b,c,d,e,f,g,h where
x,y,z,w are signed integers in the range -2147483647 to 2147483648 decimal
"?" returns the position of the auxiliary encoders for the specified axes.
USAGE: EFAULTS:
While Moving Yes Default Value 0,0,0,0
In a Program Yes Default Format Position Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_DEx contains the current position of the specified auxiliary encod er.
RELATED COMMANDS:
PF Position Formatting
EXAMPLES:
DE 0,100,200,400 Set the current auxiliary encoder position to 0,100,200,400 on X,Y,Z and
DE?,?,?,? Return auxiliary encoder positions
DUALX=_DEX Assign auxiliary encoder position of X-axis to the variable DUALX
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.
DMC-100/1500 Command Reference DE • 37
W axes
Page 40
DMC-1000DMC-1500
DL
FUNCTION: Download
DESCRIPTION:
The DL command transfers a data file from the host computer to the controller. Instructions
in the file will be accepted as a datastream without line numbers. The file is terminated
using <control> Z, <control> Q, <control> D, or \. DO NOT insert spaces before each
command.
If no parameter is specified, downloading a data file will clear all programs in the controllers
RAM. The data is entered beginning at line 0. If there are too many lines or too many
characters per line, the controller will return a ?. To download a program after a label,
specify the label name following DL. The argument # may be used with DL to append a
file at the end of the program in RAM.
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.
USAGE: DEFAULTS:
While Moving Yes Default Value --In a Program No Default Format --Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
When used as an operand, _DL gives the number of available labels.
DL; Begin download
#A;PR 4000;BGX Data
AMX;MG DONE Data
EN Data
<control> Z End download
38 • DL DMC-1000/1500 Command Reference
Page 41
DMC-1000DMC-1500
DM
FUNCTION: Dimension
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 name of up to eight characters, starting with an uppercase alphabetic character. n
specifies the size of the array (number of array elements).
DM ? returns the number of array elements available.
USAGE: DEFAULTS:
While Moving Yes Default Value --In a Program Yes Default Format --Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_DM contains the available array space. For example, before any arrays have been defined,
the operand _DM will return 8000. If an array of 100 elements is defined, the operand
_DM will return 7900.
CONTROLLER AMT. OF AVAILABLE ARRAY SPACE
DMC-1500 8000 elements
DMC-1010 thru DMC-1040 1600 elements
DMC-1050 thru DMC-1080 8000 elements
DMC-1010-MX thru DMC-1040-MX 8000 elements
RELATED COMMANDS:
DA Deallocate Array
EXAMPLES:
DM Pets[5],Dogs[2],Cats[3] Define dimension of arrays, pets with 5 elements; Dogs with 2
DM Tests[1600] Define dimension of array Tests with 1600 elements
elements; Cats with 3 elements
DMC-100/1500 Command Reference DM • 39
Page 42
DP
FUNCTION: Define Position
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.
DMC-1000DMC-1500
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 DE value to zero,
but will not effect the TP value.
ARGUMENTS: DP x,y,z,w DPX=x DP a,b,c,d,e,f,g,h where
x,y,z,w are signed integers in the range -2147483648 to 2147483647 decimal.
"?" returns the current position of the motor for the specified axes.
USAGE: DEFAULTS:
While Moving No Default Value 0,0,0,0
In a Program Yes Default Format Position Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_DPx contains the current position of the specified axis.
RELATED COMMANDS:
PF Position Formatting
EXAMPLES:
DP 0,100,200,400 Sets the current position of the X-axis to 0, the Y-axis to
100, the Z-axis to 200, and the W-axis to 400
DP ,-50000 Sets the current position of Y-axis to -50000. The Y,Z
and W axes remain unchanged.
DP ?,?,?,? Interrogate the position of X,Y,Z and W axis.
0000000,-0050000,0000200,0000400 Returns all the motor positions
DP ? Interrogate the position of X axis
0000000 Returns the X-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.
40 • DP DMC-1000/1500 Command Reference
Page 43
DT
FUNCTION: Delta Time
DESCRIPTION:
The DT command sets the time interval for Contouring Mode. Sending the DT command
once will set the time interval for all following contour data until a new DT command is
sent. 2n milliseconds is the time interval. Sending DT0 followed by CD0 command
terminates the Contour Mode.
ARGUMENTS: DT n where
n is an integer in the range 0 to 8. 0 terminates the Contour Mode. n=1 thru 8 specifies the
time interval of 2n samples.
The default time interval is n=1 or 2 msec for a sample period of 1 msec.
DT ? returns the value for the time interval for contour mode.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
DMC-1000DMC-1500
OPERAND USAGE:
_DT contains the value for the time interval for Contour Mode
RELATED COMMANDS:
CM Contour Mode
CD Contour Data
WC Wait for next data
EXAMPLES:
DT 4 Specifies time interval to be 16 msec
DT 7 Specifies time interval to be 128 msec
#CONTOUR Begin
CMXY Enter Contour Mode
DT 4 Set time interval
CD 1000,2000 Specify data
WC Wait for contour
CD 2000,4000 New data
WC Wait
DT0 Stop contour
CD0 Exit Contour Mode
EN End
DMC-100/1500 Command Reference DT • 41
Page 44
DV
FUNCTION: Dual Velocity (Dual Loop)
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.
ARGUMENTS: DV x,y,z,w where
x,y,z,w may be 0 or 1. 0 disables the function. 1 enables the dual loop.
"?" returns a 0 if dual velocity mode is disabled and 1 if enabled for the specified axes.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
DMC-1000DMC-1500
_DVx contains the state of dual velocity mode for specified axis. 0 = disabled, 1 = enabled.
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 X axis
DV,,11 Enables dual loop on Z axis and WX axis. Other axes remain unchanged.
DV 1,0,1,0 Enables dual loop on X and Z axis. Disables dual loop on Y and W axis.
Hint: The DV command is useful in backlash and resonance compensation.
42 • DV DMC-1000/1500 Command Reference
Page 45
DMC-1000DMC-1500
EA
FUNCTION: Choose ECAM master
DESCRIPTION:
The EA command selects the master axis for the electronic cam mode. Any axis may be
chosen.
ARGUMENTS: EA p where
p is XYZW or EFGH
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
EB Enable ECAM
EG Engage ECAM
EP Specify ECAM table intervals & staring point
EQ Disengage ECAM
ET ECAM table
EXAMPLES:
EAY Select Y as a master for ECAM
DMC-100/1500 Command Reference EA • 43
Page 46
DMC-1000DMC-1500
EB
FUNCTION: Enable ECAM
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 where
n = 1 starts cam mode and n = 0 stops cam mode.
EB ? returns the a 0 if ecam disabled and a 1 if enabled.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_EB contains the state of Ecam mode. 0 = disabled, 1 = enabled
RELATED COMMANDS:
EA Choose ECAM master
EG Engage ECAM
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
44 • EB DMC-1000/1500 Command Reference
Page 47
DMC-1000DMC-1500
ED
FUNCTION: Edit
DESCRIPTION:
Using Galil DOS Terminal 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
Using Galil Windows Terminal Software: The ED command causes the Windows terminal
software to open the terminal editor.
USAGE:
Used as an Operand Yes
OPERAND USAGE:
_ED contains the line number of the last line to have an error.
EXAMPLES:
ED
000 #START
001 PR 2000
002 BGX
003 SLKJ Bad line
004 EN
005 #CMDERR Routine which occurs upon a command error
006 V=_ED
007 MG "An error has occurred" {n}
008 MG "In line", V{F3.0}
009 ST
010 ZS0
011 EN
Hint: Remember to quit the Edit Mode prior to executing or listing a program.
DMC-100/1500 Command Reference ED • 45
Page 48
DMC-1000DMC-1500
EG
FUNCTION: ECAM go (engage)
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 x,y,z,w EGX=x EG a,b,c,d,e,f,g,h where
x,y,z,w and a,b,c,d,e,f,g,h are the master positions at which the X,Y,Z,W axis must be
engaged.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_EGx contains ecam status for specified axis. 0 = axis is not engaged, 1 = axis is engaged.
RELATED COMMANDS:
EA Choose ECAM master
EB Enable ECAM
EP Specify ECAM table intervals & staring point
EQ Disengage ECAM
ET ECAM table
EXAMPLES:
EG 700,1300 Engages the X and Y axes at the master position 700 and 1300
respectively.
B = _EPY Return the status of Y 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.
46 • EG DMC-1000/1500 Command Reference
Page 49
EI
FUNCTION: Enable Interrupts
DESCRIPTION:
The EI command enables interrupt conditions such as motion complete or excess error. The
conditions are selected by the parameter m where m is the bit mask for the selected
conditions as shown below. Prior to using interrupts, interrupts must be configured for
your controller. An interrupt service routine must also be incorporated in your host
program.
ARGUMENTS: EI m,n where
EI 0 clears the interrupt queue
m is interrupt condition mask
n is input mask
BIT
NO
0 1 X motion complete 8 256 All axes motion
1 2 Y motion complete 9 512 Excess position error*
2 4 Z motion complete 10 1024 Limit switch
3 8 W motion complete 11 2048 Watchdog timer
4 16 E motion complete 12 4096 Reserved
5 32 F motion complete 13 8192 Application program
6 64 G motion complete 14 16384 Command done
7 128 H motion complete 15 32768 Inputs* (uses n for
m =
BIT NO
(2
CONDITION BIT
)
NO
DMC-1000
m =
BIT NO
(2
CONDITION
)
complete
stopped
mask)
The * conditions must be re-enabled after each occurrence.
While Moving Yes Default Value 0
In a Program Yes Default Format --Command Line Yes
Can be Interrogated No
Used as an Operand No
DMC-100/1500 Command Reference EI • 47
n=
(2
BIT NO
CONDITION BIT
)
NO
n=
(2
BIT NO
CONDITION
)
Page 50
RELATED COMMANDS:
UI User interrupt
EXAMPLES:
1. Specify interrupts for all axes motion complete and limit switch.
Enable bits 8 and 10. m = 28 + 210 = 256 + 1024 = 1280
EI 1280
2. Specify interrupt on Input 3.
Enable bit 15 on m and bit 2 on n.
m = 215 = 32768
n = 22 = 4
EI 32768,4
48 •DMC-1000/1500 Command Reference
Page 51
DMC-1000DMC-1500
EM
FUNCTION: Cam cycles
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 th e cycle, the change is zero. If the change is
negative, specify the absolute value.
ARGUMENTS: EM x,y,z,w EMX=x EM a,b,c,d,e,f,g,h where
the parameters are positive integers 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.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_EMx contains the cycle of the specified axis.
RELATED COMMANDS:
EA Choose ECAM master
EB Enable ECAM
EG Engage ECAM
EP Specify ECAM table intervals & staring point
EQ Disengage ECAM
ET ECAM table
EXAMPLES:
EAZ Select Z axis as master for ECAM.
EM 0,3000,2000 Define the changes in X and Y to be 0 and 3000 respectively. Define
V = _EMX Return cycle of X
master cycle as 2000.
DMC-100/1500 Command Reference EM • 49
Page 52
DMC-1000DMC-1500
EN
FUNCTION: End
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.
The EN command is used to end the automatic subroutines #MCTIME, #CMDERR, and
#COMINT. When the EN command is used to terminate the #COMINT communications
interrupt subroutine, there are two arguments; the first determines whether trippoints
will be restored upon completion of the subroutine and the second determines whether
the communication interrupt will be re-enabled.
ARGUMENTS: EN m, n where
m=0 Return from #COMINT without restoring trippoint
m=1 Return from subroutine and restore trippoint
n=0 Return from #COMINT without restoring interrupt
n=1 Return from communications interrupt #COMINT and restore interrupt
Note1: The default values for the arguments are 0. For example EN,1 and EN0,1 have the
same effect.
Note2: Trippoints cause a program to wait for a particular event. The AM command, for
example, waits for motion on all axes to complete. If the #COMINT subroutine is
executed due to a communication interrupt while the program is waiting for a trippoint,
the #COMINT can end by continuing to wait for the trippoint as if nothing happened, or
clear the trippoint and continue executing the program at the command just after the
trippoint. The EN arguments will specify how the #COMINT routine handles trippoints.
Note3: 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: DEFAULTS:
While Moving Yes Default Value n=0, m=0
In a Program Yes Default Format
Command Line No
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
RE Return from error subroutine
RI Return from interrupt subroutine
50 • EN DMC-1000/1500 Command Reference
Page 53
EXAMPLES:
#A Program A
PR 500 Move X axis forward 500 counts
BGX Pause the program until the X axis completes the motion
AMX Move X axis forward 1000 counts
PR 1000 Set another Position Relative move
BGX Begin motion
EN End of Program
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 (ININT) subroutine.
DMC-100/1500 Command Reference EN • 51
Page 54
DMC-1000DMC-1500
EO
FUNCTION: Echo
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 where n=0 or 1. 0 turns echo off, 1 turns echo on.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated No
Used as an Operand No
EXAMPLES:
EO 0 Turns echo off
EO 1 Turns echo on
52 • EO DMC-1000/1500 Command Reference
Page 55
EP
FUNCTION: Cam table master interval and phase sh ift
DESCRIPTION:
The EP command defines the ECAM table master interval and phase shift. The interval m is
the difference in master position between table entries. The phase shift n instantaneously
moves the graph of slave position versus master position left (negative) or right (pos itive)
and is used to make on-the-fly corrections to the slaves. Up to 257 points may be
specified.
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: DEFAULTS:
While Moving Yes Default Value 256,0
In a Program Yes Default Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes (m only)
DMC-1000DMC-1500
OPERAND USAGE:
_EP contains the value of the interval m.
RELATED COMMANDS:
EA Choose ECAM master
EB Enable ECAM
EG Engage ECAM
EQ Disengage ECAM
ET ECAM table
EXAMPLES:
EP 20 Sets the cam master points to 0,20,40 . . .
D = _EP Set the variable D equal to the ECAM interval master interval.
EP,1000 Phase shift all slaves by 100 master counts.
DMC-100/1500 Command Reference EP • 53
Page 56
DMC-1000DMC-1500
EQ
FUNCTION: ECAM quit (disengage)
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 x,y,z,w EQX=x EQ a,b,c,d,e,f,g,h where
x,y,z,w and a,b,c,d,e,f,g,h are the master positions at which the XYZW axes are to be
disengaged.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_EQx 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.
RELATED COMMANDS:
EA Choose ECAM master
EB Enable ECAM
EG Engage ECAM
EP Specify ECAM table intervals & staring point
ET ECAM table
EXAMPLES:
EQ 300,700 Disengages the X and Y 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.
54 • EQ DMC-1000/1500 Command Reference
Page 57
DMC-1000DMC-1500
ER
FUNCTION: Error Limit
DESCRIPTION:
The ER command sets the magnitude of the X,Y,Z and W-axis position errors that will trigger
an error condition. When the limit is exceeded, the Error output will go low (true). If the
Off On Error (OE1) command is active, the motors will be disabled. The units of ER are
quadrature counts.
ARGUMENTS: ER x,y,z,w ERX=x ER a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range 1 to 32767
"?" returns the value of the Error limit for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 16384
In a Program Yes Default Format Position Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_ERx contains the value of the Error limit for the specified axis.
ER 200,300,400,600 Set the X-axis error limit to 200, the Y-axis error limit to 300, the Z-axis
error limit to 400, and the W-axis error limit to 600.
ER ,1000 Sets the Y-axis error limit to 1000, leave the X-axis error limit unchanged.
ER ?,?,?,? Return X,Y,Z and W values
00200,00100,00400,006
00
ER ? Return X value
00200
V1=_ERX Assigns V1 value of ERX
V1= Returns V1
00200
Hint: The error limit specified by ER should be high enough as not to be reached during normal
operation. Examples of exceeding the error limit would be a mechanical jam, or a fault in a system
component such as encoder or amplifier.
DMC-100/1500 Command Reference ER • 55
Page 58
DMC-1000DMC-1500
ES
FUNCTION: Ellipse Scale
DESCRIPTION:
The ES command divides the resolution of one of the axes in a vector mode. This allows the
generation of an ellipse instead of a circle.
The command has two parameters, m and n, (ES m,n), and it applies to the axes designated by
the VM command (VMXY, for example). When m>n, the resolution of the first axis (X
in the example), will be divided by the ratio m/n. When m<n, the resolution of the
second axis (Y in the example), will be divided by n/m. The resolution change applies
for the purpose of generating the VP and CR commands. Note that this command results
in one axis moving a distance specified by the CR and VP commands while the other one
moves a larger distance.
ARGUMENTS: ES m,n where
m and n are positive integers in the range between 1 and 65,535.
USAGE: DEFAULTS:
While Moving Yes Default Value 1,1
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
VM Vector Mode
CR Circle move
VP Vector position
EXAMPLES:
VMXY;ES3,4 Divide Y resolution by 4/3
VMZX;ES2,3 Divide X resolution by 3/2
56 • ES DMC-1000/1500 Command Reference
Page 59
ET
FUNCTION: Electronic cam table
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 (n ∗ i) + o, where i is the interval and o is the offset as determined
by the EP command.
ARGUMENTS: ET [n] = x,y,z,w ET[n] = a,b,c,d,e,f,g,h where
n is an integer between 0 and 256.
x,y,z,w and a,b,c,d,e,f,g,h are integers in the range between -2,147,438,648, and
2,147,438,647.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
DMC-1000DMC-1500
RELATED COMMANDS:
EA Choose ECAM master
EB Enable ECAM
EG Engage ECAM
EP Specify ECAM table intervals & staring point
EQ Disengage ECAM
EXAMPLES:
ET[0]=0,,0 Specifies the position of the slave axes X and Z to be synchronized with
the starting point of the master.
ET[1]=1200,,400 Specifies the position of the slave axes X and Z 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 X and Z to be synchronized with
the starting point of the master.
ET 1200,,400 Specifies the position of the slave axes X and Z to be synchronized with
the second point of the master
DMC-100/1500 Command Reference ET • 57
Page 60
FA
FUNCTION: Acceleration Feedforward
DESCRIPTION:
The FA command sets the acceleration feedforward coefficient, or returns the previously set
value. 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.
Acceleration Feedforward Bias = FA ⋅ AC ⋅ 1.5 ⋅ 10-7
Deceleration Feedforward Bias = FA ⋅ DC ⋅ 1.5 ⋅ 10-7
The Feedforward Bias product is limited to 10 Volts. FA will only be operational during
independent moves.
ARGUMENTS: FA x,y,z,w where
x,y,z,w are unsigned numbers in the range 0 to 8191 decimal with a resolution of 0.25.
"?" returns the value of the feedforward acceleration coefficient for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 4.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
DMC-1000DMC-1500
OPERAND USAGE:
_FAx contains the value of the feedforward acceleration coefficient for the specified axis.
RELATED COMMANDS:
FV Velocity feedforward
EXAMPLES:
AC 500000,1000000 Set feedforward coefficient to 10 for the X-axis
FA 10,15 and 15 for the Y-axis. The effective bias will be 0.75V for X and 2.25V
for Y.
FA ?,? Return X and Y values
010,015
Note: If the feedforward coefficient is changed during a move, then the change will not take effect
until the next move.
58 • FA DMC-1000/1500 Command Reference
Page 61
FE
FUNCTION: Find Edge
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.
ARGUMENTS: FE XYZW FE ABCDEFGH where
X,Y,Z,W specify XYZ or W axis. No argument specifies all axes.
USAGE: DEFAULTS:
While Moving No Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
FI Find Index
HM Home
BG Begin
AC Acceleration Rate
DC Deceleration Rate
SP Speed for search
DMC-1000DMC-1500
EXAMPLES:
FE Set find edge mode
BG Begin all axes
FEX Only find edge on X
BGX
FEY Only find edge on Y
BGY
FEZW Find edge on Z and W
BGZW
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.
DMC-100/1500 Command Reference FE • 59
Page 62
DMC-1000DMC-1500
FI
FUNCTION: Find Index
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. When the transition is detected,
motion stops and the position is defined as zero. To improve accuracy, the speed during
the search should be specified as 500 counts/s or less. The FI command is useful in
custom homing sequences. The direction of motion is specified by the sign of the JG
command.
ARGUMENTS: FI XYZW Where X,Y,Z,W specify XYZ or W axis. No argument specifies all axes.
USAGE: DEFAULTS:
While Moving No Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
FE Find Edge
HM Home
BG Begin
AC Acceleration Rate
DC Deceleration Rate
SP Search Speed
EXAMPLES:
#HOME Home Routine
JG 500 Set speed and forward direction
FIX Find index
BGX Begin motion
AMX After motion
MG "FOUND INDEX"
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.
60 • FI DMC-1000/1500 Command Reference
Page 63
DMC-1000DMC-1500
FL
FUNCTION: Forward Software Limit
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 X+1, Y+1, Z+1, W+1. The forward
limit is disabled at 2147483647. The units are in counts.
When the reverse software limit is activated, the automatic subroutine #LIMSWI will b e
executed if it is included in the program and a program is executing. See User's Manual,
Automatic Subroutine.
ARGUMENTS: FL x,y,z,w FLX=x FL a,b,c,d,e,f,g,h where
x,y,z,w are signed integers in the range -2147483648 to 2147483647
2147483647 turns off the forward limit
"?" returns the value of the forward limit switch for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 2147483647
In a Program Yes Default Format Position Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_FLx contains the value of the forward limit switch for the specified axis.
RELATED COMMANDS:
BL Reverse Limit
PF Position Formatting
EXAMPLES:
FL 150000 Set forward limit to 150000 counts on the X-axis
#TEST Test Program
AC 1000000 Acceleration Rate
DC 1000000 Deceleration Rate
FL 15000 Forward Limit
JG 5000 Jog Forward
BGX Begin
AMX After Limit
TPX Tell Position
EN End
Hint: Galil controllers also provide hardware limits.
DMC-100/1500 Command Reference FL • 61
Page 64
DMC-1000DMC-1500
FV
FUNCTION: Velocity Feedforward
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 = 1.22 ⋅ 10
For example, if FV=10 and the velocity is 200,000 count/s, the velocity feedforward bias
equals 2.44 volts.
ARGUMENTS: FV x,y,z,w FVX=x FV a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range 0 to 8191 decimal
"?" returns the feedforward velocity for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 3.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
-6 ⋅
FV ⋅ Velocity [in ct/s].
OPERAND USAGE:
_FVx contains the feedforward velocity for the specified axis.
RELATED COMMANDS:
FA Acceleration feedforward
EXAMPLES:
FV 10,20 Set feedforward coefficients to 10 and 20 for x
JG 30000,80000 and y respectively. This produces 0.366 volts for x and 1.95 volts for y.
FV ?,? Return the x and y values.
010,020
62 • FV DMC-1000/1500 Command Referen ce
Page 65
DMC-1000DMC-1500
GA
FUNCTION: Master Axis for Gearing
DESCRIPTION:
The GA command specifies the master axis for electronic gearing. Only one master may be
specified. The master 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.
ARGUMENTS: GA n where
n = X or Y or Z or W or A,B,C,D,E,F,G,H for main encoder as axis master
n = CX or CY or CZ or CW or CA,CB,CC,CD,CE,CF,CG,CH for command position as
master axis
n = S for vector motion as master
n = DX or DY or DZ or DW or DA,DB,DC,DD,DE,DF,DG,DH for auxiliary encoder as
master
USAGE: DEFAULTS:
While Moving No Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
GR Gear Ratio
EXAMPLES :
#GEAR Gear program
GAX Specify X axis as master
GR ,.5,-2.5 Specify Y and Z ratios
JG 5000 Specify master jog speed
BGX Begin motion
WT 10000 Wait 10000 msec
STX Stop
Hint: Using the command position as the master axis is useful for gantry applications. Using the
vector motion as master is useful in generating Helical motion.
DMC-100/1500 Command Reference GA • 63
Page 66
DMC-1000DMC-1500
GN
FUNCTION: Gain
DESCRIPTION:
The GN command sets the gain of the control loop or returns the previously set value. It fits
in the z-transform control equation as follows:
D(z) = GN(z-ZR)/z
ARGUMENTS: GN x,y,z,w GNX=x GN a,b,c,d,e,f,g,h where
x,y,z,w are unsigned integers in the range 0 to 2047 decimal.
"?" returns the value of the gain for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 70
In a Program Yes Default Format 4
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_GNx contains the value of the gain for the specified axis, ‘x’.
RELATED COMMANDS:
ZR Zero
KI Integrator
KP Proportional
KD Derivative
EXAMPLES:
GN 12,14,15,20 Set X-axis gain to 12 Set Y-axis gain to 14 Set Z-axis gain to 15 Set W-
GN 6 Set X-axis gain to 6 Leave other gains unchanged
GN ,8 Set Y-axis gain to 8 Leave other gains unchanged
GN ?,?,?,? Returns X,Y,Z,W gains
0006,0008,0015,0020
GN ? Returns X gain
0006
GN ,? Returns Y gain
0008
axis gain to 20
64 • GN DMC-1000/1500 Command Reference
Page 67
DMC-1000DMC-1500
GR
FUNCTION: Gear Ratio
DESCRIPTION:
GR specifies the Gear Ratios for the geared axes in the electronic gearing mode. The master
axis is defined by the GAX or GAY or GAZ or GAW command. The gear ratio may be
different for each geared axis and range between +/-127.9999. The slave axis will be
geared to the actual position of the master. The master can go in both directions. GR
0,0,0,0 disables gearing for each axis. A limit switch also disables the gearing unless
gantry mode has been enabled.
ARGUMENTS: GR x,y,z,w GRX=x GR a,b,c,d,e,f,g,h where
x,y,z,w are signed numbers in the range +/-127, with a fractional resolution of .0001.
0 disables gearing
"?" returns the value of the gear ratio for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 3.4
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_GRx contains the value of the gear ratio for the specified axis.
EXAMPLES:
#GEAR
MOY Turn off servo to Y motor
GAY Specify master axis as Y
GR .25,,-5 Specify X and Z gear ratios
EN End program
Now when the Y motor is rotated by hand, the X will rotate at 1/4th the speed and Z will rotate 5 times
the speed in the opposite direction.
DMC-100/1500 Command Reference GR • 65
Page 68
HM
FUNCTION: Home
DESCRIPTION:
The HM command performs a three-stage homing sequence for servo systems and two stage
sequence for stepper motor operation.
DMC-1000DMC-1500
For servo motor operation:
The first stage consists of the motor moving 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.
The second stage consists of the motor changing directions and slowly approaching the
transition again. When the transition is detected, the motor is stopped instantaneously..
The third stage consists of the motor slowly moving forward until it detects an index pulse
from the encoder. It stops at this point and defines it as position 0.
For stepper mode operation, the sequence consists of the first two stages. The frequency of
the motion in stage 2 is 256 cts/ sec.
ARGUMENTS: None
USAGE: DEFAULTS:
While Moving No Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand Yes
OPERAND USAGE:
_HMx contains the state of the home switch for the specified axis
RELATED COMMANDS:
CN Configure Home
FI Find Index Only
FE Find Home Only
EXAMPLES:
HM Set Homing Mode for all axes
BG Home all axes
BGX Home only the X-axis
BGY Home only the Y-axis
BGZ Home only the Z-axis
BGW Home onl y the W-axis
Hint: You can create your own custom homing sequence by using the FE (Find Home Sensor only)
and FI (Find Index only) commands.
66 • HM DMC-1000/1500 Command Reference
Page 69
DMC-1000DMC-1500
HX
FUNCTION: Halt Execution
DESCRIPTION:
The HX command halts the execution of any of the four programs that may be running
independently in multitasking. The parameter n specifies the program to be halted .
ARGUMENTS: HXn where n is an integer which indicates the thread number.
n is an integer in the range of 0 to 3.
USAGE: DEFAULTS:
While Moving Yes Default Value n = 0
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand Yes
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
RELATED COMMANDS:
XQ Execute program
EXAMPLES:
XQ #A Execute program #A, thread zero
XQ #B,3 Execute program #B, thread three
HX0 Halt thread zero
HX3 Halt thread three
DMC-100/1500 Command Reference HX • 67
Page 70
II
FUNCTION: Input Interrupt
DESCRIPTION:
The II command enables the interrupt function for the specified inputs. m specifies the
beginning input and n specifies the final input in the range. For example, II 2,4 specifies
interrupts occurring for Input 2, Input 3 and Input 4. m=0 disables the Input Interrupts.
If only the m parameter is given, only that input will generate an interrupt.
The parameter o is an interrupt mask for all eight inputs. If m and n are unused, o contains a
number with the mask. A 1 designates that input to be enabled for an interrupt.
Example: II,,5 enables inputs 1 and 3
If any of the specified inputs go low 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 where
m is an integer in the range 0 to 8 decimal. 0 disable interrupts
n is an integer in the rang e 1 to 8 decimal
DMC-1000DMC-1500
o is an integer in the range 0 to 255 decimal
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 3.0 (mask only)
Command Line No
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
RI Return from Interrupt
#ININT Interrupt Subroutine
AI Trippoint for input
EXAMPLES:
#A Program A
II 1 Specify interrupt on input 1
JG 5000;BGX Specify jog and begin motion on X axis
#LOOP;JP #LOOP Loop
EN End Program
#ININT Interrupt subroutine
STX;MG
"INTERRUPT"
AMX After stopped
#CLEAR;JP#CLEAR,@
IN[1]=0
Stop X, print message
Check for interrupt clear
68 • II DMC-1000/1500 Command Reference
Page 71
BGX Begin motion
RI0 Return to main program, don't re-enable trippoints
DMC-100/1500 Command Reference II • 69
Page 72
IL
FUNCTION: Integrator Limit
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 X-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 integr ator
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 x,y,z,w ILX=x IL a,b,c,d,e,f,g,h where
x,y,z,w are numbers in the range -9.9988 to 9.9988 Volts with a resolution of 0.0003.
"?" returns the value of the integrator limit for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 9.9982
In a Program Yes Default Format 1.4
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
DMC-1000DMC-1500
USAGE:
_ILx contains the value of the integrator limit for the specified axis.
RELATED COMMANDS:
KI Integrator
EXAMPLES:
KI 2,3,5,8 Integrator constants
IL 3,2,7,2 Integrator limits
IL ? Returns the X-axis limit
3.0000
70 • IL DMC-1000/1500 Command Reference
Page 73
DMC-1000DMC-1500
IN
FUNCTION: Input Variable
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 φ.
ARGUMENTS: IN "m",n where
m is prompt message
n is the variable name
The limit on the number of characters for n and m are such that the total number of characters
per line are 40 characters or less.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format Position Format
Command Line No
Can be Interrogated No
Used as an Operand No
EXAMPLES:
Operator specifies length of material to be cut in inches and speed in inches/sec (2 pitch lead
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
BGX Begin motion
AMX Wait for motion complete
MG "MOVE DONE" Print Message
EN End Program
DMC-100/1500 Command Reference IN • 71
Page 74
DMC-1000DMC-1500
IP
FUNCTION: Increment Position
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 x,y,z,w command is equivalent to a PR x,y,z,w and BG command. The motor will
move to the specified position at the requested slew speed and acceleration.
Case 2: Motor is moving towards specified position
An IP x,y,z,w command will cause the motor to move to a new position target, which is the
old target plus x,y,z,w. x,y,z,w must be in the same direction as the existing motion.
Case 3: Motor is in the Jog Mode
An IP x,y,z,w command will cause the motor to instantly try to servo to a position x,y,z,w
from the present instantaneous 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 incremental position movements.
ARGUMENTS: IP x,y,z,w IPX=x IP a,b,c,d,e,f,g,h where
x,y,z,w are signed numbers in the range -2147483648 to 2147483647 decimal.
"?" returns the current position of the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format 7.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand No
RELATED COMMANDS:
PF Position Formatting
EXAMPLES:
IP 50 50 counts with set acceleration and speed
#CORRECT Label
AC 100000 Set acceleration
JG 10000;BGX Jog at 10000 counts/sec rate
WT 1000 Wait 1000 msec
IP 10 Move the motor 10 counts instantaneously
STX Stop Motion
72 • IP DMC-1000/1500 Command Referen ce
Page 75
IT
FUNCTION: Independent Time Constant - Smoothing Function
DESCRIPTION:
The IT command filters the acceleration and deceleration functions in independent moves of
JG, PR, PA type to produce a smooth velocity profile. The resulting profile, known as S-
curve, 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 affect the trippoints AR and AD. The trippoints AR & AD monitor the
profile prior to the IT filter and therefore can be satisfied before the distance h as been
reached if IT is not 1.
ARGUMENTS: IT x,y,z,w ITX=x IT a,b,c,d,e,f,g,h where
x,y,z,w are positive numbers in the range between 0.004 and 1.0 with a resolution of 1/256.
"?" returns the value of the independent time constant for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format 7.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
DMC-1000DMC-1500
OPERAND USAGE:
_ITx contains the value of the independent time constant for the specified ‘x’ axis.
RELATED COMMANDS:
VT Vector Time Constant for smoothing vector moves
EXAMPLES:
IT 0.8, 0.6, 0.9, 0.1 Set independent time constants for x,y,z,w axes
IT ? Return independent time constant for X-axis
0.8
DMC-100/1500 Command Reference IT • 73
Page 76
DMC-1000DMC-1500
JG
FUNCTION: Jog
DESCRIPTION:
The JG command sets the jog mode. The parameters following the JG set the slew speed of
the axes. Use of the question mark returns the previously entered value or default value.
The units of this are counts/second.
ARGUMENTS: JG x,y,z,w JGX=x JG a,b,c,d,e,f,g,h where
x,y,z,w are signed numbers in the range 0 to +/-12,000,000 decimal
for stepper motor operation, the maximum value is 2,000,000 steps/ second.
"?" returns the absolute value of the jog speed for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 16385
In a Program Yes Default Format Position Format
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_JGx contains the absolute value of the jog speed for the specified axis.
RELATED COMMANDS:
BG Begin
ST Stop
AC Acceleration
DC Deceleration
IP Increment Position
TV Tell Velocity
EXAMPLES:
JG 100,500,2000,5000 Set for jog mode with a slew speed of 100 counts/sec for the X-axis, 500
counts/sec for the Y-axis, 2000 counts/sec for the Z-axis, and 5000
counts/sec for W-axis.
BG Begin Motion
JG ,,-2000 Change the Z-axis to slew in the negative direction at -2000 counts/sec.
74 • JG DMC-1000/1500 Command Reference
Page 77
DMC-1000DMC-1500
JP
FUNCTION: Jump to Program Location
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. Note: Each condition must be placed in parenthesis for proper evaluation by the controller.
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
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line No
Can be Interrogated No
Used as an Operand No
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
JP #B Jump to #B (no condition)
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.
DMC-100/1500 Command Reference JP • 75
Page 78
DMC-1000DMC-1500
JS
FUNCTION: Jump to Subroutine
DESCRIPTION:
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 fo llowing the JS command. There
can be a JS command within a subroutine.
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.
Note: Subroutines may be nested 8 deep in the standard DMC-1000 controller, 16 deep in the
DMC-1000-MX, 16 deep in the DMC-1500.
A jump is taken if the specified condition is true. Conditions are tested with logical
operators. The logical operators are:
< less than or equal to <= less than or equal to
> greater than >= greater than or equal to
= equal to <> not equal
ARGUMENTS: JS destination, condition where
destination is a line number or label
condition is a conditional statement using a logical operator
USAGE: DEFAULTS:
While Moving Yes Default Value
In a Program Yes Default Format
Command Line No
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
EN End
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 (no condition)
76 • JS DMC-1000/1500 Command Reference
Page 79
KD
⋅
FUNCTION: Derivative Constant
DESCRIPTION:
KD designates the derivative constant in the controller filter. The filter transfer function is
DMC-1000DMC-1500
D(z) = 4
For further details on the filter see the section Theory of Operation.
ARGUMENTS: KD x,y,z,w KDX=x KD a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range 0 to 4095.875 with a resolution of 1/8.
"?" returns the value of the derivative constant for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 64
In a Program Yes Default Format 4.2
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_KDx contains the value of the derivative constant for the specified axis.
The KI command sets the integral gain of the control loop. It fits in the control equation as
follows:
DMC-1000DMC-1500
D(z) = 4
The integrator term will reduce the position error at rest to zero.
ARGUMENTS: KI x,y,z,w KIX=x KI a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range 0 to 2047.875 with a resolution of 1/8.
"?" returns the value of the derivative constant for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format 4.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_KIx contains the value of the derivative constant for the specified axis.
RELATED COMMANDS:
KP Proportional Constant
KI Integrator
IL Integrator Limit
EXAMPLES:
KI 12,14,16,20 Specify x,y,z,w-axis integral
KI 7 Specify x-axis only
KI ,,8 Specify z-axis only
KI ?,?,?,? Return X,Y,Z,W
0007,0014,0008,0020 KI values
⋅ KP + 4
KD(z-1)/z + KI z/2(z-1)
78 • KI DMC-1000/1500 Command Reference
Page 81
KP
⋅
FUNCTION: Proportional Constant
DESCRIPTION:
KP designates the proportional constant in the controller filter. The filter transfer function is
DMC-1000DMC-1500
D(z) = 4
For further details see the section Theory of Operation.
ARGUMENTS: KP x,y,z,w KPX=x KP a,b,c,d,e,f,g,h where
x,y,z,w are unsigned numbers in the range 0 to 1023.875 with a resolution of 1/8.
"?" returns the value of the proportional constant for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 6
In a Program Yes Default Format 4.2
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_KPx contains the value of the proportional constant for the specified axis.
RELATED COMMANDS:
KP Proportional Constant
KI Integrator
IL Integrator Limit
⋅ KP + 4
KD(z-1)/z + KI z/2(z-1)
DMC-100/1500 Command Reference KP • 79
Page 82
DMC-1000DMC-1500
KS
FUNCTION: Step Motor Smoothing
DESCRIPTION:
The KS parameter smoothes the frequency of the step motor pulses. 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. This function smoothes out the generation of step pukes and is most useful
when operating in full or half step mode.
Note: KS will delay the step output.
ARGUMENTS: KS x,y,z,w KSX=x KS a,b,c,d,e,f,g,h where
x,y,z,w are positive integers in the range between .5 and 8 with a resolution o f 1/32.
"?" returns the value of the derivative constant for the specified axis.
USAGE: DEFAULTS:
While Moving Yes Default Value 2
In a Program Yes Default Format 4.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_KSx contains the value of the derivative constant for the specified axis.
RELATED COMMANDS:
MT Motor Type
EXAMPLES:
KS 2, 4 , 8 Specify x,y,z axes
KS 5 Specify x-axis only
KS ,,15 Specify z-axis only
Hint: KS is valid for step motor only.
80 • KS DMC-1000/1500 Command Reference
Page 83
DMC-1000DMC-1500
LA
FUNCTION: List Arrays
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
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand No
RELATED COMMANDS:
LL List Labels
LS List Program
LV List Variable
EXAMPLES:
: LA
CA [10]
LA [5]
NY [25]
VA [17]
DMC-100/1500 Command Reference LA • 81
Page 84
LE
FUNCTION: Linear Interpolation End
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.
ARGUMENTS:
LE? returns the length of the vector in counts.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_LE contains the length of the vector in counts.
DMC-1000DMC-1500
RELATED COMMANDS:
LI Linear Distance
BG BGS - Begin Sequence
LM Linear Interpolation Mode
VS Vector Speed
VA Vector Acceleration
VD Vector Deceleration
PF Position Formatting
EXAMPLES:
LM ZW Specify linear interpolation mode
LI ,,100,200 Specify linear distance
LE End linear move
BGS Begin motion
The _LF operand contains the state of the forward limit switch for the specified axis.
_LFx where x is the specified axis.
1 = inactive w/ CN -1 1_LFX = 1 when not closed
w/ CN 1 1_LFX = 0 when closed
0 = active w/ CN -1 _LFX= 0 when open
w/ CN 1 _LFX = 1 when open
EXAMPLES:
MG _LF X Display the status of the X axis forward limit switch
* This is an Operand - Not a command.
DMC-100/1500 Command Reference _LF* • 83
Page 86
LI
FUNCTION: Linear Interpolation Distance
DESCRIPTION:
The LI x,y,z,w 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 specifications 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 spaces for new vector segments.
The Linear End (LE) command must be given after the last LI specification in a
sequence. This command 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 XYZ designates linear interpolation for the X,Y and Z axes. The speed of
these axes will be computed from VS2=XS2+YS2+ZS2 where XS, YS and ZS are the
speed of the X,Y and Z axes. If the LI command specifies only X and Y, the speed of Z
will still be used in the vector calculations. The controller always uses th e axis
specifications from LM, not LI, to compute the speed. The parameter n is optional and
can be used to define the vector speed that is attached to the motion segment.
DMC-1000DMC-1500
ARGUMENTS: LI x,y,z,w < n > o LI a,b,c,d,e,f,g,h where
x,y,z,w and a,b,c,d,e,f,h are signed integers in the range -8,388,607 to 8,388,607 and
represent incremental move distance
n specifies a vector speed to be taken into effect at the execution of the linear segment. n is
an unsigned even integer between 0 and 8,000,000 for servo motor operation and
between 0 and 2,000,000 for stepper motors.
o is not valid for DMC-1000 and DMC-1500 controllers.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
84 • LI DMC-1000/1500 Command Reference
Page 87
(LI cont.)
RELATED COMMANDS:
LE Linear end
BG BGS - Begin sequence
LM Linear Interpolation Mode
CS Clear Sequence
VS Vector Speed
VA Vector Acceleration
VD Vector Deceleration
EXAMPLES:
LM XYZ Specify linear interpolation mode
LI 1000,2000,3000 Specify distance
LE Last segment
BGS Begin sequence
DMC-100/1500 Command Reference LI • 85
Page 88
DMC-1000DMC-1500
LL
FUNCTION: List Labels
DESCRIPTION:
The LL command returns a listing of all of the program labels in memory. The listing will be
in alphabetical order.
ARGUMENTS: None
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand No
RELATED COMMANDS:
LA List Arrays
LS List Program
LV List Variables
EXAMPLES:
: LL
# FIVE
# FOUR
# ONE
# THREE
# TWO
86 • LL DMC-1000/1500 Command Reference
Page 89
LM
FUNCTION: Linear Interpolation Mode
DESCRIPTION:
The LM XYZW command specifies the linear interpolation mode where XYZW denote the
axes for linear interpolation. Any set of 1,2,3 or 4 axes may be used for linear
interpolation. LI x,y,z,w 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.
It should be noted that the controller computes the vector speed based on the axes specified in
the LM mode. For example, LM XYZ designates linear interpolation for the X,Y and Z
axes. The speed of these axes will be computed from VS2=XS2+YS2+ZS2, where XS,
YS and ZS are the speed of the X,Y and Z axes. If the LI command specifies only X and
Y, the speed of Z will still be used in the vector calculations. The controller always uses
the axis specifications from LM, not LI, to compute the speed.
ARGUMENTS: LM XYZW LM ABCDEFGH where
XYZW denote X,Y,Z or W axes
DMC-1000DMC-1500
LM? will return the number of spaces available in the sequence buffer for additional LI
commands.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_LM contains the number of spaces available in the sequence buffer for additional LI
commands
RELATED COMMANDS:
LE Linear end
LI Linear Distance
VA Vector acceleration
VS Vector Speed
VD Vector deceleration
AV Vector distance
CS _CS - Sequence counter
EXAMPLES:
LM XYZW Specify linear interpolation mode
VS 10000; VA 100000;VD 1000000 Specify vector speed, acceleration and deceleration
LI 100,200,300,400 Specify linear distance
DMC-100/1500 Command Reference LM • 87
Page 90
LI 200,300,400,500 Specify linear distance
LE; BGS Last vector, then begin motion
*The _LR operand contains the state of the reverse limit switch for the specified axis.
_LRx where x is the specified axis.
1 = inactive w/ CN -1 1_LFX = 1 when not closed
w/ CN 1 1_LFX = 0 when closed
0 = active w/ CN -1 _LFX= 0 when open
w/ CN 1 _LFX = 1 when open
EXAMPLES:
MG _LR X Display the status of the X axis reverse limit switch
*Note: This is an Operand - Not a command
DMC-100/1500 Command Reference _LR* • 89
Page 92
DMC-1000DMC-1500
LS
FUNCTION: List Program
DESCRIPTION:
The LS command returns a listing of the programs in memory. The listing will start with the
line pointed to by the first parameter, which can be either a line number or a label. If no
parameter is specified, it will start with line 0. The listing will end with the line pointed
to by the second parameter--again either a line number or label. If no parameter is
specified, the listing will go to the last line of the program.
ARGUMENTS: LS n,m where
n and m are valid numbers from 0 to 999, or labels. n is the first line to be listed, m is the
last.
USAGE: DEFAULTS:
While Moving Yes Default Value 0, Last Line
In a Program No Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
LA List Arrays
LL List Labels
LV List Variables
EXAMPLES:
:LS #A,6 List program starting at #A through line 6
002 #A
003 PR 500
004 BGX
005 AM
006 WT 200
Hint: Remember to quit the Edit Mode <cntrl> Q prior to giving the LS command.
90 • LS DMC-1000/1500 Command Referen ce
Page 93
DMC-1000DMC-1500
LV
FUNCTION: List Variables
DESCRIPTION:
The LV command returns a listing of all of the program labels in memory. The listing will be
in alphabetical order.
ARGUMENTS: None
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
RELATED COMMANDS:
LA List Arrays
LS List Program
LL List Labels
EXAMPLES:
: LV
APPLE = 60.0000
BOY = 25.0000
ZEBRA = 37.0000
DMC-100/1500 Command Reference LV • 91
Page 94
DMC-1000DMC-1500
LZ
FUNCTION: Leading Zeros
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 where n is
1 to remove leading zeros
0 to disable the leading zero removal.
LZ ? returns the state of the LZ function. ‘0’ is disabled and ‘1’ is enabled.
USAGE: DEFAULTS:
While Moving Yes Default Value 0
In a Program Yes Default Format Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_LZ contains the state of the LZ function. ‘0’ is disabled and ‘1’ is enabled.
EXAMPLES:
LZ 0 Disable the LZ function
TPX Interrogate the controller for current position of X 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
TPX Interrogate the controller for current position of X 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
92 • LZ DMC-1000/1500 Command Reference
Page 95
DMC-1000DMC-1500
MC
FUNCTION: Motion Complete - "In Position"
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 or a motion sequence may be specified with the MC command. For
example, MC XY waits for motion on both the X and Y axis to be complete. MC with no
parameter specifies that motion on all axes is complete. TW x,y,z,w 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 stopcode 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
ARGUMENTS: MC XYZW MC ABCDEFGH where
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 useful when operating with stepper
motors since the step pulses can be delayed from the commanded position due to the stepper
motor smoothing function, KS.
X,Y,Z,W specifies X,Y,Z or W axis or sequence. No argument specifies that motion on
all axes is complete.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
BG Begin
AM After Move
TW Timeout
EXAMPLES:
#MOVE Program MOVE
PR 5000,5000,5000,5000 Position relative moves
BG X Start the X-axis
MC X After the move is complete on X,
BG Y Start the Y-axis
MC Y After the move is complete on Y,
BG Z Start the Z-axis
MC Z After the move is complete on Z
BG W Start the W-axis
DMC-100/1500 Command Reference MC • 93
Page 96
MC W After the move is complete on W
EN End of Program
#F;DP 0,0,0,0 Program F Position
PR 5000,6000,7000,8000 relative moves
BG Start X,Y,Z and W axes
MC After motion complete on all axes
MG "DONE"; TP Print message
EN End of Program
Hint: MC can be used to verify that the actual motion has been completed.
94 • MC DMC-1000/1500 Command Reference
Page 97
DMC-1000DMC-1500
MF
FUNCTION Forward Motion to Position
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 can also be used
when the encoder is the master and not under servo control.
ARGUMENTS: MFx or MF,y or MF,,z or MF,,,w MFX=X MF abcdefgh where
x,y,z,w are signed integers in the range -2147483648 to 2147483647 decimal
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
AD Trippoint for after Relative Distances
AP Trippoint for after Absolute Position
EXAMPLES:
#TEST Program B
DP0 Define zero
JG 1000 Jog mode (speed of 1000 counts/sec)
BG X Begin move
MF 2000 After passing the position 2000
V1=_TPX Assign V1 X position
MG "Position is" ,V1 Print Message
ST Stop
EN End of Program
Hint: The accuracy of the MF command is the number of counts that occur in 2 msec. Multiply the
speed by 2 msec 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.
DMC-100/1500 Command Reference MF • 95
Page 98
DMC-1000DMC-1500
MG
FUNCTION: Message
DESCRIPTION:
The MG command sends data out the bus. This can be used to alert an operator, send
instructions or return a variable value.
ARGUMENTS: MG "m", {^n}, V {Fm.n or $m,n} {N} {Pn} where
"m" is a text message including letters, numbers, symbols or <ctrl>G (up to 31 characters).
{^n} is an ASCII character specified by the decimal value n
V is a variable name or array element where the following specifiers can be used for
formatting:
{Fm.n} Display variable in decimal format with m digits to left of decimal, and n to the
right.
{$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 thru 6
{N} Suppress carriage return line feed.
For DMC-1500 only: {Pn} Specifies which serial port to send the message. -1 = main port,
2 = auxiliary port
Note: Multiple text, variables, and ASCII characters may be used, each must be separated by
a comma.
Note: The order of arguments is not important.
USAGE: DEFAULTS:
While Moving Yes Default Value In a Program Yes Default Format Variable Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
EXAMPLES:
Case 1: Message command displays ASCII strings
MG "Good Morning" Displays the string
Case 2: Message command displays variables or arrays
MG "The Answer is", Total {F4.2} Displays the string with the content of variable
TOTAL in local format of 4 digits before and 2 digits after the decimal point.
Case 3: Message command sends any ASCII characters to the port.
Carriage return MG {^13}, {^16}, {^48}, {^55} displays characters 0 and 7.
96 • MG DMC-1000/1500 Command Reference
Page 99
MO
FUNCTION: Motor Off
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 XYZW MO ABCDEFGH where
XYZW specify the axes to be turned off.
"?" returns the state of the motor for the specified axis.
USAGE: DEFAULTS:
While Moving No Default Value 0
In a Program Yes Default Format 1.0
Command Line Yes
Can be Interrogated Yes
Used as an Operand Yes
OPERAND USAGE:
_MOx contains the state of the motor for the specified axis.
DMC-1000DMC-1500
RELATED COMMANDS:
SH Servo Here
EXAMPLES:
MO Turn off all motors
MOX Turn off the X motor. Leave the other motors unchanged
MOY Turn off the Y motor. Leave the other motors unchanged
MOZX Turn off the Z and X motors. Leave the other motors unchanged
SH Turn all motors on
Bob=_MOX Sets Bob equal to the X-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.
DMC-100/1500 Command Reference MO • 97
Page 100
DMC-1000DMC-1500
MR
FUNCTION: Reverse Motion to Position
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 can
also be used when the encoder is the master and not under servo control.
ARGUMENTS: MRx or MR,y or MR,,z or MR,,,w MRX=X MR abcdefgh where
x,y,z,w are signed integers in the range -2147483648 to 2147483647 decimal
USAGE: DEFAULTS:
While Moving No Default Value
In a Program Yes Default Format
Command Line Yes
Can be Interrogated No
Used as an Operand No
RELATED COMMANDS:
AD Trippoint for Relative Distances
AP Trippoint for after Absolute Position
EXAMPLES:
#TEST Program B
DP0 Define zero
JG -1000 Jog mode (speed of 1000 counts/sec)
BG X Begin move
MR -3000 After passing the position -3000
V1=_TPX Assign V1 X position
MG "Position is", V1= ST Print Message Stop
EN End of Program
Hint: The accuracy of the MR command is the number of counts that occur in 2 msec. Multiply the
speed by 2 msec 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.
98 • MR DMC-1000/1500 Command Reference
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.