Programowalne funkcje obrabiarek CNC dzielą się na dwie kategorie:
Jedna kategoria służy do kontrolowania ścieżki narzędzia, tj. ruchu każdej osi posuwu, np. interpolacji liniowej/kołowej, kontroli posuwu, przesunięcia i transformacji początku układu współrzędnych, ustawienia jednostki wymiaru, przesunięcia i kompensacji narzędzia itp. Ta kategoria funkcji nazywana jest funkcjami przygotowawczymi i składa się z litery G, po której następują dwie cyfry, znane również jako kody G-.
Inną kategorię funkcji nazywa się funkcjami pomocniczymi i służą do pełnego sterowania wykonaniem programu, sterowania wrzecionem, sterowania narzędziami, sterowania urządzeniami pomocniczymi itp. Wśród tych funkcji pomocniczych Tx x służy do wyboru narzędzia, a Sx xxx służy do sterowania prędkością wrzeciona. Inne funkcje są realizowane przy użyciu kodów M- składających się z litery M, po której następują dwie cyfry.
1. Często używane funkcje kodu G-
Pozycjonowanie G00 (szybki przesuw)
G01 Interpolacja liniowa (szybkość posuwu)
G02 Interpolacja kołowa w prawo
G03 Interpolacja kołowa w lewo
G04 Pauza, dokładne zatrzymanie
G09 Zatrzymanie precyzyjne
G17 Wybierz płaszczyznę X/Y
G18 Wybierz płaszczyznę Z/X
G19 Wybierz płaszczyznę Y/Z
G27 Wróć i sprawdź punkt odniesienia
G28 Powrót do punktu odniesienia
G29 Powrót z punktu odniesienia
G30 Powrót do drugiego punktu odniesienia
G40 Anuluj kompensację promienia narzędzia
G41 Kompensacja promienia lewego narzędzia
G42 Kompensacja promienia prawego narzędzia
G43 Kompensacja długości narzędzia +
G44 Kompensacja długości narzędzia -
G49 Anuluj kompensację długości narzędzia
G52 Ustaw lokalny układ współrzędnych
G53 Wybierz układ współrzędnych maszyny
G54 Wybierz układ współrzędnych przedmiotu obrabianego 1
G55 Wybierz układ współrzędnych przedmiotu 2
G56 Wybierz układ współrzędnych przedmiotu obrabianego 3
G57 Wybierz układ współrzędnych przedmiotu obrabianego 4
G58 Wybierz układ współrzędnych przedmiotu obrabianego 5
G59 Wybierz układ współrzędnych przedmiotu obrabianego 6
G60 Pozycjonowanie-w jednym kierunku
G61 Tryb precyzyjnego zatrzymania
G64 Tryb cięcia
G65 Wywołanie programu makro
G66 Modalne wywołanie programu makro
G67 Anuluj wywołanie modalnego programu makro
G73 Stały cykl wiercenia głębokich otworów
G74 Cykl stały gwintowania odwrotnego
G76 Stały cykl wytaczania wykańczającego
G80 Anuluj cykl stały
G81 Stały cykl wiercenia
G82 Stały cykl wiercenia
G83 Stały cykl wiercenia głębokich otworów
G84 Stały cykl gwintowania
G85 Cykl stały wytaczania
G86 Nudny cykl stały
G87 Cykl stały wytaczania wstecznego
G88 Wytaczanie Stały cykl
G89 Wytaczanie Stały cykl
G90 Tryb polecenia wartości bezwzględnej
G91 Tryb polecenia wartości przyrostowej
G92 Ustawienie punktu zerowego przedmiotu obrabianego
G98 Stały cykl Powrót do punktu początkowego
G99 Powrót cyklu stałego do punktu R
2. Powszechnie używane funkcje kodu M
M00 Przerwa w programie
M01 Warunkowe zatrzymanie programu
M02 Koniec programu
M03 Obrót wrzeciona do przodu
M04 Odwrotny obrót wrzeciona
M05 Zatrzymanie wrzeciona
Wymiana narzędzi M06
M08 Włączone chłodzenie
M09 Ochłodzenie
M18 Anuluj orientację wrzeciona
Orientacja wrzeciona M19
Gwintowanie sztywne M29
M30 Koniec programu i powrót do nagłówka programu
Wywołanie podprogramu M98
M99 Koniec podprogramu Powrót/powtórzenie wykonania
3. Wspólna arytmetyka
Dodanie: #i=#j + #k
Odejmowanie: #i=#j - #k
Mnożenie: #i=#j * #k
Podział: #i=#j / #k
Sinus: #i=SIN[#j]
Arcsine: #i=ASIN[#j]
Cosinus: #i=COS[#j]
Odwrotny cosinus: #i=ACOS[#j]
Styczna: #i=TAN[#j]
Arcus tangens: #i=ATAN[#j]
Pierwiastek kwadratowy: #i=SQRT[#j]
Wartość bezwzględna: #i=ABS[#j]
Zaokrąglanie: #i=ZAOKR[#j]
Zaokrąglanie liczb całkowitych: #i=POPRAW[#j]
Zaokrąglanie liczb całkowitych w dół: #i=FUP[#j]
Logarytm naturalny: #i=LN[#j]
Funkcja wykładnicza: #i=EXP[#j]
LUB: #i=#j LUB #k
XOR: #i=#j X LUB #k
ORAZ: #i=# ORAZ #k
Konwertuj z BCD na BIN: #i=BIN[#j]
Konwertuj z BIN na BCD: #i=BCD[#j]
4. Operatory logiczne
EQ: Równe
NE: Nie równe
GT: Większe niż
GE: Większe lub równe
LT: Mniej niż
LE: Mniejsze lub równe
5. Transfer programu i pętle
Transfer bezwarunkowy: GOTO
Przeniesienie warunkowe: JEŻELI [wyrażenie warunkowe]
JEŻELI [wyrażenie warunkowe] GOTO n, jeżeli warunek jest spełniony, przejdź do segmentu programu n
JEŻELI [wyrażenie warunkowe] TO, np.: JEŻELI [#I=#J] WTEDY #K=0
6. Instrukcje pętli
PODCZAS [wyrażenie warunkowe] Dom (m=1,2,,3)
…
Jeśli warunek jest spełniony, wykonaj program od Dom do ENDm (aż warunek przestanie być spełniony); w przeciwnym razie wykonaj program po





