DIN stands for “Deutsches Institut für Normung”, meaning “German institute for standardisation”.
CNC related DIN standards
- DIN 66025-1 Numerical control of machines, format; general requirements
- DIN 66025-2 Industrial automation; numerical control of machines; format, preparatory and miscellaneous functions
RS-274-D – A version of the G-code computer numerical control language, standardized by EIA.
Or
RS-274D is the standard for numerically controlled machines developed by the Electronic Industry Association
NC Programming as per ISO (DIN 66025) and RS274
Din 66025 G-Codes
- 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
- 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.