| G codes simple definition | |
| G00 | Rapid traverse |
| G01 | Linear interpolation with feedrate |
| G02 | Circular interpolation (clockwise) |
| G03 | Circular interpolation (counter clockwise) |
| 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 work piece contour |
| G42 | Path compensation right of the work piece contour |
| G43 | Path compensation left of the work piece contour with altered approach |
| G44 | Path compensation right of the work piece 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 center line 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 gear box; plain teeth |
| G126 | Electronic gear box; helical gearing, axial |
| G127 | Electronic gear box; helical gearing, tangential |
| G128 | Electronic gear box; 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 work piece 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 |
| Note that some of the above G-codes are not standard. Specific control features, such as laser power control, enable those optional codes. | |
| M codes simple definition | |
| M00 | Unconditional stop |
| M01 | Conditional stop |
| M02 | End of program |
| M03 | Spindle clockwise |
| M04 | Spindle counterclockwise |
| M05 | Spindle stop |
| M06 | Tool change (see Note below) |
| M19 | Spindle orientation |
| M20 | Start oscillation (configured by G35) |
| M21 | End oscillation |
| M30 | End of program |
| M40 | Automatic spindle gear range selection |
| M41 | Spindle gear transmission step 1 |
| M42 | Spindle gear transmission step 2 |
| M43 | Spindle gear transmission step 3 |
| M44 | Spindle gear transmission step 4 |
| M45 | Spindle gear transmission step 5 |
| M46 | Spindle gear transmission step 6 |
| M70 | Spline definition, beginning and end curve 0 |
| M71 | Spline definition, beginning tangential, end curve 0 |
| M72 | Spline definition, beginning curve 0, end tangential |
| M73 | Spline definition, beginning and end tangential |
| M80 | Delete rest of distance using probe function, from axis measuring input |
| M81 | Drive On application block (resynchronize axis position via PLC signal during the block) |
| M101-M108 | Turn off fast output byte bit 1 (to 8) |
| M109 | Turn off all (8) bits in the fast output byte |
| M111-M118 | Turn on fast output byte bit 1 (to 8) |
| M121-M128 | Pulsate (on/off) fast output byte bit 1 (to 8) |
| M140 | Distance regulation “on” (configured by G265) |
| M141 | Distance regulation “off” |
| M150 | Delete rest of distance using probe function, for a probe input (one of 16, M151-M168) |
| M151-M158 | Digital input byte 1 bit 1 (to bit 8) is the active probe input |
| M159 | PLC cannot define the bit mask for the probe inputs |
| M160 | PLC can define the bit mask for the probe inputs (up to 16) |
| M161-M168 | Digital input byte 2 bit 1 (to bit 8) is the active probe input |
| M170 | Continue the block processing look ahead of the part program (cancel the M171) |
| M171 | Stop the block processing look ahead of the probe input part program segment (like a G10) |
| M200 | Activate the handwheel operation in the automatic mode (to introduce an offset in the program) |
| M201-M208 | Select the axis (by number from 1 to 8) for the handwheel operation |
| M209 | Activate the handwheel operation in the automatic mode, with PLC control of the axis selection |
| M210 | Deactivate the handwheel input while in the automatic mode |
| M211 | Deactivate this handwheel feature and also remove the handwheel offset (if any) |
| M213 | Spindle 2 clockwise |
| M214 | Spindle 2 counterclockwise |
| M215 | Spindle 2 stop |
| M280 | Switchable spindle/rotary axis, rotary axis on, first combination |
| M281 | Switchable spindle/rotary axis, rotary axis on, second combination |
| M290 | Switchable spindle/rotary axis, spindle enabled, first combination |
| M291 | Switchable spindle/rotary axis, spindle enabled, second combination |
| Note: Other machine functions, like tool change (usually M06) or coolant control, have their M-code value specified by the PLC application not by the CNC software. Most of the M-code values in above list are configurable. | |
| Other M-codes (up to M699) can be handled by the PLC application based on the particular machine requirements. | |
| |