Reference Manual

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 IF, WHILE, OR
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)