Programovatelné funkce CNC obráběcích strojů jsou rozděleny do dvou kategorií:
Jedna kategorie se používá k řízení dráhy nástroje, tj. pohybu každé osy posuvu, jako je lineární/kruhová interpolace, řízení posuvu, offset a transformace počátku souřadnicového systému, nastavení rozměrové jednotky, offset nástroje a kompenzace atd. Tato kategorie funkcí se nazývá přípravné funkce, skládající se z písmene G následovaného dvěma číslicemi, známé také jako G-kódy.
Další kategorie funkcí se nazývá pomocné funkce, které se používají k dokončení řízení provádění programu, ovládání vřetena, ovládání nástroje, ovládání pomocného zařízení atd. Mezi těmito pomocnými funkcemi se Tx x používá pro výběr nástroje a Sx xxx se používá pro ovládání otáček vřetena. Další funkce jsou implementovány pomocí M-kódů skládajících se z písmene M následovaného dvěma číslicemi.
1. Běžně používané funkce G-kódu
Polohování G00 (Rapid Traverse)
G01 Lineární interpolace (rychlost posuvu)
G02 Kruhová interpolace ve směru hodinových ručiček
G03 Kruhová interpolace proti směru hodinových ručiček
G04 Pauza, přesné zastavení
G09 Přesné zastavení
G17 Vyberte rovinu X/Y
G18 Vyberte rovinu Z/X
G19 Vyberte Rovina Y/Z
G27 Referenční bod návratu a kontroly
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šení kompenzace poloměru nástroje
G41 Levá kompenzace poloměru nástroje
G42 Kompenzace poloměru pravého nástroje
G43 Kompenzace délky nástroje +
G44 Kompenzace délky nástroje -
G49 Zrušení kompenzace délky nástroje
G52 Nastavení místního souřadnicového systému
G53 Vyberte Souřadnicový systém stroje
G54 Výběr souřadnicového systému obrobku 1
G55 Vyberte souřadný systém obrobku 2
G56 Vyberte souřadný systém obrobku 3
G57 Vyberte souřadný systém obrobku 4
G58 Vyberte souřadný systém obrobku 5
G59 Vyberte souřadný systém obrobku 6
G60 Jednosměrné-polohování
G61 Režim přesného zastavení
G64 Režim řezání
G65 Volání programu makra
G66 Volání modálního makro programu
G67 Zrušení volání modálního makro programu
G73 Pevný cyklus vrtání hlubokých děr
G74 Opačný cyklus řezání závitu závitu
G76 Obráběcí cyklus jemného vyvrtávání
G80 Zrušení pevného cyklu
G81 Obráběcí cyklus vrtání
G82 Pevný cyklus vrtání
G83 Pevný cyklus vrtání hlubokých děr
G84 Obráběcí cyklus závitování
G85 Pevný cyklus vyvrtávání
Pevný cyklus vyvrtávání G86
G87 Obrátit obráběcí cyklus vyvrtávání
G88 Pevný cyklus vyvrtávání
G89 Pevný cyklus vyvrtávání
G90 příkazový režim absolutní hodnoty
G91 Režim příkazu přírůstkové hodnoty
G92 Nastavení nulového bodu obrobku
G98 Pevný cyklus Návrat do počátečního bodu
G99 Pevný cyklus Návrat do R bodu
2. Běžně používané funkce M kódu
Pozastavení programu M00
M01 Podmíněné zastavení programu
Konec programu M02
M03 Rotace vřetena dopředu
M04 Opačná rotace vřetena
M05 Doraz vřetena
M06 Výměna nástroje
M08 Chlazení zapnuto
M09 Chlazení vypnuto
M18 Orientace vřetena Zrušit
M19 Orientace vřetena
M29 Pevné závitování
M30 Konec programu a návrat do záhlaví programu
Volání podprogramu M98
M99 Podprogram Konec Návrat/Opakování provedení
3. Společná aritmetika
Doplnění: #i=#j + #k
Odečítání: #i=#j - #k
Násobení: #i=#j * #k
Divize: #i=#j / #k
Sinus: #i=HŘÍCH[#j]
Arcsine: #i=ASIN[#j]
Kosinus: #i=COS[#j]
Inverzní kosinus: #i=ACOS[#j]
Tečna: #i=TAN[#j]
Arktangens: #i=ATAN[#j]
Druhá odmocnina: #i=SQRT[#j]
Absolutní hodnota: #i=ABS[#j]
Zaokrouhlení: #i=ROUND[#j]
Zaokrouhlení celého čísla: #i=OPRAVIT[#j]
Zaokrouhlení celého čísla dolů: #i=FUP[#j]
Přirozený logaritmus: #i=LN[#j]
Exponenciální funkce: #i=EXP[#j]
NEBO: #i=#j NEBO #k
XOR: #i=#j X NEBO #k
AND: #i=# AND #k
Převést z BCD na BIN: #i=BIN[#j]
Převést z BIN na BCD: #i=BCD[#j]
4. Logické operátory
EQ: Rovná se
NE: Nerovná se
GT: Větší než
GE: Větší nebo rovno
LT: Méně než
LE: Menší nebo rovno
5. Přenos programu a smyčky
Bezpodmínečný převod: GOTO
Podmíněný převod: IF [podmíněný výraz]
IF [podmíněný výraz] GOTO n, pokud je podmínka splněna, skočte na programový segment n
IF [podmíněný výraz] THEN, např.: IF [#I=#J] THEN #K=0
6. Příkazy smyčky
WHILE [podmíněný výraz] Dom (m=1,2,,3)
…
Pokud je podmínka splněna, proveďte program z Dom do ENDm (dokud podmínka již není splněna); v opačném případě spusťte program poté





