NC Programming Codes
NC Programming as per ISO (DIN 66025) and RS274
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 / Helix / Polygon / 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
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.