Delta Tau GEO BRICK LV 用户手册
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
selected matrix. Another command using the Q-variables would have to be executed to change the
selected matrix.