Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing and Executing Motion Programs
 
289
 
If a RAPID-mode move is in progress when the command is issued, Turbo PMAC will extend the current 
trajectory of each motor for Ixx92 milliseconds.  At that point, it will break into the trajectory of each 
motor, compute a smooth blending for each motor to the RAPID-mode trajectory toward the new 
destination, and execute the modified trajectory.  Because the altered-destination move is itself a RAPID-
mode move, its destination can be modified with a subsequent altered-destination command. 
If a move of some other mode is in progress when this command is issued, Turbo PMAC will reject the 
command with an error. 
Use of Altered Destination 
The altered-destination command is most often used to modify the destination of a RAPID-mode move 
executing from the coordinate system’s rotary motion-program buffer as the last move in that buffer.  In 
typical use, the RAPID move will be started with an approximate idea of the final destination, while some 
sensor, such as a vision system, determines the exact location.  The altered-destination command is then 
sent to the coordinate system with the exact coordinates of the final destination. 
If the altered-destination command is not received before the end of the move, there will be a momentary 
pause before the move to the final end position is started, but all axes end up in the same location as if the 
command were received before the end of the move.  Note, however, that in this case, certain status bits 
such as desired-velocity-zero, and in-position may get set at the end of the initial move, and so cannot be 
counted on by themselves to show that the modified end-point has been reached. 
The altered-destination command can also be used to modify a RAPID-mode move that is not at the end 
of the rotary buffer, or one that is in a “fixed” motion-program buffer.  In this case, there are a couple of 
things to watch.  First, if axes are in incremental mode, the subsequent moves in the program are modified 
by the altered destination.  Second, if the altered-destination command is received after the RAPID-mode 
move is finished; it may be rejected with an error, depending on what the program is executing 
subsequently. 
Spline-Mode Moves 
Turbo PMAC can perform two types of cubic splines (cubic in terms of the position-vs.-time equations) 
to blend together a series of points on an axis.  Its SPLINE1 mode is a uniform non-rational cubic B-
spline and its SPLINE2 mode is a non-uniform non-rational cubic B-spline.  It can, of course, do either 
spline for all of the axes simultaneously.  Splining is particularly suited to odd (non-Cartesian) 
geometries, such as radial tables and rotary-axis robots, where there are odd axis profile shapes even for 
regular tip movements.   
How They Work 
In SPLINE1 mode, a long move is split into equal-time segments, each of TM or TA time (depending on 
the setting of global variable I42).  Each axis is given a destination position in the motion program for 
each segment with a normal move command line like X1000Y2000.  Looking at the move command 
before this and the move command after this, Turbo PMAC creates a cubic position-vs-time curve for 
each axis so that there is no sudden change of either velocity or acceleration at the segment boundaries.  
The commanded position at the segment boundary may be “relaxed” slightly to meet the velocity and 
acceleration constraints (see figures below). 
The spline move time as used in the actual spline calculations is a 24-bit fixed-point value with 12 bits of 
integer and twelve bits of fraction.  This provides a range of up to 4096 milliseconds (just over 4 seconds) 
with a resolution of about ¼-microsecond.  If I42 is set to the default value of 0, this time is specified in a 
TM command, which supports the fractional resolution.  If I42 is set to 1, this time is specified in a TA 
command, which does not support the fractional resolution.  This mode is mainly for compatibility with 
older non-Turbo PMAC applications.