Welcome to Urban Creator!

Call us:081330596100

Email us: urbancreator.id@gmaiil.com

Office hours: 08:00 am – 06:00 pm

Blog Details

Memahami G-Code & M Code: Dasar Panduan untuk Operator CNC Pemula

Apa Itu G-Code? Panduan Dasar Membaca Program CNC untuk Pemula

Kalau kamu menggunakan mesin CNC, cepat atau lambat kamu akan bertemu dengan G-code.

G-code adalah bahasa instruksi yang digunakan controller CNC untuk menentukan bagaimana mesin harus bergerak dan bekerja.

Melalui G-code, controller menerima perintah seperti:

  • bergerak ke posisi tertentu,

  • memotong dengan kecepatan tertentu,

  • menaikkan atau menurunkan sumbu Z,

  • membuat gerakan lurus atau melingkar,

  • menyalakan spindle,

  • mengatur kecepatan spindle,

  • melakukan pause,

  • hingga mengakhiri program.

Contoh sederhana:

G0 X10 Y20 Z5
G1 X50 Y20 Z-3 F800
M3 S18000

Bagi pemula, baris-baris tersebut mungkin terlihat seperti kode yang rumit.

Padahal setelah memahami beberapa perintah dasar, G-code sebenarnya cukup mudah dibaca.

Dan kabar baiknya, dalam penggunaan CNC modern kamu tidak perlu menulis seluruh G-code secara manual.

Software CAM seperti Fusion 360, Vectric Aspire, VCarve, Estlcam, dan software lainnya akan membuat G-code secara otomatis berdasarkan desain dan toolpath yang sudah kamu tentukan.

Namun memahami dasar G-code tetap sangat penting.

Pengetahuan ini sangat membantu ketika kamu ingin:

  • mencari penyebab mesin bergerak ke arah yang salah,

  • mengecek kedalaman cutting,

  • memeriksa feed rate,

  • memastikan spindle menyala,

  • mencari penyebab tool menabrak material,

  • atau melakukan perubahan kecil pada program.


Bagaimana Alur G-Code dari Desain Sampai Mesin Bergerak?

Secara sederhana, alurnya seperti ini:

DESAIN
  ↓
CAD / CAM
  ↓
TOOLPATH
  ↓
POST PROCESSOR
  ↓
G-CODE
  ↓
SENDER
  ↓
CONTROLLER CNC
  ↓
MOTOR / SPINDLE
  ↓
MESIN BERGERAK

Misalnya kamu membuat sebuah kotak berukuran:

100 × 50 mm

di Fusion 360 atau Vectric Aspire.

Kemudian kamu menentukan:

  • endmill yang digunakan,

  • kedalaman potong,

  • feed rate,

  • spindle speed,

  • jumlah pass,

  • dan strategi cutting.

Software CAM kemudian menghitung lintasan tool.

Setelah dilakukan post-process, lintasan tersebut diterjemahkan menjadi G-code yang dapat dipahami oleh controller CNC.

Contohnya:

G21
G90
G0 X0 Y0
G1 Z-2 F300
G1 X100 F1000
G1 Y50
G1 X0
G1 Y0

Controller kemudian membaca perintah tersebut satu per satu dan mengubahnya menjadi pulsa untuk motor stepper serta sinyal untuk spindle.


Struktur Dasar Satu Baris G-Code

Satu baris G-code biasanya terdiri dari beberapa kombinasi huruf dan angka.

Contoh:

G1 X50 Y20 Z-3 F800

Baris tersebut dapat dibaca sebagai:

G1      → bergerak lurus
X50     → menuju posisi X = 50 mm
Y20     → menuju posisi Y = 20 mm
Z-3     → menuju posisi Z = -3 mm
F800    → feed rate 800 mm/menit

Setiap kombinasi huruf dan angka sering disebut sebagai word.

Hurufnya disebut address, sedangkan angka setelahnya adalah nilai.

Contohnya:

X50

berarti:

Address = X
Value   = 50

Beberapa address yang paling sering ditemukan adalah:

G → fungsi gerakan atau mode
M → fungsi mesin
X → posisi sumbu X
Y → posisi sumbu Y
Z → posisi sumbu Z
F → feed rate
S → spindle speed
I/J/K → parameter arc

Dengan memahami beberapa huruf ini saja, kamu sudah bisa membaca sebagian besar G-code CNC router sederhana.


G-Code dan M-Code: Apa Bedanya?

Dalam program CNC kamu akan sering menemukan dua jenis perintah:

G-code

dan

M-code.

Secara sederhana:

G-code lebih banyak mengatur gerakan dan sistem koordinat.

Sedangkan:

M-code lebih banyak mengatur fungsi mesin.

Contohnya:

G0 X50 Y50

memerintahkan mesin bergerak.

Sedangkan:

M3 S18000

memerintahkan spindle menyala.

Tidak semua controller mendukung seluruh G-code dan M-code yang ada pada mesin industri.

GRBL dan grblHAL menggunakan subset tertentu yang memang relevan untuk CNC router, laser, dan mesin sejenis.


G-Code Gerakan yang Paling Sering Digunakan

G0 — Rapid Move

G0 digunakan untuk menggerakkan mesin dengan cepat menuju posisi tertentu.

Contoh:

G0 X50 Y30

Artinya mesin bergerak cepat menuju:

X = 50
Y = 30

Gerakan G0 biasanya digunakan untuk:

  • menuju titik awal cutting,

  • berpindah dari satu area toolpath ke area lain,

  • menaikkan Z,

  • positioning tanpa memotong material.

Contoh:

G0 Z10
G0 X100 Y50

Artinya:

  1. naikkan tool ke Z10,

  2. kemudian pindah cepat ke X100 Y50.

Urutan seperti ini jauh lebih aman karena tool terlebih dahulu diangkat sebelum melakukan rapid di X dan Y.


G1 — Linear Cutting Move

G1 digunakan untuk gerakan lurus dengan feed rate tertentu.

Contoh:

G1 X100 Y50 F800

Artinya:

bergerak lurus menuju X100 Y50 dengan feed rate 800 mm/menit.

G1 merupakan salah satu perintah yang paling sering digunakan saat cutting.

Contoh lainnya:

G1 Z-3 F300

Artinya tool turun menuju kedalaman:

Z = -3 mm

dengan feed:

300 mm/menit.

Gerakan turun seperti ini sering disebut:

plunge move.


Apa Bedanya G0 dan G1?

Perbedaannya sangat penting.

G0 → gerakan cepat / positioning
G1 → gerakan terkontrol menggunakan feed rate

Bayangkan kamu ingin berpindah dari satu lubang ke lubang lain.

Tool sebaiknya:

naik
↓
rapid ke lokasi berikutnya
↓
turun
↓
mulai cutting

Bukan:

rapid sambil tool masih berada di dalam material

Karena hal tersebut bisa menyebabkan:

  • endmill patah,

  • material rusak,

  • clamp tertabrak,

  • atau motor kehilangan langkah.


G2 dan G3 — Gerakan Melingkar

Untuk membuat lingkaran atau arc, controller dapat menggunakan:

G2 → clockwise / searah jarum jam
G3 → counter-clockwise / berlawanan arah jarum jam

Contoh:

G2 X50 Y50 I25 J0

Parameter:

X/Y → titik akhir arc
I/J → offset pusat lingkaran terhadap titik awal

Pada beberapa sistem, radius juga dapat ditentukan menggunakan R.

Contohnya:

G2 X50 Y50 R25

Namun penggunaan dan dukungan format arc dapat bergantung pada controller dan post processor.

Pada penggunaan sehari-hari, kamu biasanya tidak perlu menghitung G2/G3 secara manual karena software CAM akan membuatnya otomatis.


G20 dan G21 — Menentukan Unit

Controller harus mengetahui apakah angka yang diterima menggunakan:

inch

atau:

millimeter.

Untuk itu digunakan:

G20 → inch
G21 → millimeter

Pada CNC yang umum digunakan di Indonesia biasanya digunakan:

G21

Setelah G21 aktif:

G1 X100

berarti bergerak ke:

X = 100 mm

Sedangkan jika G20 aktif:

G1 X1

berarti:

1 inch

Kesalahan unit bisa menyebabkan gerakan mesin menjadi sangat berbeda dari yang diharapkan.

Karena itu program CNC biasanya menentukan unit pada bagian awal program.


G90 dan G91 — Absolute vs Incremental

Ini adalah salah satu konsep G-code yang sangat penting.

G90 — Absolute Positioning

Pada mode G90, semua posisi dihitung dari titik nol Work Coordinate.

Contoh:

G90
G0 X20
G0 X50

Gerakan pertama menuju:

X = 20

Gerakan kedua menuju:

X = 50

Bukan bertambah 50 mm.


G91 — Incremental Positioning

Pada mode G91, posisi dihitung relatif terhadap posisi sekarang.

Contoh:

G91
G0 X20
G0 X50

Jika posisi awal adalah X0:

gerakan pertama:

X0 → X20

gerakan kedua:

X20 → X70

karena perintah kedua berarti:

bergerak lagi +50 mm dari posisi sekarang.


Kenapa G90 dan G91 Harus Dipahami?

Bayangkan mesin sedang berada pada:

X = 300 mm

kemudian kamu menjalankan:

G91
G0 X100

Mesin tidak menuju X100.

Mesin bergerak:

300 + 100 = 400 mm

Karena itu salah memahami G90/G91 bisa menyebabkan gerakan yang tidak terduga.

Pada toolpath CNC router, G90 atau absolute positioning sangat umum digunakan.


X, Y, dan Z

Tiga parameter ini menentukan posisi axis.

X → kiri / kanan
Y → depan / belakang
Z → naik / turun

Contoh:

G0 X100 Y50 Z10

memerintahkan mesin menuju:

X = 100
Y = 50
Z = 10

Koordinat tersebut biasanya mengacu pada Work Coordinate aktif seperti G54.


Mengenal Nilai Z Positif dan Negatif

Pada banyak setup CNC router, permukaan material dibuat sebagai:

Z0

Maka:

Z+5

berarti tool berada 5 mm di atas material.

Sedangkan:

Z-3

berarti tool masuk 3 mm ke dalam material.

Contoh:

G0 Z5
G1 Z-3 F300

Artinya:

rapid ke 5 mm di atas material
↓
turun sampai kedalaman 3 mm

Karena itu nilai Z merupakan salah satu bagian pertama yang perlu diperiksa ketika debugging G-code.


F — Feed Rate

F menentukan kecepatan gerakan cutting.

Contoh:

G1 X100 F800

berarti bergerak menuju X100 dengan feed:

800 mm/menit

jika menggunakan G21.

Feed rate yang tepat bergantung pada:

  • material,

  • diameter endmill,

  • jumlah flute,

  • RPM spindle,

  • depth of cut,

  • rigiditas mesin,

  • dan kemampuan spindle.

Feed terlalu tinggi dapat menyebabkan:

  • motor kehilangan langkah,

  • tool patah,

  • spindle overload,

  • hasil potongan kasar.

Tetapi feed terlalu rendah juga tidak selalu baik karena dapat menyebabkan tool lebih banyak menggesek daripada memotong dan menghasilkan panas.


S — Spindle Speed

Parameter S biasanya digunakan untuk menentukan kecepatan spindle.

Contoh:

S18000

berarti target spindle speed:

18.000 RPM

Biasanya digunakan bersama M3:

M3 S18000

Namun apakah spindle benar-benar berputar tepat 18.000 RPM tergantung sistem kontrol spindle.

Jika CNC menggunakan router manual tanpa kontrol RPM dari controller, nilai S mungkin tidak memiliki efek langsung terhadap kecepatan aktual router.


M3 — Menyalakan Spindle

Contoh:

M3 S18000

secara umum berarti:

nyalakan spindle dengan arah normal/clockwise dan target speed 18.000 RPM.

Pada CNC router, M3 merupakan perintah spindle yang paling umum.


M5 — Mematikan Spindle

Untuk menghentikan spindle digunakan:

M5

Biasanya terdapat pada akhir program.

Contoh:

G0 Z10
M5

Artinya:

  1. tool naik ke posisi aman,

  2. spindle dimatikan.


M0 — Program Pause

M0 digunakan untuk menghentikan program sementara dan menunggu tindakan operator.

Contoh penggunaan:

M0

dapat digunakan ketika operator harus:

  • mengganti tool,

  • memindahkan clamp,

  • memeriksa benda kerja,

  • atau melakukan operasi manual tertentu.

Perilaku pause dapat sedikit berbeda tergantung controller dan software sender yang digunakan.


M30 — Akhir Program

M30 secara tradisional digunakan sebagai penanda:

end of program.

Contoh:

M5
M30

Artinya spindle dimatikan dan program selesai.

Namun jangan menganggap M30 otomatis membuat mesin kembali ke titik awal atau posisi tertentu.

Perilaku akhir job tergantung controller, sender, dan isi G-code.

Jika kamu ingin mesin bergerak ke posisi tertentu setelah cutting, gerakan tersebut harus memang ditentukan dalam program atau ditangani oleh sender/controller.


G54 — Work Coordinate System

Pada CNC, titik nol benda kerja biasanya menggunakan Work Coordinate System.

Yang paling umum adalah:

G54

Selain G54 tersedia pula sistem seperti:

G55
G56
G57
G58
G59

Masing-masing dapat memiliki offset zero sendiri.

Ini berguna jika satu meja CNC mempunyai beberapa fixture.

Misalnya:

G54 → fixture pertama
G55 → fixture kedua
G56 → fixture ketiga

Untuk penggunaan sederhana, G54 biasanya sudah cukup.


Modal Command: Kenapa G1 Tidak Selalu Ditulis Ulang?

Salah satu karakter penting G-code adalah banyak perintah bersifat modal.

Artinya sebuah mode tetap aktif sampai diganti oleh perintah lain.

Contoh:

G1 X50 F800
Y30
X0
Y0

Setelah G1 aktif, baris berikutnya masih dianggap sebagai gerakan G1 selama belum diganti dengan G0, G2, G3, atau mode gerakan lainnya.

Secara konseptual program tersebut sama seperti:

G1 X50 F800
G1 Y30
G1 X0
G1 Y0

Hal yang sama berlaku untuk banyak mode seperti:

G20 / G21
G90 / G91
G54 / G55

Karena itu ketika membaca G-code, jangan hanya membaca satu baris secara terpisah.

Perhatikan juga mode yang sudah aktif dari baris sebelumnya.


Contoh Program G-Code Sederhana

Berikut contoh sederhana untuk membuat lintasan persegi panjang:

50 × 30 mm

dengan kedalaman:

3 mm

G21
G90
G54

G0 Z5
G0 X0 Y0

M3 S18000

G0 Z1
G1 Z-3 F300

G1 X50 F800
G1 Y30
G1 X0
G1 Y0

G0 Z10

M5
M30

Sekarang mari kita baca satu per satu.


Membaca Program Baris per Baris

G21

Gunakan unit milimeter.

G90

Gunakan absolute positioning.

G54

Gunakan Work Coordinate G54.

G0 Z5

Angkat tool menuju Z5.

G0 X0 Y0

Rapid menuju titik X0 Y0.

M3 S18000

Nyalakan spindle dengan target 18.000 RPM.

G0 Z1

Turunkan cepat sampai 1 mm di atas permukaan material.

G1 Z-3 F300

Masuk ke material hingga kedalaman 3 mm menggunakan plunge feed 300 mm/menit.

Kemudian:

G1 X50 F800
G1 Y30
G1 X0
G1 Y0

Tool membuat lintasan persegi panjang.

Terakhir:

G0 Z10

Tool dinaikkan.

M5

Spindle dimatikan.

M30

Program selesai.


Gambaran Gerakan Program

Secara visual:

X0 Y30              X50 Y30

●────────────────────●
│                    │
│                    │
│                    │
│                    │
●────────────────────●
X0 Y0               X50 Y0

Tool mulai dari:

X0 Y0

kemudian:

X0 Y0
  ↓
X50 Y0
  ↓
X50 Y30
  ↓
X0 Y30
  ↓
X0 Y0

Dengan memahami pola sederhana seperti ini, membaca program CNC yang lebih panjang akan terasa jauh lebih mudah.


Jangan Langsung Menjalankan G-Code yang Tidak Dikenal

Jika mendapatkan file G-code dari orang lain atau dari internet, jangan langsung menjalankannya pada mesin.

Periksa terlebih dahulu beberapa hal penting.

Apakah unitnya:

G20 atau G21?

Apakah positioning-nya:

G90 atau G91?

Apakah koordinat X/Y masih berada dalam area kerja?

Apakah Z bergerak terlalu dalam?

Apakah spindle command sesuai dengan mesin?

Apakah feed rate masuk akal?

Apakah post processor memang dibuat untuk controller yang digunakan?

G-code yang dibuat untuk mesin tertentu belum tentu aman dijalankan pada mesin lain.


Cara Debugging G-Code

Memahami G-code sangat berguna ketika mesin melakukan sesuatu yang tidak sesuai harapan.

Berikut beberapa hal yang bisa diperiksa.


1. Periksa Kedalaman Z

Cari nilai seperti:

Z-3
Z-5
Z-10

Kemudian bandingkan dengan ketebalan material.

Jika material hanya:

10 mm

tetapi ada perintah:

Z-50

jelas ada sesuatu yang perlu diperiksa.

Tetapi jangan langsung menilai nilai Z hanya dari angkanya.

Periksa juga apakah program menggunakan:

G90

atau:

G91

karena artinya bisa berbeda.


2. Periksa Safe Z

Sebelum rapid move X/Y, biasanya tool perlu berada pada clearance yang aman.

Contoh yang lebih aman:

G0 Z10
G0 X100 Y100

Yang berpotensi berbahaya:

G0 X100 Y100

ketika tool masih berada di dalam material.

CAM yang dikonfigurasi dengan benar biasanya mengatur retract dan clearance secara otomatis.


3. Periksa Feed Rate

Cari parameter:

F

Contoh:

F800

atau:

F3000

Pastikan nilainya sesuai dengan:

  • material,

  • tool,

  • spindle,

  • dan kemampuan mesin.

Jika CNC kecil tiba-tiba diperintah cutting aluminium dengan:

F10000

tentu perlu diperiksa.


4. Periksa Spindle

Cari:

M3

dan:

M5

Pastikan spindle menyala sebelum tool benar-benar mulai masuk material.

Secara ideal urutannya:

Spindle ON
↓
tunggu spindle mencapai RPM
↓
plunge
↓
cutting

Pada beberapa setup CAM atau controller, dwell dapat digunakan agar spindle mempunyai waktu mencapai kecepatan.


5. Periksa G20 dan G21

Salah unit dapat menghasilkan perbedaan gerakan sebesar:

25,4 kali.

Misalnya kamu mengira program menggunakan millimeter tetapi ternyata:

G20

maka angka:

X10

berarti:

10 inch

atau sekitar:

254 mm.

Karena itu G20/G21 termasuk hal pertama yang perlu diperiksa.


6. Periksa G90 dan G91

Kesalahan antara absolute dan incremental positioning dapat menghasilkan gerakan mesin yang sangat tidak terduga.

Jika melihat:

G91

perhatikan seluruh perintah setelahnya.

Pastikan program kembali ke:

G90

jika memang diperlukan.


7. Periksa Posisi X dan Y

Lihat nilai terbesar yang muncul.

Contoh:

X850
Y1200

Jika mesin hanya mempunyai area kerja:

X = 800 mm
Y = 1000 mm

maka program jelas membutuhkan perhatian.

Soft limit dapat membantu mencegah beberapa gerakan di luar area kerja jika homing dan konfigurasi mesin sudah benar.


G-Code Error Belum Tentu Berarti G-Code Salah

Jika sender menampilkan error saat menjalankan program, ada beberapa kemungkinan:

  • command tidak didukung controller,

  • post processor tidak sesuai,

  • format arc tidak sesuai,

  • karakter tertentu tidak dikenali,

  • parameter berada di luar batas,

  • mesin sedang dalam alarm,

  • soft limit aktif,

  • atau modal state tidak sesuai.

Karena itu sangat penting menggunakan post processor yang sesuai dengan firmware CNC.

Jika mesin menggunakan GRBL atau grblHAL, gunakan post processor yang memang dibuat untuk GRBL/grblHAL.

Jangan sembarang menggunakan post processor Fanuc, Mach3, LinuxCNC, atau controller industri lain tanpa memahami perbedaannya.


Apa Itu Post Processor?

Software CAM sebenarnya tidak langsung membuat satu jenis G-code universal.

Setelah toolpath dibuat, post processor menerjemahkan toolpath tersebut menjadi format G-code yang cocok dengan controller.

Contohnya:

Fusion 360
   ↓
Toolpath
   ↓
GRBL Post Processor
   ↓
G-code untuk GRBL

Post processor menentukan banyak hal seperti:

  • format G-code,

  • command spindle,

  • arc,

  • tool change,

  • program header,

  • program footer,

  • dan command tertentu yang didukung mesin.

Karena itu pemilihan post processor sama pentingnya dengan toolpath itu sendiri.


Apakah Harus Hafal Semua G-Code?

Tidak.

Operator CNC tidak perlu menghafal ratusan perintah.

Untuk CNC router berbasis GRBL/grblHAL, memahami beberapa command utama saja sudah sangat membantu:

G0
G1
G2
G3

G20
G21

G90
G91

G54

M3
M5

X
Y
Z

F
S

Setelah memahami perintah tersebut, kamu sudah dapat membaca bagian besar dari G-code CNC router sehari-hari.

Perintah lainnya dapat dipelajari sesuai kebutuhan.


Tips Aman Sebelum Menjalankan G-Code Baru

Sebelum menekan Start, biasakan melakukan beberapa pemeriksaan:

  • lakukan homing,

  • pastikan Work Zero benar,

  • pastikan CAM origin sama dengan zero mesin,

  • cek ukuran material,

  • cek ukuran endmill,

  • cek Z depth,

  • cek feed rate,

  • cek spindle speed,

  • cek posisi clamp,

  • cek clearance Z,

  • dan lihat preview toolpath.

Untuk program yang baru pertama kali dijalankan, lakukan air cut jika memungkinkan.

Naikkan Z di atas material lalu jalankan mesin tanpa cutting.

Perhatikan apakah gerakan X/Y sesuai dengan area benda kerja.

Beberapa menit pengecekan dapat mencegah:

  • tool patah,

  • material rusak,

  • clamp tertabrak,

  • spoilboard terpotong terlalu dalam,

  • bahkan crash mesin.


Kesimpulan

G-code adalah bahasa yang menghubungkan software CAM dengan mesin CNC.

Software CAM menentukan toolpath.

Post processor mengubah toolpath menjadi G-code.

Controller membaca G-code dan menerjemahkannya menjadi gerakan motor dan kontrol spindle.

Secara sederhana:

CAD
↓
CAM
↓
TOOLPATH
↓
POST PROCESSOR
↓
G-CODE
↓
CONTROLLER
↓
CNC BERGERAK

Kamu tidak harus menjadi programmer untuk menggunakan CNC.

Sebagian besar G-code akan dibuat otomatis oleh software CAM.

Tetapi memahami perintah dasar seperti:

G0, G1, G2, G3, G20, G21, G90, G91, M3, M5, X, Y, Z, F dan S

akan membuat kamu jauh lebih mudah memahami apa yang sedang dilakukan mesin.

Lebih penting lagi, kemampuan membaca G-code dapat membantu mendeteksi kesalahan sebelum kesalahan tersebut berubah menjadi crash mesin.

Jadi ketika mesin CNC melakukan gerakan yang terasa aneh, jangan langsung menyalahkan motor, controller atau firmware.

Buka G-code-nya.

Lihat beberapa baris sebelum kejadian.

Sering kali, dari sana kita sudah bisa mengetahui:

apa yang diperintahkan software, apa yang dibaca controller, dan kenapa mesin melakukan gerakan tersebut.

Cara Tuning Motor Stepper CNC: Current, Microstepping, dan Acceleration
Panduan memahami G-code dasar untuk mesin CNC: struktur baris G-code,…
Cara Kalibrasi Steps Per MM Mesin CNC dengan Akurat
Panduan memahami G-code dasar untuk mesin CNC: struktur baris G-code,…

Leave A Comment

Cart (0 items)