Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing and Executing Motion Programs
 
341
 
When No Calculation Ahead 
There are several conditions in a motion program that break the blending and stop the calculation ahead.  
In these cases, Turbo PMAC waits until that operation is finished before it starts calculations on the next 
move or two moves.  During any of these breaks, Turbo PMAC will use the I11 calculation time to delay 
the start of the next move. 
DWELL Commands 
DWELL command in a motion program breaks the blending of moves, so Turbo PMAC will not 
calculate through a DWELL.  Turbo PMAC does not start the calculation of subsequent moves until after 
the DWELL time is complete.  A DELAY command, by contrast, is really a zero-distance move command 
of the specified time; Turbo PMAC does calculate through a DELAY
HOME, RAPID Moves 
If a homing search move (HOMEn) or a RAPID mode move is commanded from within a program, it is 
not blended with any other move.  Turbo PMAC does not start the calculation of subsequent moves until 
after all motors have completed their commanded moves of these types. 
PSET Command 
If a PSET command is used within a motion program to redefine axis positions, Turbo PMAC will not 
blend the move before the PSET to the move after.  It will not start the calculation of the subsequent 
move until after the previous commanded move has finished and the PSET command has been executed. 
Double-Jump-Back Rule 
If in the course of trying to calculate the next move, Turbo PMAC detects two backwards jumps in the 
logic of the program, PMAC will not try to blend the last calculated move to an upcoming move.  These 
backward jumps can be caused either by ENDWHILE statements or GOTO statements; GOSUBCALL, and 
RETURN jumps do not count here.  The intent of this rule is to prevent Turbo PMAC from having to abort 
a program due to insufficient calculation time if it has to loop multiple time on short moves. 
Blending Stopped 
PMAC will instead allow the previous move to come to a stop, and will start calculating the program 
again at the next real-time interrupt (see I8 description), continuing until it finds the next move statement, 
or two more jumps back (in which case the process is repeated).  This permits indefinite waiting loops 
that will not cause Turbo PMAC to abort the motion program because of insufficient calculation time. 
Nested Loops 
This double jump-back rule can cause programmers to inadvertently stop blending when they are 
calculating moves within nested while loops.  Consider the following example that attempts to create 
continuously blended sinusoidal motion generated in the inner loop, using the outer loop to index the size 
of the sinusoid: 
SPLINE1 TM20 
P1=0 
WHILE (P1<10) 
 P2=0 
 WHILE 
(P2<360) 
  X(P1*SIN(P2)) 
  P2=P2+1 
 ENDWHILE 
 P1=P1+1 
ENDWHILE