Reference Guide

PMAC Quick Reference Guide
60 Motion Programs
Synchronous M-Variable Assignment
The scan of a motion program and execution of the commands in it are governed by the lookahead
feature. PMAC will calculate move commands ahead of time for a proper blending and will execute
every instruction in between immediately. This ahead-of-time situation would make an M-Variable
assignment asynchronous to the motion profiles unless a double equal sign is used instead. M1==1, for
example, will indicate to PMAC that the assignment has to take place at the blending point between the
previous move encountered and the next. In LINEAR and CIRCLE mode moves, this blending occurs
V*TA/2 distance ahead of the specified intermediate point, where V is the commanded velocity of the
axis, and TA is the acceleration (blending) time. This is available only for M-Variables and are not in the
form TWB, TWD, TWR, TWS.
Synchronizing PMAC to Other PMACs
When multiple PMACs are used together, intercard synchronization is maintained by passing the servo
clock signal from the first card to the others. With careful writing of programs, this permits complete
coordination of axes on different cards.
Axis Transformation Matrices
PMAC provides the capability to perform matrix transformation operations on the X, Y, and Z-axes of a
coordinate system. These operations have the same mathematical functionality as the matrix forms of the
axis definition statements, but these can be changed on the fly in the middle of programs; the axis
definition statements should be fixed for a particular application. The matrix transformations permit
translation, rotation, scaling, mirroring, and skewing of the X, Y, and Z-axes. They can be useful for
English/metric conversion, floating origins, making duplicate mirror images, repeating operations with
angle offsets, and more. The matrices are implemented by the use of Q-Variables and DEFINE TBUF,
TSEL, TINIT, ADIS, IDIS, AROT and IROT commands.
Position-Capture and Position-Compare Functions
The position-capture function latches the current encoder position at the time of an external event into a
special register. It is executed totally in hardware, without the need for software intervention (although it
is set up, and later serviced, in software). This means that the only delays in the capture are the hardware
gate delays (negligible in any mechanical system), so this provides an incredibly accurate capture
function. The move-until-trigger functions (either jog or motion program) conveniently use the position
capture feature for continuous motions until a trigger condition is reached.
Essentially, the position-compare feature is the opposite of the position-capture function. Instead of
storing the position of the counter when an external signal changes, it changes an external signal when the
counter reaches a certain position.
Learning a Motion Program
It is possible to have PMAC learn lines of a motion program using the on-line LEARN command. In this
operation, the axes are moved to the desired position and the command is given to PMAC. PMAC then
adds a command line to the open motion program buffer that represents this position. This process can be
repeated to learn a series of points.
The motors can be open loop or closed loop as they are moved around.