Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Program Command Specification 
 413 
Note: 
This logical AND command, which acts on conditions, should not be confused with 
the bit-by-bit & (ampersand) operator that acts on values. 
Examples: 
IF (M11=1) 
; This branch will start a motion program running 
AND (M12=1) 
; on a cycle where inputs M11 and M12 are 1 and  
AND (M21=0) 
; M21 is still zero.  Note that M21 is immediately 
CMD"R" 
; set to one so the run command will not be given 
M21=1 
; again in the next cycle. 
ENDIF 
See Also: 
Writing a PLC Program 
Conditions (Program Computational Features) 
Program Commands IFWHILEOR 
AROT{constant}  
Function: 
Absolute rotation/scaling of X, Y, and Z axes 
Type: 
Motion program (PROG and ROT) 
Syntax: 
AROT{constant} 
where: 
 
{constant} is an integer representing the number of the first of nine consecutive Q-variables to be 
used in the rotation/scaling matrix 
This command loads the currently selected (with TSEL) transformation matrix for the coordinate system 
with rotation/scaling values contained in the nine Q-variables starting with the specified one.  This has the 
effect of renaming the current commanded X, Y, and Z axis positions (from the latest programmed move) 
by multiplying the XYZ vector by this matrix. 
The rotation and scaling is done relative to the base XYZ coordinate system, defined by the axis 
definition statements.  The math performed is: 
[Xrot Yrot Zrot]
T
 = [Rot Matrix] [Xbase Ybase Zbase]
T
 
This command does not cause any movement of axes; it simply renames the present positions. 
Note:   
When using this command to scale the coordinate system, do not use the radius 
center specification for circle commands.  The radius does not get scaled.  Use the 
I, J, K vector specification instead.  
Examples: 
Create a 3x3 matrix to rotate the XY plane by 30 degrees about the origin 
Q40=COS(30) 
Q41=SIN(30) 
Q42=0 
Q43=-SIN(30) 
Q44=COS(30) 
Q45=0 
Q46=0 
Q47=0 
 
 
Q48=1 
AROT 40 
; Implement the change 
Create a 3x3 matrix to scale the XYZ space by a factor of 3 
Q50=3 
Q51=0 
 
 
Q52=0 
Q53=0 
Q54=3 
 
 
Q55=0 
Q56=0 
Q57=0 
 
 
Q58=3 
AROT 50 
; Implement the change 
See Also: 
Axis Matrix Transformations (Writing and Executing Motion Programs)