# Meaning of G functions

No. | DIN/ISO code | Description | TwinCAT / ISG Code | Conformity check
--- | --- | --- | --- | ---
1 | G00 | Rapid traverse | G00 | compliant
2 | G01 | Linear interpolation with programmed feed rate | G01 | compliant
3 | G02 | Clockwise circular interpolation with programmed feed rate | G02 | compliant
4 | G03 | Anti-clockwise circular interpolation with programmed feed rate | G03 | compliant
5 | G04 | Programmable dwell time | G04 | compliant
6 | G05 | Not assigned | G05 | 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 | G08 | compliant
10 | G09 | Deceleration at block end | G09 | 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 | G17 | compliant
19 | G18 | Select working plane ZX | G18 | compliant
20 | G19 | Select working plane YZ | G19 | 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 | G33 | 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 | Selection of diameter programming
53 | G52 | Not assigned | G52 | Deselection of diameter programming
54 | G53 | Cancel zero offset | G53 | compliant
55 | G54 | Select zero offset 1 | G54 | compliant
56 | G55 | Select zero offset 2 | G55 | compliant
57 | G56 | Select zero offset 3 | G56 | compliant
58 | G57 | Select zero offset 4 | G57 | compliant
59 | G58 | Select zero offset 5 | G58 | compliant
60 | G59 | Select zero offset 6 | G59 | compliant
61 | G60 | Not assigned | G60 | 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 | Tapping | G63 | 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 inch (inch) | G70 | compliant
72 | G71 | Inputs in metric units | G71 | compliant
73 | G72 | Not assigned | Not assigned |
74 | G73 | Not assigned | Not assigned |
75 | G74 | Homing | G74 | 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 | G90 | compliant
92 | G91 | Incremental dimension | G91 | compliant
93 | G92 | Reference point offset | G92 | compliant
94 | G93 | Inverse-time feed rate in 1/mm | G93 | Machining time in seconds
95 | G94 | Feed rate in mm/min, inch/min, degrees/min | G94 | compliant
96 | G95 | Feed rate in mm/revolution, inch/revolution | G95 | compliant
97 | G96 | Constant cutting speed m/min | G96 | compliant
98 | G97 | Spindle speed in rpm. | G97 | compliant
99 | G98 | Not assigned | G98 | Setting negative software limit switch
100 | G99 | Not assigned | G99 | Setting positive software limit switch
End of DIN/ISO definition