User`s manual
Programmed Motion
GFK-1742A Chapter 7 Programmed Motion 7-3
7
Type 1 commands
can redirect the program path execution, but do not directly affect positioning.
•
Call (Subroutine) executes a subroutine before returning execution to the next command.
•
Jumps may be conditional or unconditional. An unconditional jump always redirects
execution to a specified program location. A conditional jump is assigned a CTL bit to
check. If the CTL bit is ON, the jump redirects execution to a specified program location.
If the CTL bit is OFF, the jump is ignored.
Type 2 commands
also do not affect position.
•
Block numbers provide an identification or label for the Type 3 command that follows.
Block numbers are required with JUMP commands; otherwise, they are optional. If a
program block does not contain a block number, the previous block number, if any, remains
in effect.
•
The SYNC (synchronize block) command is a two-axis synchronization command (this may
or may not delay motion on one axis).
•
The Load Parameter command allows the user to load a value into a parameter register.
•
The Velocity (VELOC) and Acceleration (ACCEL) commands specify velocity and
acceleration rates for the Type 3 MOVE command or commands that follow. Velocity and
Acceleration commands remain in effect until changed.
Type 3 commands
start or stop motion and thus affect positioning control.
•
Positioning (PMOVE) and Continuous (CMOVE) moves command motion.
•
The Dwell, Wait, and End of Program commands stop motion.
Program Blocks and Motion Command Processing
A “program block” consists of and is defined as one (and only one) Type 3 command with any
number and combination of preceding Type 1 and 2 commands.
A block number has two primary uses: (1) it provides a Jump-To identification (label), and (2) it
identifies the section of the program that is currently executing via the
Block Number
%AI Status
words for each axis. Type 2 commands are optional; a program block can contain a single Type 3
command. Type 2 commands and Conditional Jumps do not take effect until the DSM executes
the next Type 3 command.
While the DSM314 is executing a program block, the following program block is processed into a
buffer command area. This buffering feature minimizes block transition time. Thus, parameters
used in a move must be loaded before the move command that was programmed two blocks earlier
completes execution. In other words, in order to minimize the block-to-block transition time, a
new block is pre-processed during previous block execution. Program block parameters must be
loaded before the preceding block begins execution.
When a DSM314 is executing a multi-axis program, the program commands are scanned independently
by each axis and only the data designated for that axis is executed. Note that some multi-axis program
commands do not specify an axis (Block number, Jump, Call, and End) and therefore apply to both
axes.