37.5 G-CODES
Note that G and M codes not universal standards, and may vary between machines. In any case of doubt, the manuals for the machine should be checked.
A basic list of `G' operation codes is given below. These direct motion of the tool.
G00 - Rapid move (not cutting)
G02 - Clockwise circular motion
G03 - Counterclockwise circular motion
G05 - Pause (for operator intervention)
G17 - x-y plane for circular interpolation
G18 - z-x plane for circular interpolation
G19 - y-z plane for circular interpolation
G20 - turning cycle or inch data specification
G21 - thread cutting cycle or metric data specification
G25 - wait for input #1 to go low (Prolight Mill)
G26 - wait for input #1 to go high (Prolight Mill)
G28 - return to reference point
G29 - return from reference point
G31 - Stop on input (INROB1 is high) (Prolight Mill)
G33-35 - thread cutting functions (Emco Lathe)
G35 - wait for input #2 to go low (Prolight Mill)
G36 - wait for input #2 to go high (Prolight Mill)
G40 - cutter compensation cancel
G41 - cutter compensation to the left
G42 - cutter compensation to the right
G43 - tool length compensation, positive
G44 - tool length compensation, negative
G70 - set inch based units or finishing cycle
G71 - set metric units or stock removal
G72 - indicate finishing cycle (EMCO Lathe)
G72 - 3D circular interpolation clockwise (Prolight Mill)
G73 - turning cycle contour (EMCO Lathe)
G73 - 3D circular interpolation counter clockwise (Prolight Mill)
G74 - facing cycle contour (Emco Lathe)
G74.1 - disable 360 deg arcs (Prolight Mill)
G75 - pattern repeating (Emco Lathe)
G75.1 - enable 360 degree arcs (Prolight Mill)
G76 - deep hole drilling, cut cycle in z-axis
G77 - cut-in cycle in x-axis
G78 - multiple threading cycle
G81-89 - fixed cycles specified by machine tool manufacturers
G81 - drilling cycle (Prolight Mill)
G82 - straight drilling cycle with dwell (Prolight Mill)
G83 - drilling cycle (EMCO Lathe)
G83 - peck drilling cycle (Prolight Mill)
G84 - taping cycle (EMCO Lathe)
G85 - reaming cycle (EMCO Lathe)
G85 - boring cycle (Prolight mill)
G86 - boring with spindle off and dwell cycle (Prolight Mill)
G89 - boring cycle with dwell (Prolight Mill)
G90 - absolute dimension program
G91 - incremental dimensions
G92 - Spindle speed limit
G93 - Coordinate system setting
G94 - Feed rate in ipm (EMCO Lathe)
G95 - Feed rate in ipr (EMCO Lathe)
G96 - Surface cutting speed (EMCO Lathe)
G97 - Rotational speed rpm (EMCO Lathe)
G98 - withdraw the tool to the starting point or feed per minute
G99 - withdraw the tool to a safe plane or feed per revolution
G101 - Spline interpolation (Prolight Mill)
M-Codes control machine functions and these include,
M01 - optional stop using stop button
M08 - turn on accessory #1 (120VAC outlet) (Prolight Mill)
M09 - turn off accessory #1 (120VAC outlet) (Prolight Mill)
M10 - turn on accessory #2 (120VAC outlet) (Prolight Mill)
M11 - turn off accessory #2 (120VAC outlet) (Prolight Mill) or tool change
M20 - tailstock back (EMCO Lathe)
M20 - Chain to next program (Prolight Mill)
M21 - tailstock forward (EMCO Lathe)
M22 - Write current position to data file (Prolight Mill)
M25 - open chuck (EMCO Lathe)
M25 - set output #1 off (Prolight Mill)
M26 - close chuck (EMCO Lathe)
M26 - set output #1 on (Prolight Mill)
M30 - end of tape (rewind)
M35 - set output #2 off (Prolight Mill)
M36 - set output #2 on (Prolight Mill)
M38 - put stepper motors on low power standby (Prolight Mill)
M47 - restart a program continuously, or a fixed number of times (Prolight Mill)
M71 - puff blowing on (EMCO Lathe)
M72 - puff blowing off (EMCO Lathe)
M96 - compensate for rounded external curves
M97 - compensate for sharp external curves
M99 - return from subprogram, jump instruction
M101 - move x-axis home (Prolight Mill)
M102 - move y-axis home (Prolight Mill)
M103 - move z-axis home (Prolight Mill)
Other codes and keywords include,
Annn - an orientation, or second x-axis spline control point
Bnnn - an orientation, or second y-axis spline control point
Cnnn - an orientation, or second z-axis spline control point, or chamfer
Fnnn - a feed value (in ipm or m/s, not ipr), or thread pitch
Innn - x-axis center for circular interpolation, or first x-axis spline control point
Jnnn - y-axis center for circular interpolation, or first y-axis spline control point
Knnn - z-axis center for circular interpolation, or first z-axis spline control point
Lnnn - arc angle, loop counter and program cycle counter
Nnnn - a sequence/line number
Onnn - subprogram block number
Pnnn - subprogram reference number
Rnnn - a clearance plane for tool movement, or arc radius, or taper value
Qnnn - peck depth for pecking cycle
Snnn - cutting speed (rpm), spindle speed
Unnn - relative motion in x
Vnnn - relative motion in y
Wnnn - relative motion in z
; - starts a comment (proLight Mill), or end of block (EMCO Lathe)