Fungsi peralatan mesin CNC yang dapat diprogram dibagi menjadi dua kategori:
Satu kategori digunakan untuk mengontrol jalur pahat, yaitu pergerakan setiap sumbu umpan, seperti interpolasi linier/melingkar, kontrol umpan, offset dan transformasi asal sistem koordinat, pengaturan satuan dimensi, offset dan kompensasi pahat, dll. Kategori fungsi ini disebut fungsi persiapan, yang terdiri dari huruf G diikuti oleh dua digit, juga dikenal sebagai kode G-.
Kategori fungsi lainnya disebut fungsi bantu, digunakan untuk menyelesaikan kontrol eksekusi program, kontrol spindel, kontrol pahat, kontrol peralatan bantu, dll. Di antara fungsi bantu ini, Tx x digunakan untuk pemilihan pahat, dan Sx xxx digunakan untuk mengontrol kecepatan spindel. Fungsi lainnya diimplementasikan menggunakan kode M-yang terdiri dari huruf M diikuti dua digit.
1. Fungsi G-Kode yang Umum Digunakan
Pemosisian G00 (Lintasan Cepat)
G01 Interpolasi Linier (Feed Rate)
G02 Interpolasi Melingkar Searah Jarum Jam
G03 Interpolasi Melingkar Berlawanan Arah Jarum Jam
G04 Jeda, Berhenti Tepat
G09 Berhenti Tepat
G17 Pilih Bidang X/Y
G18 Pilih Bidang Z/X
G19 Pilih Bidang Y/Z
G27 Kembali dan Periksa Titik Referensi
G28 Kembali ke Titik Referensi
G29 Kembali dari Titik Referensi
G30 Kembali ke Titik Referensi Kedua
G40 Membatalkan Kompensasi Radius Alat
Kompensasi Radius Alat Kiri G41
Kompensasi Radius Alat Kanan G42
G43 Kompensasi Panjang Alat +
Kompensasi Panjang Alat G44 -
G49 Membatalkan Kompensasi Panjang Alat
G52 Tetapkan Sistem Koordinat Lokal
G53 Pilih Sistem Koordinat Mesin
G54 Pilih Sistem Koordinat Benda Kerja 1
G55 Pilih sistem koordinat benda kerja 2
G56 Pilih sistem koordinat benda kerja 3
G57 Pilih sistem koordinat benda kerja 4
G58 Pilih sistem koordinat benda kerja5
G59 Pilih sistem koordinat benda kerja 6
G60 Pemosisian-satu arah
G61 Mode berhenti yang tepat
G64 Mode pemotongan
Panggilan program Makro G65
Panggilan program makro Modal G66
G67 Membatalkan panggilan program makro modal
G73 Siklus tetap pengeboran lubang dalam
G74 Siklus tetap penyadapan ulir terbalik
G76 Siklus tetap yang membosankan
G80 Membatalkan siklus tetap
G81 Pengeboran siklus tetap
G82 Pengeboran siklus tetap
G83 Siklus tetap pengeboran lubang dalam
G84 Mengetuk siklus tetap
G85 Siklus tetap yang membosankan
G86 Siklus tetap yang membosankan
G87 Membalikkan siklus tetap yang membosankan
G88 Siklus Tetap Membosankan
G89 Siklus Tetap yang Membosankan
Mode Perintah Nilai Absolut G90
Mode Perintah Nilai Tambahan G91
Pengaturan Titik Nol Benda Kerja G92
G98 Siklus Tetap Kembali ke Titik Awal
G99 Siklus Tetap Kembali ke Titik R
2. Fungsi Kode M yang Umum Digunakan
Jeda Program M00
M01 Program Bersyarat Berhenti
Program M02 Berakhir
Rotasi ke depan spindel M03
Rotasi Terbalik Spindel M04
M05 Penghenti Spindel
Pertukaran Alat M06
M08 Pendinginan Aktif
M09 Mendinginkan
Pembatalan Orientasi Spindel M18
Orientasi Spindel M19
M29 Penyadapan Kaku
Program M30 Berakhir dan Kembali ke Header Program
Panggilan Subrutin M98
Eksekusi Pengembalian/Pengulangan Akhir Subrutin M99
3. Aritmatika Umum
Tambahan: #i=#j + #k
Pengurangan: #i=#j - #k
Perkalian: #i=#j * #k
Pembagian: #i=#j / #k
Sinus: #i=DOSA[#j]
Arcsinus: #i=ASIN[#j]
Kosinus: #i=COS[#j]
Kosinus Terbalik: #i=ACOS[#j]
Garis singgung: #i=TAN[#j]
Tangen busur: #i=ATAN[#j]
Akar Pangkat Dua: #i=SQRT[#j]
Nilai Mutlak: #i=ABS[#j]
Pembulatan: #i=PUTARAN[#j]
Pembulatan Integer: #i=FIX[#j]
Pembulatan Bilangan Bulat ke Bawah: #i=FUP[#j]
Logaritma Natural: #i=LN[#j]
Fungsi Eksponensial: #i=EXP[#j]
ATAU: #i=#j ATAU #k
XOR: #i=#j X ATAU #k
DAN: #i=# DAN #k
Konversi dari BCD ke BIN: #i=BIN[#j]
Konversi dari BIN ke BCD: #i=BCD[#j]
4. Operator Logika
EQ: Sama dengan
NE: Tidak sama dengan
GT: Lebih besar dari
GE: Lebih besar dari atau sama dengan
LT: Kurang dari
LE: Kurang dari atau sama dengan
5. Transfer Program dan Loop
Transfer Tanpa Syarat: GOTO
Transfer Bersyarat: IF [ekspresi bersyarat]
JIKA [ekspresi kondisional] GOTO n, jika kondisi terpenuhi, lompat ke segmen program n
IF [ekspresi kondisional] THEN, misal: IF [#I=#J] THEN #K=0
6. Pernyataan Lingkaran
WHILE [ekspresi kondisional] Dom (m=1,2,,3)
…
Jika syarat terpenuhi, jalankan program dari Dom ke ENDm (sampai syarat tidak terpenuhi lagi); jika tidak, jalankan program setelahnya





