Workcell-Installation-Guidelines-Troubleshooting-Maintenance-REV-F.pdf - 第49页
Workcell Installation and General Guidelines Revision F / Janu ary 2021 Page 49 of 59 Cmd Description Example Tips AC Acceleration for independent moves are in counts per second² AC*=100000 (sets all axes) ACX=100000 (on…

Workcell Installation and General Guidelines
Revision F / January 2021
Page 48 of 59
DMC Programming Basics
• All commands must be in uppercase letters.
• Positions are given in counts. In most cases there are 5080 counts per inch, 200
counts per millimeter.
• No line of code may contain more than 80 characters.
• A semicolon (;) is used as a carriage return. This allows for multiple commands on the
same line and can be used to save space in the program.
Labels
Sections of a program (subroutines) are defined by labels. PathMaster® generates its own
labels for programs. These labels do not appear in the edit window, so the operator cannot
alter them.
• Labels start with the pound (#) sign followed by a maximum of seven characters.
• The first character must be a letter, after there can be numbers.
• There can be no spaces.
• There can be no duplicate labels anywhere in memory. The Main program and
PathMaster® are written without any duplicate labels.
• If the operator must put special labels into programs it can cause duplicate labels. If
any duplicate labels occur, the operator must find the duplication and fix it.
This usually happens when a section of code has been copied and pasted. There can be no
duplicates anywhere within a project, which includes all 30 programs in that project.
• Labels must be at the start of a line. When code is entered manually, make sure there
are no labels in the middle of a line. This causes an error when the program is run.
Important Commands
The DMC programming language contains over 135 commands. The program for the workcell
does not use most of these commands, and even fewer are used to create a dispense path.
The commands in the table below are the most important for an advanced operator to know.
A complete list of commands can be found in the separate DMC-1500 or 2200 manual that
came with the machine. Any reference to manually changing or querying in the examples
below requires the use of the terminal option in PathMaster® to communicate directly with
the controller.

Workcell Installation and General Guidelines
Revision F / January 2021
Page 49 of 59
Cmd
Description
Example
Tips
AC
Acceleration for independent
moves are in counts per second²
AC*=100000 (sets all axes)
ACX=100000 (only sets the
X axis acceleration)
Make sure the acceleration is large
enough to get the motion to speed
in a reasonable amount of time
AM
After move. This command holds
the program until the movement
on the specified axes is
completed
AM (wait for all axes to finish
its motion)
AMS (wait for coordinate
sequence to finish motion)
The AM command tests for profile
completion. Use the AM command
to separate multiple movements
AV
After vector distance. This
command holds the program
until a specified distance has
been traveled with a coordinated
move, the units are in counts
AV1000 (wait until the axes
have moved 1000 counts)
The AV command resets to zero
after every use. It can be calculated
by summing the distances between
each point on the coordinated
move
BG
Begin. BG starts a motion on an
axis or a sequence
BGX (begin motion on the X
axis), BGS (begin motion
sequence), BG (begin motion
on all axes)
A second BG command cannot be
given until the first BG motion is
finished. The AM command can
hold the program until the first
motion is done. The exact axes to
put in motion must be given. The
BG command starts all the axes
according to the last specified
motions
BL
Reverse Software Limit
CB
Clear bit. Clears a bit on the
output port
CB40 (clears the bit for the
buzzer)
Clearing a bit in DMC terminology
turns the bit on. The opposite of CB
is SB (set bit). A complete list of the
outputs can be found in the
Operating Guide
CR
Circle. Select a radius, a start
angle and the angle to be
traversed. Movement is
counterclockwise in the
Cartesian coordinate system.
This is either clockwise or
counterclockwise, as viewed
from the front of the machine,
and depends on the setup of the
machine. A negative traverse
angle yields clockwise motion in
the Cartesian coordinate system
CR 5000,90,180
arc with length of 5000
counts, starting at 90° and
doing a half circle (180°)
The circle command is a
coordinated two dimensional move.
The structure is the same as all
other coordinated moves, using the
VM, VP and VE commands. A start
angle of 0° gives a circle, relative to
the start point, entirely negative in
the X direction and half positive,
half negative in the Y. Starting at
180° yields an entirely positive X
circle and a half positive, half
negative Y.
90° is an entirely negative Y circle
180° entirely positive Y, with both
having X half positive, half negative
CS
Clear Sequence
Clears Memory of prior coordinated sequences

Workcell Installation and General Guidelines
Revision F / January 2021
Page 50 of 59
DC
Deceleration for independent
moves. The units are in counts
per second²
DC*=100000 (sets all axes),
DCX=100000 (only sets the X
axis deceleration), DC
10000,30000,40000 (sets X, Y
and Z Decelerations
separately)
The higher the deceleration, the
faster an axis stops its move
DE
Dual (Auxiliary) Encoder Position
DL
Download. This transfers a text
file from the computer to the
controller
DL (then select a text file to
download)
Use the HX (halt execution)
command before using DL.
Damage may result otherwise
EN
End. This terminates a
subroutine, program thread or
program
EN
The Dispensing System also has
a subroutine used for a
conditional end. The command
JP#NOOP operates the same as
the EN command
FL
Forward Software Limit
HX
Halt execution. Halts the
execution of the program or any
of its threads
HX1 (halt thread 1)
HX (halt the entire program)
Always use the HX command
before executing a DL command
JG
Jog
JP
Jump to a program location.
Locations are marked by labels.
This command can be used in a
conditional statement and the
jump occurs if the conditional is
true
JP#NOOP (jump to location
#NOOP), JP#NOOP,COUNT>10
(jump to location #NOOP if the
value of COUNT exceeds 10)
It is important not to confuse JP
with JS. Using a JP when a JS is
required results in the thread
being halted once the EN
command is reached
JS
Jump to subroutine. Subroutines
are marked by labels
JS#H1UP (jump to subroutine
#H1UP)
It is important not to confuse JS
with JP. Using a JS when a JP is
required can result in “nesting”
the program continuously until a
nesting error occurs.
Subroutines can only be nested
16 deep
LI
Linear Interpolation Distance
LM
Linear Interpolation Mode
LS
List. The operator can list a
single line or multiple lines of the
program in a terminal screen
LS 300,0 (show line 300), LS
250,270 (show lines 250 to
270), LS (show all lines in
memory)
If a runtime error occurs, use the
LS command in the terminal
screen to check the line
containing the error
MG
Message. This command sends
data out the bus. It can also be
used by the operator to query
the controller for information
MG “Path Complete” (displays
the message “Path Complete”
on the terminal screen),
MG@IN[60] (displays the value
of input 60, where 0 is on and 1
is off)
Do not put message commands
in programs! If there are
message commands, and there
is no computer attached to the
workcell, the controller halts
once the output buffer is full