CNC-tööpinkide programmeeritavad funktsioonid jagunevad kahte kategooriasse:
Tööriista teekonna juhtimiseks kasutatakse ühte kategooriat, st iga etteannetelje liikumist, nagu lineaarne/ringikujuline interpolatsioon, ettenihke juhtimine, koordinaatsüsteemi lähtepunkti nihe ja teisendus, mõõtmeühiku seadistus, tööriista nihe ja kompensatsioon jne. Seda funktsioonide kategooriat nimetatakse ettevalmistavateks funktsioonideks, mis koosnevad tähest G, millele järgneb kaks numbrit, mida tuntakse ka G--koodidena.
Teist funktsioonide kategooriat nimetatakse abifunktsioonideks, mida kasutatakse programmi täitmise juhtimiseks, spindli juhtimiseks, tööriista juhtimiseks, abiseadmete juhtimiseks jne. Nendest abifunktsioonidest kasutatakse tööriista valimiseks Tx x ja spindli pöörlemissageduse reguleerimiseks Sx xxx. Teisi funktsioone rakendatakse M-koodide abil, mis koosnevad M-tähest, millele järgneb kaks numbrit.
1. Tavaliselt kasutatavad G-koodifunktsioonid
G00 positsioneerimine (kiirliikumine)
G01 Lineaarne interpolatsioon (söötmiskiirus)
G02 Päripäeva ringinterpolatsioon
G03 Vastupäeva ringinterpolatsioon
G04 Paus, täpne peatus
G09 Täpne peatus
G17 Valige X/Y tasapind
G18 Valige Z/X tasapind
G19 Valige Y/Z tasapind
G27 Tagastamise ja kontrollimise võrdluspunkt
G28 Tagasi võrdluspunkti
G29 Võrdluspunktist naasmine
G30 Tagasi teise võrdluspunkti
G40 Tühista tööriista raadiuse kompenseerimine
G41 vasakpoolse tööriista raadiuse kompensatsioon
G42 parema tööriista raadiuse kompensatsioon
G43 tööriista pikkuse kompensatsioon +
G44 tööriista pikkuse kompensatsioon -
G49 Tühista tööriista pikkuse kompensatsioon
G52 Kohaliku koordinaatide süsteemi määramine
G53 Valige masina koordinaatide süsteem
G54 Valige tooriku koordinaatsüsteem 1
G55 Valige tooriku koordinaatsüsteem 2
G56 Valige tooriku koordinaatsüsteem 3
G57 Valige tooriku koordinaatsüsteem 4
G58 Valige tooriku koordinaatsüsteem 5
G59 Valige tooriku koordinaatsüsteem 6
G60 ühesuunaline positsioneerimine{1}
G61 Täpne seiskamisrežiim
G64 Lõikerežiim
G65 makroprogrammi kõne
G66 Modaalne makroprogrammi kutse
G67 Modaalse makroprogrammi kõne tühistamine
G73 Süvaaugu puurimise fikseeritud tsükkel
G74 Pöördkeerme keeramise fikseeritud tsükkel
G76 Peenpuurimise fikseeritud tsükkel
G80 Tühista fikseeritud tsükkel
G81 Puurimise fikseeritud tsükkel
G82 Puurimise fikseeritud tsükkel
G83 Süvaaugu puurimise fikseeritud tsükkel
G84 Koputamine fikseeritud tsükkel
G85 Igav fikseeritud tsükkel
G86 Igav fikseeritud tsükkel
G87 Pöördpuurimise fikseeritud tsükkel
G88 puurimise fikseeritud tsükkel
G89 puurimise fikseeritud tsükkel
G90 absoluutväärtuse käsurežiim
G91 lisaväärtuse käsurežiim
G92 tooriku nullpunkti seadistus
G98 fikseeritud tsükkel, naasmine algpunkti
G99 fikseeritud tsükkel R-punkti naasmine
2. Tavaliselt kasutatavad M-koodi funktsioonid
M00 Programmi paus
M01 Tingimusliku programmi peatus
M02 Programmi lõpp
M03 Spindli edasipööramine
M04 Spindli vastupidine pöörlemine
M05 Spindli stopp
M06 Tööriistavahetus
M08 Jahutus sees
M09 Jahutus väljas
M18 Spindli orientatsiooni tühistamine
M19 Spindli suund
M29 jäik koputamine
M30 programmi lõpp ja naasmine programmi päisesse
M98 alamprogrammi kõne
M99 alamprogramm End Return / Korda täitmist
3. Ühine aritmeetika
Lisa: #i=#j + #k
Lahutamine: #i=#j - #k
Korrutamine: #i=#j * #k
Jaotus: #i=#j / #k
Siinus: #i=SIN[#j]
Arksiin: #i=ASIN[#j]
Koosinus: #i=COS[#j]
Pöördkoosinus: #i=ACOS[#j]
Tangent: #i=TAN[#j]
Arktangent: #i=ATAN[#j]
Ruutjuur: #i=SQRT[#j]
Absoluutväärtus: #i=ABS[#j]
Ümardamine: #i=ROUND[#j]
Täisarvude ümardamine: #i=FIX[#j]
Täisarvude ümardamine alla: #i=FUP[#j]
Naturaallogaritm: #i=LN[#j]
Eksponentfunktsioon: #i=EXP[#j]
VÕI: #i=#j VÕI #k
XOR: #i=#j X VÕI #k
JA: #i=# JA #k
Teisenda BCD-lt BIN-i: #i=BIN[#j]
Teisenda BIN-lt BCD-ks: #i=BCD[#j]
4. Loogikaoperaatorid
EQ: võrdne
NE: Pole võrdne
GT: suurem kui
GE: suurem või võrdne
LT: vähem kui
LE: väiksem või võrdne
5. Programmi ülekanne ja tsüklid
Tingimusteta ülekanne: GOTO
Tingimuslik ülekanne: IF [tingimuslik avaldis]
IF [tingimusavaldis] GOTO n, kui tingimus on täidetud, hüpata programmi segmendile n
IF [tingimuslik avaldis] SIIS, nt: IF [#I=#J] THEN #K=0
6. Silmuslaused
WHILE [tingimusavaldis] Dom (m=1,2,,3)
…
Kui tingimus on täidetud, käivitage programm alates Dom kuni ENDm (kuni tingimus ei ole enam täidetud); vastasel juhul käivitage programm pärast





