Reference Manual

PMAC 2 Software Reference
PMAC Program Command Specification 335
NORMAL
Function
Define Normal Vector to Plane of Circular Interpolation and Cutter Radius Compensation
Type
Motion program (PROG and ROT)
Syntax
NORMAL {vector}{data} [{vector}{data}...]
NRM {vector}{data} [{vector}{data}...]
where:
{vector} is one of the letters I, J, and K, representing components of the total vector
parallel to the X, Y, and Z axes, respectively.
{data} is a constant or expression representing the magnitude of the particular vector
component.
Remarks
This statement defines the orientation of the plane in XYZ-space in which circular
interpolation and cutter radius compensation will take place by setting the normal
(perpendicular) vector to that plane.
The vector components that can be specified are I (X-axis direction), J (Y-axis direction),
and K (Z-axis direction). The ratio of the component magnitudes determines the
orientation of the normal vector, and therefore, of the plane. The length of this vector does
not matter – it does not have to be a unit vector.
The direction sense of the vector does matter, because it defines the clockwise sense of an
arc move, and the sense of cutter-compensation offset. PMAC uses a right-hand rule; that
is, in a right-handed coordinate system (I
x J = K), if your right thumb points in the
direction of the norma vector specified here, your right fingers will curl in the direction of
a clockwise arc in the circular plane, and in the direction of offset-right from direction of
movement in the compensation plane.
Example
The standard settings to produce circles in the principal planes will therefore be:
NORMAL K-1 ; XY plane – equivalent to G17
NORMAL J-1 ; ZX plane – equivalent to G18
NORMAL I-1 ; YZ plane – equivalent to G19
By using more than one vector component, a circular plane skewed from the principal planes can be
defined:
NORMAL I0.866 J0.500
NORMAL J25 K-25
NORMAL J(-SIN(Q1)) K(-COS(Q1))
NORMAL I(P101) J(P201) K(301)
See Also
Circular Blended Moves, Cutter Radius Compensation (Writing a Motion Program)
Cartesian Axes (Setting Up a Coordinate System)
Program Commands CIRCLE1, CIRCLE2, CC0, CC1, CC2
O{constant}
Function
Alternate Line Label
Type
Motion program (PROG and ROT)
Syntax
O{constant}
where:
{constant} is an integer from 0 to 262,143 (2
18
-1).
Remarks
This is an alternate form of label in the motion program. It allows the flow of execution
to jump to that line with a GOTO, GOSUB, CALL, G, M, T, or D statement or a B
command. PMAC will store and report this as an N{constant statement, but O labels
are legal to send to the program buffer. (N10 and O10 are identical labels to PMAC.)