Reference Guide

PMAC Quick Reference Guide
Motion Programs 45
Axis Definition Statements
A coordinate system is established by using axis definition statements. An axis is defined by matching a
motor (which is numbered) to one or more axes (which are specified by letter).
The simplest axis definition statement is something like #1->X. This simply assigns motor #1 to the X
axis of the currently addressed coordinate system. When an X axis move is executed in this coordinate
system, motor #1 will make the move. In addition, the axis definition statement defines the scaling of the
axis’ user units. For instance, #1->10000X also matches motor #1 to the X axis, but this statement sets
10,000 encoder counts to one X-axis user unit (e.g. inches or centimeters). Usually, this scaling feature is
universally used. Once the scaling has been defined in this statement, the axis can be programed in
engineering units without ever needing to deal with the scaling again.
Permitted Axis Names: X,Y,Z,U,V,W,A,B,C
X,Y,Z: Traditionally Main Linear Axes
Matrix Axis Definition
Matrix Axis Transformation
Circular Interpolation
Cutter Radius Compensation
A,B,C: Traditionally Rotary Axes
(A rotates about X, B about Y, C about Z)
Position Rollover (Ix27)
U,V,W: Traditionally Secondary Linear Axes
Matrix Axis Definition
Writing a Motion Program
1. Open a program buffer with OPEN PROG {constant} where {constant} is an integer from 1
to 32767 representing the motion program to be opened.
2. Motion Programs 1000, 1001, 1002 and 1003 can contain G-codes, M-codes, T-codes and D-codes
for machine tool G-codes or RS-274 programming method. These buffers can be used for general
PMAC code programming as long as G-codes programming is not needed in PMAC.
3. PMAC can hold up to 256 motion programs at one time. For continuous execution of programs
larger than PMAC’s memory space, a special PROG0, the rotary motion program buffers, allow for
the downloading of program lines during the execution of the program and for the overwriting of
already executed program lines.
4. The CLEAR command empties the currently opened program, PLC, rotary, etc. buffer.
5. Many of the statements in PMAC motion programs are modal in nature. These include move modes,
which specify what type of trajectory a move command will generate; this category includes
LINEAR, RAPID, CIRCLE, PVT, and SPLINE.
6. Moves can be specified either incrementally (distance) or absolutely (location) – individually
selectable by axis – with the INC and ABS commands. Move times (TA, TS, and TM) and/or speeds
(F), are implemented in modal commands. Modal commands can precede the move commands they
are to affect, or they can be on the same line as the first of these move commands.
7. The move commands themselves consist of a one-letter axis-specifier followed by one or two values
(constant or expression). All axes specified on the same line will move simultaneously in a
coordinated fashion on execution of the line; consecutive lines execute sequentially (with or without
stops in between, as determined by the mode). Depending on the modes in effect, the specified
values can mean destination, distance, and/or velocity.
8. If the move times (TA, TS, and TM) and/or speeds (F) are not declared specifically in the motion
program the default parameters from the I-variables Ix87, Ix88 and Ix89 will be used instead.
Note:
Do not rely on these parameters to declare the move times in the program. This
will keep the move parameters with the move commands, lessening the chances of
future errors, and making debugging easier.