Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing and Executing Motion Programs
 
321
 
[X']   [R11  R12  R13] [X]   [D1] 
[Y'] = [R21  R22  R23] [Y] + [D2] 
[Z']   [R31  R32  R33] [Z]   [D3] 
The base X, Y, and Z coordinates are those defined by the axis definition statements.  Those statements 
may or may not incorporate a matrix relationship between the axes and motors.  If there is a matrix 
relationship in the definition statements, these matrix operators will act “on top” of that relationship. 
Setting up the Matrices 
The first thing that must be done is to define a buffer space for the transformation matrices.  This is done 
with the on-line command DEFINE TBUF{constant}, where {constant} represents the number 
of matrices to be defined.  Each matrix is automatically set to the identity matrix at this command.  This 
needs to be done only once, as the space and the values for the matrices will be kept in battery-backed 
RAM until a DELETE TBUF or $$$*** command is given. 
Using the Matrices 
Inside the motion program, the TSEL{constant} (transform select) command picks one of the 
matrices that has been defined for use as the active transformation matrix for the coordinate system.  This 
matrix will be in force for the next calculated moves in the program. 
Once selected, the matrix may be processed with several program commands.  The processing serves to 
put new values in the selected matrix.  The matrix is used, with whatever values it contains at the time, 
during the calculation of any move involving the X, Y, or Z-axes. 
Initializing the Matrix   
The TINIT (transform initialize) command makes the selected matrix the identity matrix, so that 
transformed positions would equal untransformed positions. 
Absolute Displacement  
The ADIS{constant} (absolute displacement) command sets up the displacement portion of the 
selected matrix by making the three displacement values (D1, D2, and D3) equal to the three Q-variables 
starting with the one specified with {constant}.  For instance, ADIS 25 would make the X-
displacement equal to Q25, the Y-displacement equal to Q26, and the Z-displacement equal to Q27. 
Incremental Displacement 
The IDIS{constant} (incremental displacement) command changes the displacement portion of the 
selected matrix by adding the values of the three Q-variables to the existing displacement. 
Absolute Rotation/Scaling 
The AROT{constant} (absolute rotation) command sets up the rotation/scaling portion of the selected 
matrix by making the nine rotation/scaling values equal to the nine Q-variables starting with the one 
specified by {constant}.  For instance, AROT 71 would make R11 in the matrix equal to Q71, R12 
equal to Q72, and so on, to R33 equal to Q79. 
Incremental Rotation/Scaling 
The IROT{constant} (incremental rotation) command changes the rotation/scaling portion of the 
selected matrix by multiplying it by a matrix consisting of the nine Q-variables starting with the one 
specified by {constant}.  This has the effect of adding angles of rotation, and multiplying scale 
factors.  For instance IROT 100 would multiply the existing matrix by a matrix consisting of the values 
of Q100 to Q108. 
Details 
After using any of these commands, any following changes to the Q-variables used do not change the 
selected matrix.  Another command using the Q-variables would have to be executed to change the 
selected matrix.