Robotics & Automation News

Where Innovation Meets Imagination

How to become a G-Code master with a complete list of G-Codes

By Joseph Zulick, MRO Electric

As a generic name for a plain-text language in which CNC machine are able to understand, G-Codes are important to understand in the manufacturing, automation and engineering spaces.

You can enter a G-Code manually if you wish, but you do not have to because of the CAD/CAM software’ abilities along with the machine controller.

G-Codes are not necessarily readable by humans, but it’s possible to look through the file and determine what is generally occurring. 

In the factory automation space, nobody likes downtime and receiving error codes. While using CNCs (view Fanuc CNC parts here), many professionals are faced with G Codes.

By definition, a G Code is a computer code language that is used to guide CNC machine devices to perform specific motions.

A few examples of specific motions would be:

  • canned cycles
  • work coordinates
  • several repetitive cycles.

G Codes: Canned cycles 

Also referred to as a fixed cycle, canned cycles are ways to effectively and efficiently perform repetitive CNC machining operations.

They automate specific machining functions. A few examples would be pocketing, threading, and drilling.

A canned cycle is almost always stored as a pre-program in a machine’s controller.

To learn more about canned cycles, check out this article courtesy of zero-divide.net.

G Codes: Work coordinates

The G Code coordinate pipeline goes something like this:

  • Unit conversion to metric
  • Convert from relative to absolute and polar to
  • Cartesian: g90g91XYZ()
  • G52, G54, and G92 offsets
  • G51 scaling
  • G68 coordinate rotation

G-Code is the most popular programming language used for programming CNC machinery.

Some G words alter the state of the machine so that it changes from cutting straight lines to cutting arcs.

Other G words cause the interpretation of numbers as millimeters rather than inches.

Some G words set or remove tool length or diameter offsets. Be sure to check out our article covering Fanuc CNC Codes here.

MRO Electric and Supply has new and refurbished Fanuc CNC parts available. We also offer repair pricing.

Tool parameters, feeds, and speeds

Listed below are some easily-understood G-code commands in which are used for setting the speed, feed, and tool parameters.

F = Feed

The F command’s purpose is to set the feed rate. Keep in mind, the machine operates at the specified speed rate when G1 is used, G1 commands are set to operate at the set F value.

An error is likely to occur if the feed rate (F) isn’t set once before the first G1 call.

Here is an example:

  • G1 F1500 X100 Y100

S= Spindle Speed

The S command’s purpose is to set the spindle speed. The Spindle speed is almost always set in RPMs (revolutions per minute).

Here is an example:

  • S10000

T = Tool

The T command’s purpose is paired with M6 in order to display the tool number to be used for cutting the current file.

Here is an example:

  • M6 T1

Below is a complete listing of G Codes:

G00 Rapid traverse
G01 Linear interpolation with feed rate
G02 Circular interpolation (clockwise)
G03 Circular interpolation (counterclockwise)
G2/G3 Helical interpolation
G04 Dwell time in milliseconds
G05 Spline definition
G06 Spline interpolation
G07 Tangential circular interpolation, Helix interpolation, Polygon interpolation, Feedrate interpolation
G08 Ramping function at block transition / Look ahead “off”
G09 No ramping function at block transition / Look ahead “on”
G10 Stop dynamic block preprocessing
G11 Stop interpolation during block preprocessing
G12 Circular interpolation (CW) with radius
G13 Circular interpolation (CCW) with radius
G14 Polar coordinate programming, absolute
G15 Polar coordinate programming, relative
G16 Definition of the pole point of the polar coordinate system
G17 Selection of the X, Y plane
G18 Selection of the Z, X plane
G19 Selection of the Y, Z plane
G20 Selection of a freely definable plane
G21 Parallel axes “on”
G22 Parallel axes “off”
G24 Safe zone programming; lower limit values
G25 Safe zone programming; upper limit values
G26 Safe zone programming “off”
G27 Safe zone programming “on”
G33 Thread cutting with constant pitch
G34 Thread cutting with dynamic pitch
G35 Oscillation configuration
G38 Mirror imaging “on”
G39 Mirror imaging “off”
G40 Path compensations “off”
G41 Path compensation left of the workpiece contour
G42 Path compensation right of the workpiece contour
G43 Path compensation left of the workpiece contour with altered approach
G44 Path compensation right of the workpiece contour with altered approach
G50 Scaling
G51 Part rotation; programming in degrees
G52 Part rotation; programming in radians
G53 Zero offset off
G54 Zero offset #1
G55 Zero offset #2
G56 Zero offset #3
G57 Zero offset #4
G58 Zero offset #5
G59 Zero offset #6
G63 Feed/spindle override not active
G66 Feed/spindle override active
G70 Inch format active
G71 Metric format active
G72 Interpolation with precision stop “off”
G73 Interpolation with precision stop “on”
G74 Move to home position
G75 Curvature function activation
G76 Curvature acceleration limit
G78 Normalcy function “on” (rotational axis orientation)
G79 Normalcy function “off”

G80 – G89 for milling applications:

G80 Canned cycle “off”
G81 Drilling to final depth canned cycle
G82 Spot facing with dwell time canned cycle
G83 Deep hole drilling canned cycle
G84 Tapping or Thread cutting with balanced chuck canned cycle
G85 Reaming canned cycle
G86 Boring canned cycle
G87 Reaming with measuring stop canned cycle
G88 Boring with spindle stop canned cycle
G89 Boring with intermediate stop canned cycle

G81 – G88 for cylindrical grinding applications:

G81 Reciprocation without plunge
G82 Incremental face grinding
G83 Incremental plunge grinding
G84 Multi-pass face grinding
G85 Multi-pass diameter grinding
G86 Shoulder grinding
G87 Shoulder grinding with face plunge
G88 Shoulder grinding with diameter plunge
G90 Absolute programming
G91 Incremental programming
G92 Position preset
G93 Constant tool circumference velocity “on” (grinding wheel)
G94 Feed in mm / min (or inch / min)
G95 Feed per revolution (mm / rev or inch / rev)
G96 Constant cutting speed “on”
G97 Constant cutting speed “off”
G98 Positioning axis signal to PLC
G99 Axis offset
G100 Polar transformation “off”
G101 Polar transformation “on”
G102 Cylinder barrel transformation “on”; cartesian coordinate system
G103 Cylinder barrel transformation “on,” with real-time-radius compensation (RRC)
G104 Cylinder barrel transformation with centerline migration (CLM) and RRC
G105 Polar transformation “on” with polar axis selections
G106 Cylinder barrel transformation “on” polar-/cylinder-coordinates
G107 Cylinder barrel transformation “on” polar-/cylinder-coordinates with RRC
G108 Cylinder barrel transformation polar-/cylinder-coordinates with CLM and RRC
G109 Axis transformation programming of the tool depth
G110 Power control axis selection/channel 1
G111 Power control pre-selection V1, F1, T1/channel 1 (Voltage, Frequency, Time)
G112 Power control pre-selection V2, F2, T2/channel 1
G113 Power control pre-selection V3, F3, T3/channel 1
G114 Power control pre-selection T4/channel 1
G115 Power control pre-selection T5/channel 1
G116 Power control pre-selection T6/pulsing output
G117 Power control pre-selection T7/pulsing output
G120 Axis transformation; orientation changing of the linear interpolation rotary axis
G121 Axis transformation; orientation change in a plane
G125 Electronic gearbox; plain teeth
G126 Electronic gearbox; helical gearing, axial
G127 Electronic gearbox; helical gearing, tangential
G128 Electronic gearbox; helical gearing, diagonal
G130 Axis transformation; programming of the type of the orientation change
G131 Axis transformation; programming of the type of the orientation change
G132 Axis transformation; programming of the type of the orientation change
G133 Zero lag thread cutting “on”
G134 Zero lag thread cutting “off”
G140 Axis transformation; orientation designation workpiece fixed coordinates
G141 Axis transformation; orientation designation active coordinates
G160 ART activation
G161 ART learning function for velocity factors “on”
G162 ART learning function deactivation
G163 ART learning function for acceleration factors
G164 ART learning function for acceleration changing
G165 Command filter “on”
G166 Command filter “off”
G170 Digital measuring signals; block transfer with hard stop
G171 Digital measuring signals; block transfer without hard stop
G172 Digital measuring signals; block transfer with smooth stop
G175 SERCOS-identification number “write”
G176 SERCOS-identification number “read”
G180 Axis transformation “off”
G181 Axis transformation “on” with not rotated coordinate system
G182 Axis transformation “on” with rotated/displaced coordinate system
G183 Axis transformation; definition of the coordinate system
G184 Axis transformation; programming tool dimensions
G186 Look ahead; corner acceleration; circle tolerance
G188 Activation of the positioning axes
G190 Diameter programming deactivation
G191 Diameter programming “on” and display of the contact point
G192 Diameter programming; only display contact point diameter
G193 Diameter programming; only display contact point actual axes center point
G200 Corner smoothing “off”
G201 Corner smoothing “on” with defined radius
G202 Corner smoothing “on” with defined corner tolerance
G203 Corner smoothing with defined radius up to maximum tolerance
G210 Power control axis selection/Channel 2
G211 Power control pre-selection V1, F1, T1/Channel 2
G212 Power control pre-selection V2, F2, T2/Channel 2
G213 Power control pre-selection V3, F3, T3/Channel 2
G214 Power control pre-selection T4/Channel 2
G215 Power control pre-selection T5/Channel 2
G216 Power control pre-selection T6/pulsing output/Channel 2
G217 Power control pre-selection T7/pulsing output/Channel 2
G220 Angled wheel transformation “off”
G221 Angled wheel transformation “on”
G222 Angled wheel transformation “on” but angled wheel moves before others
G223 Angled wheel transformation “on” but angled wheel moves after others
G265 Distance regulation – axis selection
G270 Turning finishing cycle
G271 Stock removal in turning
G272 Stock removal in facing
G274 Peck finishing cycle
G275 Outer diameter / internal diameter turning cycle
G276 Multiple pass threading cycle
G310 Power control axes selection /channel 3
G311 Power control pre-selection V1, F1, T1/channel 3
G312 Power control pre-selection V2, F2, T2/channel 3
G313 Power control pre-selection V3, F3, T3/channel 3
G314 Power control pre-selection T4/channel 3
G315 Power control pre-selection T5/channel 3
G316 Power control pre-selection T6/pulsing output/Channel 3
G317 Power control pre-selection T7/pulsing output/Channel 3

In conclusion, becoming well-versed on CNC G-Codes, along with other codes associated with CNCs is imperative in this day and age. B

y having up-to-speed knowledge of CNC codes, you could most definitely set yourself apart from the average Joe.