Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 44 
Note: 
If I11 is greater than zero, defining a definite time for calculations, and Turbo 
PMAC cannot complete the calculations for the first move of a sequence by the 
end of the I11 time, Turbo PMAC will terminate the running of the program with a 
run-time error. 
I12  
Lookahead Time Spline Enable 
Range:   
0 - 1  
Units:   
none 
Default: 
I12 permits the enabling of a new lookahead technique called time splining.  If I12 is set to 1, all coordinate 
systems that are executing lookahead will use this technique.  If I12 is set to 0, none of them will. 
Time splining permits smoother transitions from one vector velocity to another during lookahead when 
there is little or no change in direction.  As long as the commanded vector velocity going into lookahead 
does not change by more than a factor of two in a single Isx13 segment, the velocity change will be made 
without any velocity undershoot.   
Without this technique, large changes in vector velocity that have to be extended by lookahead can cause 
significant velocity undershoot. 
Setting I12 to 1 adds a small but potentially significant computational load to the lookahead calculations. 
I13 
Foreground In-Position Check Enable 
Range:   
0 - 1  
Units:   
none 
Default: 
I13 controls whether the activated motors on Turbo PMAC check for in-position as a foreground servo-
interrupt task or not.  If I13 is set to the default value of 0, in-position checking is done as a lower-priority 
background task only.  If I13 is set to 1, a basic in-position check operation is done for all active motors 
every servo interrupt as well. 
The foreground in-position check function is intended for very rapid move-and-settle applications for 
which the background check is too slow.  Enabling this function permits the fastest possible assessment of 
whether a motor is in position. 
For the foreground check to consider a motor to be in position, the following four conditions must all be 
met: 
1.  The motor must be in closed-loop control; 
2.  The desired velocity must be zero; 
3.  The magnitude of the following error must be less than the motor’s Ixx28 parameter; 
4.  The move timer for the motor must not be active. 
Note: 
Unlike the background in-position check, there is no capability in the foreground 
check to require these conditions be true for Ixx88+1 consecutive scans.   
If the foreground check decides that the motor is in position, it sets bit 13 of the motor status word 
(Y:$0000C0 for Motor 1) to 1; if it decides that the motor is “not in position”, it sets this bit to 0.  This 
foreground status bit is distinct from the background motor status bit at bit 0 of the same word.  The 
coordinate system’s in-position status bit, which is the logical OR of the background motor in-position 
bits for all of the motors in the coordinate system, is not affected by the foreground in-position check. 
Setting I13 to 1 to enable the foreground in-position check adds about 5% to the required time of the 
servo-interrupt tasks for each active motor.