
User Manual
Chapter 7
GFK-1742F
Jan 2020
Programmed Motion
174
7.4
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.
A multi-axis program can contain SYNC commands to synchronize the axes at designated
points. When the first axis reaches a SYNC block (a block containing a SYNC command), it
will not execute the next block until the other axis has also reached the SYNC Block. Refer to
Example 18, “Multi
-axis Pr
ogramming”, later in this chapter, for an example of
this.
7.5
Prerequisites for Programmed Motion
The following conditions must be satisfied before a motion program can be initiated (for a
multi-axis program, the conditions must be met for both axes):
•
The Enable Drive %Q bit must be ON
•
The Drive Enabled %I bit must be ON
•
The Position Valid %I bit must be ON
•
The Moving %I bit must be OFF
•
The Program Active %I bit must be OFF
•
The Abort All Moves %Q bit must be OFF
•
The axis position must be within the configured end of travel limits (High Software
EOT and Low Software EOT), unless the Software End of Travel mode is configured
as Disabled
•
The Overtravel Limit Switch inputs must be ON (24V input is high) if enabled
•
A Force Digital Servo Velocity %AQ command must not be active