User guide

Chapter 5. Custom Profiling
153
Contouring (Circular Interpolation)
NOTE
Contouring is not
applicable to single-axis
products.
2-axis products can
accommodate only 2-
axis (X & Y) contouring.
6000 Series controllers allow you to define and execute two-dimensional motion paths. A
path refers to the path traveled by the load in an X-Y plane, and must be defined before any
motion takes place along that path. The X and Y axes can be specified as any of the
controller's two axes.
Four-axis controllers: A third axis, labeled the C axis, may be included to keep an angular
position which changes linearly with the path direction. The path direction is the vector
addition of the travel of axes X and Y. A fourth axis labeled the P axis may be included to
keep a position which is proportional to the distance traveled along the path described by X
and Y. The X, Y, C and P axes can be specified as any of the controller's four axes.
A path consists of one or more line or arc segments whose end-points are specified in terms of
X and Y positions. The end-point position specifications may be made using either absolute
or incremental programming. The segments may be lines or arcs, both of which are described
in greater detail in the following sections. Each path segment is determined by the end-point
coordinates, and in the case of arcs, by the direction and radius or center. It is possible to
accelerate, decelerate or travel at constant velocity (feedrate) during any type of segment, even
between segments. For each segment, the user may also specify an output pattern which can
be applied to the programmable outputs at the beginning of that segment.
All paths are continuous paths, (i.e., the motion will not stop between path segments, but
must stop at the end of a path). It is not possible to define a path that stops motion within the
path definition and then continues that path. To achieve this result, two individual paths must
be defined and executed. A path may, however, be stopped and resumed by using a
Pause/Resume input (see page 111) while the path is executing. In this case, motion will be
decelerated and resumed along the path without loss of position. If one axis is stopped due to
any other reason, the other axis will stop abruptly, and motion may not be resumed. Causes
for motion being stopped may include encountering an end-of-travel limit, issuing a Kill (!K)
command, detecting a stall (steppers), exceeding the max. allowable position error (servos), etc.
Path Definition
Compiled GOBUF
segments are also
stored in compiled
memory
(see page 13).
Contouring paths are defined like programs (using the DEF and END commands), but are
compiled with the PCOMP command and executed with the PRUN command. Programs intended
to be compiled as paths are stored in Program memory. After they are compiled with the
PCOMP command, they remain in program memory and the segments (PARCM, PARCOM,
PARCOP, PARCP, and PLIN statements) from the compiled profile are stored in Compiled
memory. The TDIR command reports which programs are compiled as a compiled profile.
The amount of RAM allocated for storing contouring path segments is determined by the
MEMORY command setting. The table below identifies memory allocation defaults and limits for
6000 Series products. Further details on re-allocating memory are provided on page 12.
Feature AT6n00 AT6n00-M AT6n50 AT6n50-M All Other Products
Total memory (bytes) 64000 1500000 40000 150000 150000
Default allocation
(program,compiled)
33000,31000 63000,1000 39000,1000 149000,1000 149000,1000
Maximum allocation for
compiled profiles
1000,63000 1000,1499000 1000,39000 1000,149000 1000,149000
Max. # of compiled profiles 100 800 100 300 300
Max. # of compiled profile
segments
875 20819 541 2069 2069
-M refers to the Expanded Memory Option
CAUTION
Issuing a memory allocation command (e.g., MEMORY1ØØØ,39ØØØ) will erase all existing
programs and compiled contouring path segments. However, issuing the MEMORY command
by itself (i.e., MEMORY—to request the status of how the memory is allocated) will not affect
existing programs or path segments.