0% found this document useful (0 votes)
50 views

Variable Description Corollary Info

This document defines common address codes used in CNC programming. It lists each address code from A-Z, provides a brief description of what each code represents (e.g. rotational axis, feed rate, tool selection), and in some cases additional corollary information about how the code is used or interpreted. The address codes provide instructions to the CNC control system to position axes, select tools, set speeds and feeds, and execute other machine functions.

Uploaded by

chamal
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Variable Description Corollary Info

This document defines common address codes used in CNC programming. It lists each address code from A-Z, provides a brief description of what each code represents (e.g. rotational axis, feed rate, tool selection), and in some cases additional corollary information about how the code is used or interpreted. The address codes provide instructions to the CNC control system to position axes, select tools, set speeds and feeds, and execute other machine functions.

Uploaded by

chamal
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Variable Description Corollary info

A Absolute or incremental
Positive rotation is define as a counterclockwise
position of A axis (rotational
rotation looking from X positive towards X negative.
axis around X axis)

B Absolute or incremental
position of B axis (rotational
axis around Y axis)

C Absolute or incremental
position of C axis (rotational
axis around Z axis)

D Defines diameter or radial


offset used for cutter
compensation. D is used for G41: left cutter compensation, G42: right cutter
depth of cut on lathes. It is compensation
used for aperture selection and
commands on photoplotters.

E Precision feedrate for


threading on lathes

F Common units are distance per time for mills (inches


per minute, IPM, or millimeters per minute, mm/min)
Defines feed rate
and distance per revolution for lathes (inches per
revolution, IPR, or millimeters per revolution, mm/rev)

G G commands often tell the control what kind of motion


Address for preparatory
is wanted (e.g., rapid positioning, linear feed, circular
commands
feed, fixed cycle) or what offset value to use.

H Defines tool length offset;


G43: Negative tool length compensation, G44:
Incremental axis corresponding
Positive tool length compensation
to C axis (e.g., on a turn-mill)
I Defines arc center in X axis
The Arc center is the relative distance from the
for G02 or G03arc commands.
current position to the arc center, not the absolute
Also used as a parameter
distance from the work coordinate system (WCS).
within some fixed cycles.

J Defines arc center in Y axis


for G02 or G03arc commands.
Same corollary info as I above.
Also used as a parameter
within some fixed cycles.

K Defines arc center in Z axis


for G02 or G03arc commands.
Also used as a parameter Same corollary info as I above.
within some fixed cycles, equal
to L address.

L Fixed cycle loop count: Defines number of repetitions


("loops") of a fixed cycle at each position. Assumed to
be 1 unless programmed with another integer.
Fixed cycle loop count; Sometimes the K address is used instead of L. With
Specification of what register to incremental positioning (G91), a series of equally
edit using G10 spaced holes can be programmed as a loop rather
than as individual positions.
G10 use: Specification of what register to edit (work
offsets, tool radius offsets, tool length offsets, etc.).

M Action code, auxiliary command; descriptions vary.


Many M-codes call for machine functions, which is
Miscellaneous function
why people often say that the "M" stands for
"machine", although it was not intended to.

N Line (block) numbers: Optional, so often omitted.


Necessary for certain tasks, such as M99 P address
(to tell the control which block of the program to return
Line (block) number in to if not the default) or GoTo statements (if the control
program; supports those). N numbering need not increment by
System parameter number to 1 (for example, it can increment by 10, 20, or 1000)
change using G10 and can be used on every block or only in certain
spots throughout a program.
System parameter number: G10 allows changing of
system parameters under program control.[6]
O For example, O4501. For many years it was common
for CNC control displays to use slashed zero glyphs
Program name to ensure effortless distinction of letter "O" from digit
"0". Today's GUI controls often have a choice of fonts,
like a PC does.

With G04, defines dwell time value.


P Also serves as a parameter in some canned
cycles, representing dwell times or other
Serves as parameter address variables.
for various G and M codes Also used in the calling and termination of
subprograms. (With M98, it specifies which
subprogram to call; with M99, it specifies which
block number of the main program to return to.)
Q Peck increment in canned
For example, G73, G83 (peck drilling cycles)
cycles
R For radii, not all controls support the R address
Defines size of arc radius, or
for G02 and G03, in which case IJK vectors are used.
defines retract height in milling
For retract height, the "R level", as it's called, is
canned cycles
returned to if G99 is programmed.
S Data type = integer. In G97 mode (which is usually
the default), an integer after S is interpreted as a
number of rev/min (rpm). In G96 mode (CSS), an
Defines speed, either spindle
integer after S is interpreted as surface speedsfm
speed or surface speed
(G20) or m/min (G21). See also Speeds and feeds.
depending on mode
On multifunction (turn-mill or mill-turn) machines,
which spindle gets the input (main spindle or
subspindles) is determined by other M codes.
T To understand how the T address works and how it
interacts (or not) with M06, one must study the
various methods, such as lathe turret programming,
ATC fixed tool selection, ATC random memory tool
Tool selection
selection, the concept of "next tool waiting", and
empty tools.[3] Programming on any particular
machine tool requires knowing which method that
machine uses.[3]
U Incremental axis corresponding
to X axis (typically only lathe
In these controls, X and U obviate G90 and G91,
group A controls)
respectively. On these lathes, G90 is instead a fixed
Also defines dwell time on
cycle address for roughing.
some machines (instead of "P"
or "X").
V Until the 2000s, the V address was very rarely used,
because most lathes that used U and W didn't have a
Incremental axis corresponding Y-axis, so they didn't use V. (Green et al. 1996[5] did
to Y axis not even list V in their table of addresses.) That is still
often the case, although the proliferation of live lathe
tooling and turn-mill machining has made V address
usage less rare than it used to be (Smid 2008[3] shows
an example). See also G18.
W Incremental axis corresponding In these controls, Z and W obviate G90 and G91,
to Z axis (typically only lathe respectively. On these lathes, G90 is instead a fixed
group A controls) cycle address for roughing.
X Absolute or incremental
position of X axis.
Also defines dwell time on
some machines (instead of "P"
or "U").
Y Absolute or incremental
position of Y axis
Z Absolute or incremental The main spindle's axis of rotation often determines
position of Z axis which axis of a machine tool is labeled as Z.

You might also like