User's Manual

PMAC User Manual
Writing Programs for PMAC 205
G03 — 2D Counterclockwise Arc Mode
Typically, this code is implemented in PMAC through use of the CIRCLE2 command. The simplest
implementation of this is N02000 CIRCLE2 RET. If feedrate override is desired, and it could have
been disabled in RAPID mode, the subroutine should set the time-base source address variable to the
register containing the external information (e.g. I193=1833).
G04 — Dwell Command
This code requires the use of the READ command. Different dialects of G-codes have the dwell time after
a P or after an X. PMAC can handle either; just use a READ (P) or a READ (X) as appropriate; the P-
value would be placed in Q116, and the X-value would be placed in Q124. The units of time must also be
considered. PMAC dwell units are in milliseconds. If the G04 units are seconds, the value passed must
be multiplied by 1000. A typical implementation would be N04000 READ (P) DWELL
(Q116*1000) RET.
G09 — Exact Stop
In some dialects of G-code, this code causes a stop between two moves so that no corner-rounding
blending between the moves is done. In PMAC, this can be implemented simply by executing a short
dwell. A typical implementation would be N09000 DWELL10 RET.
G17, G18, G19 — Select Plane
These codes select the plane in which circular interpolation and cutter radius compensation will be done.
G17 selects the XY plane, G18 selects the ZX plane, and G19 selects the YZ plane. In PMAC, this is
performed by the NORMAL command, which specifies the vector normal to this plane (and is not limited
to these choices). The standard PMAC implementation of these codes would be:
N17000 NORMAL K-1
RET
N18000 NORMAL J-1
RET
N19000 NORMAL I-1
RET
It is important that the RET command be on a separate line here; otherwise when PMAC returns to the line
that called the subroutine, the NORMAL command would try to pick up more arguments from that line.
To use this information for other routines (such as G68 rotation), set some variable(s) in these routines to
note what plane has been specified. The PMAC circular interpolation and radius compensation routines
do not need such a variable.
G40, G41, G42 — Cutter Radius Compensation
Cutter radius compensation can be turned on and off easily with the CC0, CC1, and CC2 PMAC commands,
corresponding to G40, G41, and G42, respectively. The subroutines to implement this would be:
N40000 CC0 RET ; Turn off cutter compensation
N41000 CC1 RET ; Turn on cutter compensation left
N42000 CC2 RET ; Turn on cutter compensation right
G90 — Absolute Move Mode
Typically, this code is implemented in PMAC through use of the ABS command. The ABS command
without a list of axes puts all axes in the coordinate system in absolute move mode. The typical
implementation would be G90000 ABS RET. Also if the G-Code dialect has G90 making the circle-
move center vectors absolute, an ABS (R) command should be added to this routine.