- Apa Itu M0 dan M1 pada Program CNC?
- Apa Fungsi M0 pada Mesin CNC?
- Apa Fungsi M1 pada Mesin CNC?
- Perbedaan M0 dan M1 pada Mesin CNC
- Cara Kerja M0 dan M1 pada Program CNC
- Ketika CNC Membaca M0
- Ketika CNC Membaca M1
- Contoh Program CNC Menggunakan M0 dan M1
- Kapan Sebaiknya Menggunakan M0?
- Kapan Sebaiknya Menggunakan M1?
- M0 vs M1 vs M2 vs M30
- Apa Hubungan M-Code dengan G-Code?
- Kesalahan yang Sering Terjadi Saat Menggunakan M0 dan M1
- FAQ Seputar M0 dan M1 CNC
- Kesimpulan
M0 dan M1 kedengarannya mirip di lembar program CNC, cuma beda satu angka. Tapi kalau kamu pernah bingung kenapa program berhenti total di satu baris, sementara baris lain dengan M-code serupa malah lanjut terus, itu bukan kebetulan. Artikel ini akan bahas perbedaan M1 dan M0 pada mesin CNC, dari fungsi dasarnya sampai contoh penerapannya di program nyata.
Apa Itu M0 dan M1 pada Program CNC?
M0 dan M1 adalah bagian dari M-code, atau miscellaneous function, dalam program CNC. Bedanya dengan G-code, M-code nggak mengatur gerakan interpolasi seperti garis lurus atau busur, tapi mengatur fungsi tambahan mesin, termasuk penghentian program. Secara singkat, M0 berfungsi sebagai program stop, sedangkan M1 berfungsi sebagai optional stop. Perbedaan detailnya akan dibahas satu per satu di bagian berikutnya.
Apa Fungsi M0 pada Mesin CNC?
M0 berfungsi menghentikan eksekusi program CNC secara langsung, tanpa syarat tambahan. Begitu controller membaca baris berisi M0, program otomatis berhenti dan menunggu tindakan operator, misalnya menekan cycle start untuk melanjutkan. M0 biasanya dipakai ketika ada tindakan wajib sebelum proses berikutnya, misalnya mengganti benda kerja atau pengecekan manual yang krusial. Karena menghentikan program tanpa syarat, pemakaian M0 sebaiknya direncanakan, mengingat siklus produksi otomatis ikut terhenti setiap kali dipanggil.
Apa Fungsi M1 pada Mesin CNC?

M1 juga menghentikan program, tapi dengan syarat tambahan: fungsi ini cuma aktif kalau optional stop diaktifkan di CNC controller, biasanya lewat tombol atau switch “Optional Stop” di panel mesin. Kalau optional stop mati, controller melewati M1 begitu saja dan program terus berjalan seolah baris itu nggak ada. Kondisi ini yang bikin M1 sering disebut penghentian sesuai kebutuhan, dipakai untuk pengecekan opsional seperti inspeksi hasil machining di tengah proses, bukan tindakan wajib setiap saat. Jangan menyamakan M1 dengan M0, bedanya ada di ketergantungan pada optional stop ini.
Perbedaan M0 dan M1 pada Mesin CNC
Supaya lebih jelas, berikut perbandingannya dalam bentuk tabel.
| Aspek | M0 | M1 |
|---|---|---|
| Fungsi | Program stop | Optional stop |
| Status penghentian | Selalu berhenti saat dibaca | Berhenti hanya jika optional stop aktif |
| Pengaruh optional stop | Tidak bergantung | Sepenuhnya bergantung |
| Respons controller | Langsung hentikan eksekusi | Cek status optional stop dulu |
| Penggunaan di machining | Tindakan wajib operator | Tindakan opsional/inspeksi |
| Contoh situasi | Ganti benda kerja, cek krusial | Inspeksi tambahan, cek tool |
Inti perbedaannya: M0 = program berhenti tanpa bergantung optional stop, sementara M1 = program berhenti hanya ketika fungsi optional stop diaktifkan. Implementasi M-code bisa berbeda tergantung controller dan manufacturer, jadi tetap cek manual mesin yang kamu pakai.
Cara Kerja M0 dan M1 pada Program CNC

Ketika CNC Membaca M0
Program berjalan → controller membaca M0 → program berhenti → operator melakukan tindakan → program dilanjutkan.
Ketika CNC Membaca M1
Program berjalan → controller membaca M1 → optional stop aktif? → Ya: program berhenti / Tidak: program lanjut eksekusi.
Alur ini menggambarkan logika umum, tapi perilaku aktualnya tetap bergantung pada CNC controller yang dipakai. Beberapa controller bahkan punya pengaturan tambahan yang memengaruhi cara M0 dan M1 dieksekusi di lapangan.
Diagram konseptual: CNC Program → CNC Controller → M0/M1 → Kondisi Optional Stop → Program Berhenti / Lanjut → Operator
baca juga :
– G-code mesin CNC
– Memprogram mesin CNC Dasar
Contoh Program CNC Menggunakan M0 dan M1
Berikut contoh sederhana untuk menggambarkan konteks penggunaannya, bukan format baku yang berlaku di semua controller.
N10 G00 X0 Y0
N20 M03 S1500 ; spindle nyala
N30 G01 X50 F200
N40 M0 ; program stop, operator cek benda kerja
N50 G01 X100
N60 M1 ; optional stop, aktif kalau tombol optional stop nyala
N70 M05 ; spindle mati
N80 M30 ; program selesai
Pada contoh di atas, M0 dipakai saat operator memang perlu melakukan tindakan tertentu sebelum program lanjut, misalnya memastikan posisi benda kerja aman. M1 dipakai untuk pengecekan yang sifatnya opsional, seperti inspeksi tool, dan cuma aktif kalau optional stop diaktifkan di controller.
Kapan Sebaiknya Menggunakan M0?
M0 cocok dipakai kalau ada tindakan yang benar-benar wajib dilakukan sebelum proses lanjut, misalnya:
- inspeksi manual yang sifatnya wajib
- membersihkan area machining dari chip atau coolant berlebih
- mengubah kondisi tertentu, seperti mengganti fixture
- tindakan operator yang memang harus dilakukan setiap siklus
Karena M0 menghentikan program tanpa syarat, penggunaannya sebaiknya direncanakan matang-matang supaya nggak mengganggu efisiensi produksi.
Kapan Sebaiknya Menggunakan M1?
M1 lebih cocok untuk kebutuhan yang sifatnya opsional, misalnya:
- inspeksi tambahan yang nggak selalu diperlukan
- pengecekan hasil machining di tengah proses
- pemeriksaan kondisi tool secara berkala
- kebutuhan operator yang situasional, bukan rutin
- proses setup atau debugging program baru
Kelebihan M1 ada di fleksibilitasnya, karena operator bisa memilih kapan optional stop diaktifkan sesuai kebutuhan produksi saat itu.
M0 vs M1 vs M2 vs M30
Selain M0 dan M1, ada dua M-code lain yang sering muncul di akhir program, yaitu M2 dan M30. Secara umum:
- M0 = program stop
- M1 = optional stop
- M2 = program end, sesuai implementasi controller yang dipakai
- M30 = program end sekaligus reset, atau fungsi akhir program lain sesuai controller
Penting dicatat, fungsi M2 dan M30 nggak selalu identik di semua mesin. Beberapa controller membedakan keduanya secara signifikan, jadi jangan berasumsi keduanya bisa dipakai bergantian tanpa cek manual mesin terlebih dahulu.
Apa Hubungan M-Code dengan G-Code?
G-code umumnya berkaitan dengan preparatory function seperti gerakan interpolasi dan mode machining, misalnya G01 untuk gerakan linear. M-code dipakai untuk auxiliary function atau fungsi tambahan mesin, di luar gerakan itu sendiri, dan M0 dengan M1 termasuk di dalamnya. Meski begitu, klasifikasi dan implementasinya bisa berbeda tergantung controller, jadi pembagian ini prinsip umum, bukan aturan kaku di semua mesin.
Baca Juga : Cara Setting tool Offset CNC
Kesalahan yang Sering Terjadi Saat Menggunakan M0 dan M1
Beberapa kesalahan yang cukup umum ditemui di lapangan:
- menganggap M0 dan M1 berfungsi sama persis
- mengira M1 pasti selalu menghentikan mesin
- lupa memperhatikan status optional stop di controller
- menggunakan M0 terlalu sering sampai mengganggu efisiensi produksi
- menganggap semua controller punya perilaku M-code yang identik
- malas membaca manual controller atau mesin yang dipakai
Kesalahan-kesalahan ini kelihatan sepele, tapi bisa berdampak ke waktu produksi kalau nggak segera dikoreksi.
FAQ Seputar M0 dan M1 CNC
Menghentikan program secara langsung tanpa bergantung pada pengaturan optional stop.
Menghentikan program hanya kalau fungsi optional stop diaktifkan di controller.
M0 selalu berhenti saat dibaca, M1 cuma berhenti kalau optional stop dalam kondisi aktif.
Tidak. M1 cuma berhenti kalau optional stop diaktifkan, kalau tidak, baris itu dilewati.
Fitur pada controller yang menentukan apakah M1 akan menghentikan program atau dilewati.
Kesimpulan
Intinya, M0 dipakai untuk menghentikan program secara langsung, sementara M1 merupakan optional stop yang cuma menghentikan program kalau fungsi optional stop diaktifkan di controller. Perbedaan M1 dan M0 pada mesin CNC ini kelihatan sepele di atas kertas, tapi berpengaruh besar ke cara kerja siklus produksi sehari-hari. Karena implementasi M-code bisa berbeda antar controller dan manufacturer, tetap cek manual mesin kamu sebelum mengandalkan salah satu fungsi ini di program produksi.
Simak artikel-artikel lainnya mengenai mesin dan machining disini : https://teknikjaya.co.id/category/mesin-dan-machining/
Please Share This Article