Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing and Executing Motion Programs
 
315
 
This size of the buffer for these assignments must be at least as great as the largest number of assignments 
expected during the time for lookahead.  There is no penalty for reserving more memory for these 
synchronous M-variable assignments than is needed, other than the loss of this memory for other uses. 
Note: 
The buffer reserved in this manner for synchronous M-variables under lookahead 
is distinct from the fixed-size buffer used for synchronous M-variables without 
lookahead. 
For example, the command &1 DEFINE LOOKAHEAD 500,50 creates a lookahead buffer for 
Coordinate System 1 that can store 500 segments for each motor assigned to the coordinate system at that 
time, plus 50 synchronous M-variable assignments. 
Running a Program with Lookahead 
The lookahead function is active when a motion program is run in a coordinate system, provided the 
following conditions are true: 
1.  The coordinate system is in segmentation mode (Isx13 > 0). 
2.  The coordinate system is told to look ahead (Isx20 > 0). 
3.  A lookahead buffer has been defined for the coordinate system since the last board power-up/reset, or 
if the lookahead buffer structure has been saved with I14 = 1. 
4.  The motion program is executing LINEAR or CIRCLE-mode moves. 
The lookahead function is active under these conditions even when Turbo PMAC is performing inverse-
kinematic calculations every segment to convert tip positions to joint positions.  This permits the user to 
write a motion program in convenient tip coordinates, yet still observe all joint-motor limits automatically.  
This is particularly important if the tip path passes near a singularity, requesting very high joint velocities 
and accelerations. 
Other move modes – RAPID, SPLINE, and PVT – can be executed with the lookahead buffer defined, but 
the lookahead function is not active when these moves are being executed. 
Note: 
Absolutely no change is required to the motion program to utilize the lookahead 
function. 
It is important to realize the implications of the lookahead function on several aspects of the motion 
program.  Each of these areas is covered below. 
Vector Feedrate 
Without lookahead, the vector feedrate value (Fxxx) is a command for each programmed move block in 
the motion program.  That is, each move is calculated so that it is traversed at the programmed vector 
feedrate (speed).  With lookahead active, the feedrate value is only a constraint.  The move will never be 
executed at a higher speed, but it may be executed at slower speeds during some or all of the move as 
necessary to meet the motor constraints. 
If the move is programmed by move time instead of feedrate, the programmed move time becomes a 
(minimum) constraint; the move will never be executed in less time, but it may be executed in greater 
time. 
Acceleration Time 
The programmed acceleration times – Isx87 and Isx88 by default, or TA and TS in the motion program, 
are the times before lookahead.  The lookahead function will control the actual acceleration times that are 
executed, but the programmed acceleration times are still important for two reasons.