Menguasai Pemrograman CNC: Dasar Kode G dan Kode M
Singkatan CNC dalam istilah mesin CNC berarti Computer Numerical Control. Biasanya, ketika kita berpikir tentang pemesinan CNC, kita membayangkan alat mesin CNC, tetapi sebenarnya, mesin CNC modern mewakili istilah yang lebih luas. Robot industri dan beberapa mesin pengukuran yang dikontrol komputer juga adalah mesin CNC.
Tahun 1952, karena kebutuhan akan pemesinan presisi bagian dalam industri penerbangan, John T. Parsons, dalam kolaborasi dengan IMB (International Business Machines Corporation) dan MIT (Massachusetts Institute of Technology), mengembangkan mesin frees CNC pertama. Sejak saat itu, produksi industri yang lebih canggih telah menyebar luas dan pemesinan CNC telah tersedia untuk semua industri, bersama dengan kemunculan dan penggunaan bahasa pemrograman CNC – Kode G dan Kode M.
Apa itu Kode G dan Kode M?
Selama sejarah 70 tahun perkembangan mesin CNC, berbagai bahasa pemrograman tidak hanya Kode G dan Kode M, telah digunakan untuk pemrograman mereka. Oleh karena itu, pada awalnya, mesin peluncur Parsons diprogram dengan bantuan pita berlubang, dan kemudian, pada tahun 1956, bahasa pemrograman khusus (bahasa pemrograman APT) dikembangkan untuk pemesinan CNC.
RS-274 atau lebih dikenal sebagai Kode G, yang juga dibahas dalam artikel ini, dibuat pada dekade yang sama. Kode G dikembangkan dari bahasa pemrograman APT yang berisi data tentang lokasi atau geometri alat potong, dan fungsi mesin non-geometri lainnya seperti kecepatan poros, pendinginan, dll. Fungsi RS-274 (Kode G dan Kode M) mewarisi dasar dari bahasa pemrograman APT dengan modifikasi kecil yang telah membuat program lebih pendek dan lebih nyaman untuk unit kontrol mesin.
| APT | Kode G dan Kode M |
| GO TO {X, Y, Z} | G1, G2, G3 {X, Y, Z} |
| FEDRAT | F |
| SPINDLE CW / CCW | S M3 / M4 |
| COOLNT ON / OFF | M8 M9 |
| FINI | M30 |
Bahasa pemrograman RS-274 sering disebut “Kode G” karena terutama terdiri dari fungsi G (Kode G). Namun, itu sendiri juga berisi fungsi M yang sama pentingnya (Kode M). Karena alasan itu, perlu untuk mendefinisikan istilah ini, yaitu untuk menjawab pertanyaan berikut dengan jelas dan langsung:
- Apa itu Kode G?
- Apa itu Kode M?
- Apa perbedaan antara Kode G dan Kode M?

Kode G, yaitu fungsi G, berbeda dari Kode M, terutama terkait dengan definisi geometri. Jelas bahwa “G” dalam nama “Kode G” berarti kata “Geometri”. Oleh karena itu, Kode G akan mencakup fungsi untuk memilih sistem koordinat, bidang kerja, satuan pemrograman, mengatur mode pemrograman (mutlak atau inkremental), gerakan alat dalam mode cepat dan kerja, dll.
Kode M atau fungsi M merujuk pada fungsi terkait operasi mesin. Dapat dikatakan bahwa “M” dalam istilah “Kode M” berarti kata “Mesin”. Biasanya, dalam pemrograman mesin CNC, fungsi berikut dapat termasuk dalam fungsi ini: Menyalakan atau mematikan poros utama, pendinginan hidup atau mati, pergantian alat otomatis, dll.
Apa perbedaan antara Kode G dan Kode M?
Seperti yang telah kita sajikan, Kode G secara ketat merujuk pada geometri proses pemrosesan bagian, dan Kode M untuk fungsi individual pada mesin. Dapat dikatakan bahwa Kode G menunjukkan “Bagaimana alat bergerak relatif terhadap benda kerja” dan Kode M “Apa yang dilakukan mesin dalam proses pemesinan”.
Selain fungsi utama Kode G dan Kode M dalam bahasa pemrograman RS-274, ada banyak fungsi pendukung:
- X, Y, Z – koordinat titik penempatan
- I, J, K – koordinat jarak antara titik awal dan pusat lingkaran (“CC” dalam contoh berikut)
- F – kecepatan interpelasi
- S – kecepatan poros
- T – nomor alat
- H – nomor offset tinggi alat
- D – nomor offset radius alat

Fungsi utama | Deskripsi | Fungsi pendukung |
G0 | Penempatan cepat (linier) | X, Y, Z |
G1 | Interpelasi linier | X, Y, Z, F |
G2 | Interpelasi lingkaran searah jarum jam | X, Y, Z, I, J, K, F |
G3 | Interpelasi lingkaran berlawanan arah jarum jam | X, Y, Z, I, J, K, F |
CONTOH 1:
Kalimat dalam Kode G: G1 X10 Y50 F100
Penjelasan: Alat bergerak linier ke titik yang diinginkan (Koordinat: X=10 mm, Y=50 mm) dengan kecepatan 100 milimeter per detik.
Kalimat dalam Kode G: G2 X10 Y50 I10 J40 F100
Penjelasan: Alat bergerak lingkaran (arah searah jarum jam) ke titik yang diinginkan (Koordinat: X=10 mm, Y=50 mm) dengan kecepatan 100 milimeter per detik; Posisi pusat lingkaran relatif terhadap titik awal: +10 mm pada sumbu X dan +40 mm pada sumbu Y
Kalimat dalam Kode G: G02 X50 Y10 I40 J-10 F75
Penjelasan: Alat bergerak lingkaran (arah searah jarum jam) ke titik yang diinginkan (Koordinat: X=50 mm, Y=10 mm) dengan kecepatan 75 milimeter per detik; Posisi pusat lingkaran relatif terhadap titik awal: +40 mm pada sumbu X dan -10 mm pada sumbu Y.

Fungsi utama | Deskripsi | Fungsi pendukung |
G17 | Pilih XY untuk bidang kerja | / |
G18 | Pilih ZX untuk bidang kerja | / |
G19 | Pilih YZ untuk bidang kerja | / |
G20 | Satuan: inci (inch) | / |
G21 | Satuan: milimeter (mm) | / |
G41 | Kompensasi radius alat – kiri | D, X, Y, Z |
G42 | Kompensasi radius alat – kanan | D, X, Y, Z |
G40 | Kompensasi radius alat – mati | / |
G43 | Kompensasi offset tinggi alat | H, Z |
G49 | Kompensasi offset tinggi alat – mati | / |
G54 | Sistem koordinat mesin | / |
G55 | Sistem koordinat kerja | / |
G56 | Sistem koordinat kerja | / |
G57 | Sistem koordinat kerja | / |
G58 | Sistem koordinat kerja | / |
G59 | Sistem koordinat kerja | / |




CONTOH 2:
Kalimat dalam Kode G: G21 G17 G55
Penjelasan: Mengatur satuan pemrograman ke milimeter; Memilih bidang kerja XY; Memilih sistem koordinat G55
Kalimat dalam Kode G: G43 H1 Z100
Penjelasan: Mengatur kompensasi offset tinggi alat ke H1 (“H1” adalah posisi di mana nilai tinggi alat disimpan dalam memori mesin CNC) dan mengambil posisi baru (Koordinat: Z=100 mm)
Kalimat dalam Kode G: G41 D1 X15
Penjelasan: Mengatur kompensasi radius alat kiri ke D1 (“D1” adalah posisi di mana nilai radius alat disimpan dalam memori mesin CNC) dan mengambil posisi baru (Koordinat: X=15 mm); Sementara alat bergerak ke posisi yang diinginkan, perlahan bergerak ke kiri, jadi saat alat mencapai posisi yang diinginkan kompensasi radius alat selesai.
Kalimat dalam Kode G: G40 G49
Penjelasan: Membatalkan kompensasi radius alat; Membatalkan kompensasi offset tinggi alat
Fungsi utama | Deskripsi | Fungsi pendukung |
G90 | Pemrograman mutlak: Koordinat relatif terhadap sistem koordinat kerja | / |
G91 | Pemrograman inkremental: Koordinat relatif terhadap sistem koordinat i di posisi saat ini | / |
Fungsi utama | Deskripsi | Fungsi pendukung |
M00 | Berhenti program | / |
M03 | Poros Menyala (Searah jarum jam) | S |
M04 | Poros Menyala (Berlawanan arah jarum jam) | S |
M05 | Poros Mati | / |
M06 | Pergantian alat otomatis | T |
M08 | Pendingin Hidup | / |
M09 | Pendingin Mati | / |
M30 | Akhir program | / |
M98 | Panggilan subprogram | “Nama subprogram” |
M99 | Kembali dari subprogram | / |

Bagaimana memprogram mesin CNC
Pemrograman CNC adalah pemformatan alfanumerik data (Kode G dan Kode M) tentang geometri dan teknologi bagian, yang perlu diproses pada mesin tersebut, tetapi juga pemrograman lain, yang biasanya dilakukan oleh produsen mesin.
Memprogram mesin CNC menggunakan Kode G sebagian besar berdasarkan kalimat, yang dapat dilihat dalam contoh sebelumnya di mana penjelasan fungsi G dilakukan sebagai menafsirkan kalimat dari program yang ditulis dalam Kode G. Ada beberapa metode pemrograman CNC, yaitu menghasilkan Kode G dan Kode M:
- Pemrograman manual,
- Pemrograman dalam operasi dan
- Pemrograman menggunakan sistem CAD (Computer-Aided Design)/ CAM (Computer-Aided Manufacturing).
Pemrograman Manual
Dengan pemrograman CNC manual, programmer berdasarkan pengetahuan dan pengalaman sendiri serta informasi yang tersedia tentang mesin, alat, aksesori mesin, mode pemrosesan, menerapkan instruksi pemrograman, secara manual menulis informasi geometri dan teknologis yang diperlukan untuk menyelesaikan program alfanumerik. Pemrograman manual dapat diorganisasikan sebagai kegiatan dasar berikut:
- Menentukan rencana pemrosesan, penempatan, dan alat,
- Menerjemahkan informasi geometri dengan gambar bengkel, untuk perencanaan rute
- Alat, dan menyusunnya ke dalam blok sesuai urutan pemrosesan,
- Menulis dan menyelesaikan program dalam bentuk lembar program (Kode G) dan
- Transfer informasi dari lembar program ke memori unit kontrol

Pemrograman dalam operasi
Untuk terus meningkatkan metode pemrograman CNC, serta keinginan untuk menempatkan pemrograman pada mesin itu sendiri, untuk aplikasi CNC yang semakin besar dan mudah, beberapa produsen menawarkan unit kontrol yang mendukung pemrograman langsung pada mesin itu sendiri. Meskipun sejak awal aplikasi CNC ada kemungkinan pemrograman segera pada mesin dalam mode MDI (Manual Data Input), pemrograman dalam operasi mewakili metode pemrograman yang sepenuhnya baru.
Dengan metode ini, Unit Kontrol yang mendukungnya memiliki fungsi tambahan yang diintegrasikan yang menghindari pemrograman klasik menggunakan Kode G. Pemrograman di sini berupa dialog interaktif antara operator dan unit kontrol, melalui keyboard dan antarmuka pengguna grafis, yang dapat menghasilkan kontur pemrosesan sederhana serta siklus ketik untuk pemrosesan. Unit kontrol berdasarkan kueri yang dimasukkan, melakukan perhitungan jalur alat yang diperlukan, dan secara otomatis menghasilkan Kode G.

Pemrograman menggunakan sistem CAD/CAM
Geometri bagian, yang digunakan misalnya di industri penerbangan, militer, dan industri lain, sangat kompleks dengan permukaan orde kedua, yang memerlukan pemesinan multi-sumbu (pemesinan CNC 3-sumbu, 4-sumbu, dan 5-sumbu). Program kompleks untuk pemrosesan permukaan tersebut membutuhkan beberapa ribu blok (kalimat) yang penulisan manualnya sangat sulit dan memakan waktu. Oleh karena itu, perlu untuk menggunakan komputer untuk persiapan teknologis, yaitu pemrograman mesin CNC untuk memproses bagian-bagian di atas berdasarkan Kode G dan Kode M.
Pemrograman CAD / CAM dapat diklasifikasikan sebagai pemrograman CNC komputer. Integrasi CAD dan CAM telah menyebabkan perbaikan dalam pemrograman NC, terutama dalam hal penyederhanaan pemrograman. Sekarang programmer tidak perlu memikirkan definisi geometri, itulah yang dilakukan perangkat lunak CAD / CAM. Yang tersisa bagi programmer adalah melalui interaksi aktif dengan sistem dalam program, ia menambahkan informasi teknis lain seperti pegangan, penempatan, pemegangan, alat pemotong, dan mode pemrosesan. Harus ditekankan bahwa ada integrasi CAD / CAM dan CAPP (Computer Aided Process Planning), yang mengembangkan solusi untuk persyaratan ini juga.
Ini adalah tampilan Prosedur untuk memprogram mesin dalam lingkungan CAD / CAM:
- Modeling model CAD,
- Perencanaan pemrosesan menggunakan strategi CAM yang tersedia untuk pemrosesan dan perhitungan jalur alat serta mendapatkan file CL (Cutter Location),
- Simulasi jalur alat dan simulasi penghapusan materi untuk verifikasi program dan deteksi kesalahan serta tabrakan yang mungkin,
- Pemrosesan pasca file CL dan mendapatkan Kode G menggunakan postprocessor untuk mesin yang dipilih,
- Transfer Kode G ke unit kontrol. Persiapan alat dan benda kerja. Tempatkan benda kerja pada mesin,
- Periksa kondisi dan mode pemrosesan, periksa kecepatan dan percepatan, yang dapat secara signifikan mempengaruhi kualitas pemrosesan dan
- Pemesinan benda kerja pada mesin.

Meskipun saat ini ada metode pemrograman yang tidak memerlukan pengetahuan fungsi G dan M (Pemrograman dalam operasi dan pemrograman CNC CAD / CAM), programmer harus mengetahuinya, karena situasi khusus terkadang akan mengharuskan pemrograman dilakukan secara manual. Hal positif adalah bahwa bahasa pemrograman Kode G dan Kode M dapat dikatakan universal, yang berarti dengan mengetahui Kode G dan Kode M dapat memprogram semua mesin CNC, dengan perbedaan sintaks yang minimal yang sangat cepat dikuasai jika Anda menguasai dasar Kode G dan Kode M. Apakah Anda khawatir tentang mencari programmer CNC profesional untuk desain Anda? Jangan khawatir, WayKen adalah produsen dengan lebih dari 20 tahun pengalaman dalam industri pemesinan CNC, dengan teknologi manufaktur canggih dan insinyur CNC berpengalaman, siap memenuhi kebutuhan desain produk Anda. Dapatkan penawaran segera hari ini!