Meaning of G functions
| No. | DIN/ISO code | Description | TwinCAT / ISG Code | Conformity check | 
|---|---|---|---|---|
| 1 | G00 | rapid traverse | compliant | |
| 2 | G01 | Linear interpolation with programmed feed rate | compliant | |
| 3 | G02 | Clockwise circular interpolation with programmed feed rate | compliant | |
| 4 | G03 | Anti-clockwise circular interpolation with programmed feed rate | compliant | |
| 5 | G04 | Programmable dwell time | compliant | |
| 6 | G05 | Not assigned | Direct tangential selection/deselection of tool radius compensation | |
| 7 | G06 | Selecting spline interpolation | G151 | compliant | 
| 8 | G07 | Not assigned | Not assigned | 
 | 
| 9 | G08 | Acceleration at block start | compliant | |
| 10 | G09 | Deceleration at block end | compliant | |
| 11 | G10 | Not assigned | G10 | Constant feed rate with tool radius compensation | 
| 12 | G11 | Not assigned | G11 | Adapted feed rate with tool radius compensation | 
| 13 | G12 | Not assigned | G12 | Deselect corner deceleration | 
| 14 | G13 | Not assigned | G13 | Select corner deceleration | 
| 15 | G14 | Not assigned | Not assigned | 
 | 
| 16 | G15 | Not assigned | Not assigned | 
 | 
| 17 | G16 | Not assigned | Not assigned | 
 | 
| 18 | G17 | Select working plane XY | compliant | |
| 19 | G18 | Select working plane ZX | compliant | |
| 20 | G19 | Select working plane YZ | compliant | |
| 21 | G20 | Not assigned | G20 | Deselect mirroring | 
| 22 | G21 | Not assigned | G21 | Mirroring programmed path on the Y axis | 
| 23 | G22 | Not assigned | G22 | Mirroring programmed path on the X axis | 
| 24 | G23 | Not assigned | G23 | Superimposing G21 and G22 | 
| 25 | G24 | Not assigned | Not assigned | 
 | 
| 26 | G25 | Not assigned | G25 | Linear transitions with TRC | 
| 27 | G26 | Not assigned | G26 | Circular transitions with TRC | 
| 28 | G27 | Not assigned | Not assigned | 
 | 
| 29 | G28 | Not assigned | Not assigned | 
 | 
| 30 | G29 | Not assigned | Not assigned | 
 | 
| 31 | G30 | Not assigned | Not assigned | 
 | 
| 32 | G31 | Not assigned | Not assigned | 
 | 
| 33 | G32 | Not assigned | Not assigned | 
 | 
| 34 | G33 | Thread cutting, constant pitch | compliant | |
| 35 | G34 | Thread cutting, increasing pitch | Not assigned | 
 | 
| 36 | G35 | Thread cutting, decreasing pitch | Not assigned | 
 | 
| 37 | G36 | Not assigned | Not assigned | 
 | 
| 38 | G37 | Not assigned | Not assigned | 
 | 
| 39 | G38 | Not assigned | Not assigned | 
 | 
| 40 | G39 | Not assigned | Not assigned | 
 | 
| 41 | G40 | Deactivate tool radius compensation | G40 | compliant | 
| 42 | G41 | Activate tool radius compensation on left of contour | G41 | compliant | 
| 43 | G42 | Activate tool radius compensation on right of contour | G42 | compliant | 
| 44 | G43 | Not assigned | Not assigned | 
 | 
| 45 | G44 | Not assigned | Not assigned | 
 | 
| 46 | G45 | Not assigned | Not assigned | 
 | 
| 47 | G46 | Not assigned | Not assigned | 
 | 
| 48 | G47 | Not assigned | Not assigned | 
 | 
| 49 | G48 | Not assigned | Not assigned | 
 | 
| 50 | G49 | Not assigned | Not assigned | 
 | 
| 51 | G50 | Not assigned | Not assigned | 
 | 
| 52 | G51 | Not assigned | G51 | Selecting diameter programming | 
| 53 | G52 | Not assigned | G52 | Deselecting diameter programming | 
| 54 | G53 | Cancel zero offset | compliant | |
| 55 | G54 | Select zero offset 1 | compliant | |
| 56 | G55 | Select zero offset 2 | compliant | |
| 57 | G56 | Select zero offset 3 | compliant | |
| 58 | G57 | Select zero offset 4 | compliant | |
| 59 | G58 | Select zero offset 5 | compliant | |
| 60 | G59 | Select zero offset 6 | compliant | |
| 61 | G60 | Not assigned | Exact stop (stop at block end, then continue motion in next block) | |
| 62 | G61 | Not assigned | G61 | Select polynomial contouring | 
| 63 | G62 | Not assigned | Not assigned | 
 | 
| 64 | G63 | Thread tapping | compliant | |
| 65 | G64 | Not assigned | Not assigned | 
 | 
| 66 | G65 | Not assigned | Not assigned | 
 | 
| 67 | G66 | Not assigned | Not assigned | 
 | 
| 68 | G67 | Not assigned | Not assigned | 
 | 
| 69 | G68 | Not assigned | Not assigned | 
 | 
| 70 | G69 | Not assigned | Not assigned | 
 | 
| 71 | G70 | Inputs in inches (inch) | compliant | |
| 72 | G71 | Inputs in metric units | compliant | |
| 73 | G72 | Not assigned | Not assigned | 
 | 
| 74 | G73 | Not assigned | Not assigned | 
 | 
| 75 | G74 | Homing | compliant | |
| 76 | G75 | Not assigned | Not assigned | 
 | 
| 77 | G76 | Not assigned | Not assigned | 
 | 
| 78 | G77 | Not assigned | Not assigned | 
 | 
| 79 | G78 | Not assigned | Not assigned | 
 | 
| 80 | G79 | Not assigned | Not assigned | 
 | 
| 81 | G80 | End machining cycle | G80 or not assigned | Implicit subroutine call (if name was configured) | 
| 82 | G81 | Drilling, centring cycle | G81 or not assigned | Implicit subroutine call (if name was configured) | 
| 83 | G82 | Drilling, spot facing cycle | G82 or not assigned | Implicit subroutine call (if name was configured) | 
| 84 | G83 | Deep hole drilling, chip breaking cycle | G83 or not assigned | Implicit subroutine call (if name was configured) | 
| 85 | G84 | Thread tapping cycle | G84 or not assigned | Implicit subroutine call (if name was configured) | 
| 86 | G85 | Boring 1 cycle | G85 or not assigned | Implicit subroutine call (if name was configured) | 
| 87 | G86 | Boring 2 cycle | G86 or not assigned | Implicit subroutine call (if name was configured) | 
| 88 | G87 | Boring 3 cycle | G87 or not assigned | Implicit subroutine call (if name was configured) | 
| 89 | G88 | Boring 4 cycle | G88 or not assigned | Implicit subroutine call (if name was configured) | 
| 90 | G89 | Boring 5 cycle | G89 or not assigned | Implicit subroutine call (if name was configured) | 
| 91 | G90 | Absolute dimension | compliant | |
| 92 | G91 | Incremental dimension | compliant | |
| 93 | G92 | Reference point offset | compliant | |
| 94 | G93 | Inverse-time feed rate in 1/mm | Machining time in seconds | |
| 95 | G94 | Feed rate in mm/min, inch/min, degrees/min | compliant | |
| 96 | G95 | Feed rate in mm/revolution, inch/revolution | compliant | |
| 97 | G96 | Constant cutting speed m/min | compliant | |
| 98 | G97 | Spindle speed in rpm. | compliant | |
| 99 | G98 | Not assigned | Setting negative software limit switch | |
| 100 | G99 | Not assigned | Setting positive software limit switch | |
| End of DIN/ISO definition | ||||