Reference Guide

PMAC Quick Reference Guide
56 Motion Programs
Example:
I13=10 ;Move Segmentation Time
NORMAL K-1 ;XY plane
INC ;Incremental End Point definition
INC (R) ;Incremental Center Vector
definition
CIRCLE 1 ;Clockwise circle
X20 Y0 I10 J0 ;Arc move
Splined Moves
PMAC can perform cubic splines (cubic in terms of the position vs. time equations) to blend together a
series of points on an axis. Splining is suited particularly to odd (non-Cartesian) geometries, such as
radial tables and rotary-axis robots, where there are odd axis profile shapes even for regular tip
movements.
In SPLINE1 mode, a long move is split into equal-time segments, each of TA time. Each axis is given a
destination position in the motion program for each segment with a normal move command line like
X1000Y2000. Looking at the move command before this and the move command after this, PMAC
creates a cubic position-vs.-time curve for each axis so that there is no sudden change of either velocity or
acceleration at the segment boundaries. The commanded position at the segment boundary may be
relaxed slightly to meet the velocity and acceleration constraints.
PMAC can work only with integer (millisecond) values for the TA segment times. If a non-integer value
is specified for the TA time, PMAC will round it to the nearest integer automatically. It will not report an
error. This rounding will change the speeds and times for the trajectory.
At the beginning and end of a series of splined moves, PMAC adds a zero-distance segment of TA time
for each axis automatically, and performs the spline between this segment and the adjacent one. This
results in a S-curve acceleration to and from a stop.
PMAC’s SPLINE2 mode is very similar to the SPLINE1 mode, except that the requirement that the TA
spline segment time remain constant is removed.
PVT-Mode Moves
For the user who desires more direct control over the trajectory profile, PMAC offers Position-Velocity-
Time (PVT) mode moves. In these moves, the axis states are specified directly at the transitions between
moves (unlike in blended moves). This requires more calculation by the host, but allows tighter control
of the profile shape. For each piece of a move, the end position or distance, the end velocity, and the
piece time are specified.
PMAC is put in this mode with the program statement PVT{data}, where {data} is a constant,
variable, or expression, representing the piece time in milliseconds. This value should be an integer; if it
is not, PMAC will round it to the nearest integer. The piece time may be changed between pieces, either
with another PVT{data} statement, or with a TA{data} statement. The program is taken out of this
mode with another move mode statement (e.g. LINEAR, RAPID, CIRCLE, SPLINE).
A PVT mode move is specified for each axis to be moved with a statement of the form
{axis}{data}:{data}, where {axis} is a letter specifying the axis, the first {data} is a value
specifying the end position or the piece distance, depending on whether the axis is in absolute or
incremental mode, respectively, and the second {data} is a value representing the ending velocity.