Programabilne funkcije CNC alatnih strojeva podijeljene su u dvije kategorije:
Jedna kategorija se koristi za kontrolu putanje alata, tj. kretanja svake ose posmaka, kao što je linearna/kružna interpolacija, kontrola posmaka, pomicanje i transformacija ishodišta koordinatnog sistema, postavljanje jedinice dimenzije, pomak alata i kompenzacija, itd. Ova kategorija funkcija se naziva pripremne funkcije, a sastoji se od slova G iza kojeg slijede dvije cifre, poznate i kao G-}.
Druga kategorija funkcija se nazivaju pomoćne funkcije, koriste se za kompletiranje kontrole izvršavanja programa, kontrole vretena, kontrole alata, kontrole pomoćne opreme, itd. Među ovim pomoćnim funkcijama, Tx x se koristi za odabir alata, a Sx xxx se koristi za kontrolu brzine vretena. Ostale funkcije se implementiraju korištenjem M- kodova koji se sastoje od slova M praćenog dvije cifre.
1. Često korištene funkcije G-koda
G00 pozicioniranje (brzo kretanje)
G01 Linearna interpolacija (brzina kretanja)
G02 Kružna interpolacija u smjeru kazaljke na satu
G03 Kružna interpolacija u smjeru suprotnom od kazaljke na satu
G04 Pauza, precizno zaustavljanje
G09 Precizno zaustavljanje
G17 Odaberite X/Y ravninu
G18 Odaberite Z/X ravninu
G19 Odaberite Y/Z ravninu
G27 Povratak i provjera referentne točke
G28 Povratak na referentnu točku
G29 Povratak iz referentne točke
G30 Povratak na drugu referentnu točku
G40 Otkaži kompenzaciju radijusa alata
G41 Kompenzacija radijusa lijevog alata
G42 Kompenzacija radijusa desnog alata
G43 Kompenzacija dužine alata +
G44 Kompenzacija dužine alata -
G49 Otkaži kompenzaciju dužine alata
G52 Postavi lokalni koordinatni sistem
G53 Odaberite Koordinatni sistem stroja
G54 Odaberite koordinatni sistem obratka 1
G55 Odaberite koordinatni sistem obratka 2
G56 Odaberite koordinatni sistem obratka 3
G57 Odaberite koordinatni sistem obratka 4
G58 Odaberite koordinatni sistem obratka 5
G59 Odaberite koordinatni sistem obratka 6
G60 jednosmjerno{1}}pozicioniranje
G61 Način preciznog zaustavljanja
G64 Režim rezanja
G65 Makro programski poziv
G66 Modalni poziv makro programa
G67 Otkazivanje modalnog poziva makro programa
G73 Fiksni ciklus bušenja dubokih rupa
G74 Urezivanje obrnutog navoja fiksni ciklus
G76 Fiksni ciklus finog bušenja
G80 Poništi fiksni ciklus
G81 Fiksni ciklus bušenja
G82 Fiksni ciklus bušenja
G83 Fiksni ciklus bušenja dubokih rupa
G84 Fiksni ciklus narezivanja
G85 Fiksni ciklus bušenja
G{0}} Fiksni ciklus bušenja
G87 Obrnuto bušenje fiksni ciklus
G88 Boring Fiksni ciklus
G89 Boring Fiksni ciklus
G90 Komandni način apsolutne vrijednosti
G91 Komandni način inkrementalne vrijednosti
G92 Postavka nulte tačke obratka
G98 Povratak fiksnog ciklusa na početnu točku
G99 Povratak fiksnog ciklusa u tačku R
2. Često korištene funkcije M koda
M00 Pauza programa
M01 Uvjetno zaustavljanje programa
M02 Kraj programa
M03 Rotacija vretena naprijed
M04 Reverzna rotacija vretena
M05 Stop vretena
M06 Razmjena alata
M08 Hlađenje uključeno
M09 Isključeno hlađenje
M18 Orijentacija vretena Otkazivanje
M19 Orijentacija vretena
M29 Čvrsto urezivanje
M30 Kraj programa i povratak na zaglavlje programa
M98 Potprogramski poziv
M99 Potprogram Kraj povratka/ponavljanja izvršenja
3. Zajednička aritmetika
Dodatak: #i=#j + #k
Oduzimanje: #i=#j - #k
Množenje: #i=#j * #k
Divizija: #i=#j / #k
Sinus: #i=SIN[#j]
Arcsinus: #i=ASIN[#j]
Kosinus: #i=COS[#j]
Inverzni kosinus: #i=ACOS[#j]
Tangenta: #i=TAN[#j]
Arktangent: #i=ATAN[#j]
Kvadratni korijen: #i=SQRT[#j]
Apsolutna vrijednost: #i=ABS[#j]
Zaokruživanje: #i=ROUND[#j]
Zaokruživanje cijelog broja: #i=FIX[#j]
Zaokruživanje cijelog broja prema dolje: #i=FUP[#j]
Prirodni logaritam: #i=LN[#j]
Eksponencijalna funkcija: #i=EXP[#j]
ILI: #i=#j ILI #k
XOR: #i=#j X OR #k
I: #i=# I #k
Pretvori iz BCD u BIN: #i=BIN[#j]
Pretvorite iz BIN-a u BCD: #i=BCD[#j]
4. Logički operatori
EQ: Jednako
NE: Nije jednako
GT: Više od
GE: Veće ili jednako
LT: Manje od
LE: Manje ili jednako
5. Prijenos programa i petlje
Bezuslovni transfer: GOTO
Uvjetni prijenos: IF [uvjetni izraz]
AKO [uslovni izraz] IDI NA n, ako je uslov ispunjen, skoči na segment programa n
IF [uslovni izraz] THEN, npr.: IF [#I=#J] THEN #K=0
6. Izjave petlje
WHILE [uslovni izraz] Dom (m=1,2,,3)
…
Ako je uvjet ispunjen, izvedite program od Doma do ENDm (sve dok uvjet više nije ispunjen); u suprotnom, izvršite program nakon toga





