Programovateľné funkcie CNC obrábacích strojov sú rozdelené do dvoch kategórií:
Jedna kategória sa používa na riadenie dráhy nástroja, tj pohybu každej osi posuvu, ako je lineárna/kruhová interpolácia, riadenie posuvu, odsadenie a transformácia začiatku súradnicového systému, nastavenie rozmerových jednotiek, odsadenie nástroja a kompenzácia atď. Táto kategória funkcií sa nazýva prípravné funkcie, ktoré pozostávajú z písmena G, za ktorým nasledujú dve číslice, známe tiež ako G-kódy.
Ďalšia kategória funkcií sa nazýva pomocné funkcie, ktoré sa používajú na dokončenie riadenia vykonávania programu, riadenia vretena, riadenia nástroja, riadenia pomocného zariadenia atď. Medzi týmito pomocnými funkciami sa Tx x používa na výber nástroja a Sx xxx sa používa na riadenie otáčok vretena. Ostatné funkcie sú implementované pomocou M-kódov pozostávajúcich z písmena M, za ktorým nasledujú dve číslice.
1. Bežne používané funkcie G-kódu
Polohovanie G00 (Rýchly posuv)
G01 Lineárna interpolácia (rýchlosť posuvu)
G02 Kruhová interpolácia v smere hodinových ručičiek
G03 Kruhová interpolácia proti smeru hodinových ručičiek
G04 Pauza, presné zastavenie
G09 Presné zastavenie
G17 Vyberte rovinu X/Y
G18 Vyberte rovinu Z/X
G19 Vyberte Rovina Y/Z
G27 Návrat a kontrola referenčného bodu
G28 Návrat do referenčného bodu
G29 Návrat z referenčného bodu
G30 Návrat do druhého referenčného bodu
G40 Zrušenie kompenzácie polomeru nástroja
G41 Kompenzácia polomeru ľavého nástroja
G42 Kompenzácia polomeru pravého nástroja
G43 Kompenzácia dĺžky nástroja +
G44 Kompenzácia dĺžky nástroja -
G49 Zrušenie kompenzácie dĺžky nástroja
G52 Nastavenie lokálneho súradnicového systému
G53 Vyberte Súradnicový systém stroja
G54 Výber súradnicového systému obrobku 1
G55 Vyberte súradnicový systém obrobku 2
G56 Výber súradnicového systému obrobku 3
G57 Výber súradnicového systému obrobku 4
G58 Výber súradnicového systému obrobku 5
G59 Výber súradnicového systému obrobku 6
G60 Jednosmerné{1}}polohovanie
G61 Režim presného zastavenia
G64 Režim rezania
G65 Vyvolanie makro programu
G66 Vyvolanie modálneho makro programu
G67 Zrušenie volania programu modálneho makra
G73 Pevný cyklus vŕtania hlbokých otvorov
G74 Obrátený cyklus rezania závitu
G76 Pevný cyklus jemného vyvrtávania
G80 Zrušenie pevného cyklu
G81 Pevný cyklus vŕtania
G82 Pevný cyklus vŕtania
G83 Pevný cyklus vŕtania hlbokých otvorov
G84 Pevný cyklus rezania závitu
G85 Pevný cyklus vyvrtávania
G86 Nudný pevný cyklus
G87 Obrátiť pevný cyklus vyvrtávania
G88 Pevný cyklus vŕtania
G89 Pevný cyklus vŕtania
G90 Režim príkazu absolútnej hodnoty
G91 Režim príkazu prírastkovej hodnoty
G92 Nastavenie nulového bodu obrobku
G98 Pevný cyklus Návrat do počiatočného bodu
G99 Pevný cyklus Návrat do bodu R
2. Bežne používané funkcie M kódu
Pozastavenie programu M00
M01 Podmienené zastavenie programu
Koniec programu M02
M03 Otáčanie vretena dopredu
M04 Reverzná rotácia vretena
M05 Doraz vretena
M06 Výmena nástrojov
M08 Chladenie zapnuté
M09 Chladenie vypnuté
M18 Orientácia vretena Zrušiť
M19 Orientácia vretena
M29 Pevné závitovanie
M30 Koniec programu a návrat do hlavičky programu
Volanie podprogramu M98
M99 Koniec podprogramu Návrat/Opakovanie vykonania
3. Bežná aritmetika
Doplnenie: #i=#j + #k
Odčítanie: #i=#j - #k
Násobenie: #i=#j * #k
Divízia: #i=#j / #k
Sínus: #i=HRIECH[#j]
Arcsine: #i=ASIN[#j]
Kosínus: #i=COS[#j]
Inverzný kosínus: #i=ACOS[#j]
Tangenta: #i=TAN[#j]
Arkustangens: #i=ATAN[#j]
Druhá odmocnina: #i=SQRT[#j]
Absolútna hodnota: #i=ABS[#j]
Zaokrúhľovanie: #i=ZAOKRÚHLENIE[#j]
Zaokrúhľovanie celého čísla: #i=OPRAVENÉ[#j]
Zaokrúhlenie celého čísla nadol: #i=FUP[#j]
Prirodzený logaritmus: #i=LN[#j]
Exponenciálna funkcia: #i=EXP[#j]
ALEBO: #i=#j ALEBO #k
XOR: #i=#j X ALEBO #k
AND: #i=# AND #k
Konvertovať z BCD na BIN: #i=BIN[#j]
Konvertovať z BIN na BCD: #i=BCD[#j]
4. Logické operátory
EQ: Rovná sa
NE: Nerovná sa
GT: Väčšie ako
GE: Väčšie alebo rovné
LT: Menej ako
LE: Menšie alebo rovné
5. Programový prenos a slučky
Bezpodmienečný prevod: GOTO
Podmienený prevod: IF [podmienený výraz]
IF [podmienený výraz] GOTO n, ak je podmienka splnená, skok na programový segment n
IF [podmienený výraz] THEN, napr.: IF [#I=#J] THEN #K=0
6. Príkazy slučky
WHILE [podmienený výraz] Dom (m=1,2,,3)
…
Ak je podmienka splnená, spustite program z Dom do ENDm (kým už podmienka nie je splnená); v opačnom prípade spustite program po





