Dalam artikel blog ini, seorang insinyur mesin yang berpengalaman berbagi kiat dan teknik orang dalam untuk menguasai perintah mesin bubut CNC Fanuc. Temukan cara mengoptimalkan keterampilan pemrograman CNC Anda, meningkatkan produktivitas, dan membawa proyek pemesinan Anda ke tingkat berikutnya.
G00▲: Pemosisian Titik Cepat
G00 X__Z__
G01: Interpolasi Linier
G01 X__Z__F__
G01: Perintah Kemiringan atau Fillet
G01 X (U) Z (W) C
G01 X (U) Z (W) R
Nilai X (U) dan Z (W) mewakili koordinat titik perpotongan hipotetis antara garis yang berdekatan AD dan DE dalam sistem koordinat benda kerja, di mana X dan Z adalah nilai koordinat absolut, dan U serta W adalah nilai koordinat tambahan. Nilai C menandakan jarak relatif terhadap titik awal talang. Nilai R menunjukkan jari-jari busur fillet.
G02: Interpolasi Busur Searah Jarum Jam
G02X__Z__R__F__
G02X__Z__ I__K__ F__
R menunjukkan jari-jari busur. Apabila sudut pusat busur berkisar antara 0° hingga 180°, R mengasumsikan nilai positif; untuk sudut pusat antara 180° hingga 360°, R bernilai negatif. I dan K menunjukkan koordinat tambahan dari pusat busur relatif terhadap sumbu X dan Z dari titik awal busur, yaitu koordinat pusat dikurangi koordinat titik awal (I diwakili oleh nilai radius). Apabila I dan K bernilai nol, keduanya dapat dihilangkan.
G03: Interpolasi Busur Berlawanan Arah Jarum Jam
G03 X__Z__R__F__
G03X__Z__ I__K__ F__
Identik dengan G02.
G04: Jeda
G04 X1.5; atau G04 P1500; P tanpa titik desimal.
G07.1 (G107): Interpolasi Silinder
G07.1IPr (Efektif); G07.1IP0 (Pembatalan);
G10▲: Input Data yang Dapat Diprogram
G10 P __X__ Z__R__ Q__
G11: Pembatalan Input Data yang Dapat Diprogram
G12.1 (G112): Instruksi Koordinat Kutub
G13.1▲: Pembatalan Koordinat Kutub
G17: Pemilihan Bidang XY
G18▲: Pemilihan Pesawat XZ
G19: Pemilihan Pesawat YZ
G20: Masukan Inchi
G21: Masukan Milimeter
G22: Mengaktifkan Deteksi Stroke Tersimpan
G23: Nonaktifkan Deteksi Stroke Tersimpan
G27: Pemeriksaan Pengembalian Titik Referensi
G27 X (U) Z (W)
Alat diperiksa untuk kembali ke koordinat X, Z yang ditentukan seperti yang ditentukan dalam program, dengan menggunakan perintah G00. Jika pengembaliannya akurat, lampu indikator akan menyala. Namun, ketidaksesuaian akan mengakibatkan alarm sistem pada alat mesin.
G28: Kembali Otomatis ke Titik Referensi
G28 X (U) Z (W); X dan Z adalah titik-titik yang dilewati selama proses pengembalian.
G29: Kembali ke titik referensi
G29 X (U) Z (W)
Dari titik referensi, melewati titik tengah ke posisi X dan Z yang ditentukan, titik tengah adalah titik yang ditunjuk oleh G28, oleh karena itu, perintah ini hanya dapat muncul setelah G28.
G30: Kembali ke titik setel
G30 P2/P3/P4 X Z
P2, P3, P4 masing-masing mewakili titik referensi ke-2, ke-3, dan ke-4, sedangkan X dan Z adalah titik tengah.
Arti: Alat ini melewati titik tengah untuk mencapai posisi titik referensi ke-2, ke-3, dan ke-4.
G31: Fungsi lompat
G32: Penguliran nada yang sama
G32X(U)_Z(W)_F_Q_
G32 Z (W) F; (Ulir silinder)
G32 X (U) F; (Ulir muka ujung)
G32 X (U) Z (W) F; (Ulir berbentuk kerucut)
Catatan:
1. Ketika memprogram, segmen cut-in dan cut-out harus dimasukkan ke dalam program pembubutan ulir.
2. Untuk pemesinan ulir berbentuk kerucut, apabila sudut α kurang atau sama dengan 45 derajat, maka ulir utama ditentukan pada arah sumbu Z; apabila sudut α lebih besar dari 45 derajat dan kurang atau sama dengan 90 derajat, maka ulir utama ditentukan pada arah sumbu X.
3. Q menunjukkan sudut awal ulir, tanpa titik desimal, dan satuannya adalah 0,001°.
G34: Ulir Pitch Variabel
G34 X (U) Z (W) F K; (Ulir berbentuk kerucut)
K mewakili kenaikan (nilai positif) atau penurunan (nilai negatif) nada per putaran, selebihnya sama seperti G32.
G36: Otomatis Kompensasi Alat X
G36 X
G37: Kompensasi Alat Otomatis Z
G37 Z
G40: Pembatalan Kompensasi Radius Tip
G41: Offset kiri untuk radius ujung pahat
G41 (G42) G01 (G00) X Z F
G40 G01(G00) X Z F
Untuk dudukan pahat depan, lingkaran luar adalah G42 dengan nomor posisi 3, dan lubang bor adalah G41 dengan nomor posisi 2. Gambar berikut ini menunjukkan nomor posisi untuk dudukan pahat depan, dengan posisi 2 dan 3, serta 1 dan 4 terbalik pada dudukan pahat belakang, sedangkan sisanya tetap sama.
G42: Offset kanan untuk radius ujung pahat
G50: Pengaturan sistem koordinat atau batas kecepatan maksimum
G50 X Z atau G50 S
G50.3: Sistem koordinat benda kerja yang telah ditetapkan
G50.2: Pembatalan pembelokan poligon
G51: Pembubutan poligon
G52: Sistem koordinat lokal
G52 X20 Z20: Nilai X\Z mewakili posisi asal sistem koordinat lokal dalam sistem koordinat benda kerja asli.
Jika G52 X0 Z0: ini membatalkan sistem koordinat lokal, dan mengembalikan sistem koordinat asal.
G53: Pemilihan sistem koordinat alat berat
Batalkan pilihan sistem koordinat benda kerja dan pilih sistem koordinat alat mesin.
(G90) G53 X_ Y_ Z_: valid dalam perintah absolut (G90), tetapi tidak valid dalam perintah tambahan (G91).
Catatan:
(1) Offset diameter pahat, offset panjang pahat, dan offset posisi pahat harus dibatalkan sebelum menetapkan perintah G53. Jika tidak, alat mesin akan bergerak sesuai dengan nilai offset yang ditetapkan.
(2) Sebelum menjalankan perintah G53, secara manual atau menggunakan perintah G28, kembalikan alat mesin ke tempat asal. Hal ini karena sistem koordinat alat mesin harus ditetapkan sebelum mengeluarkan perintah G53.
G54▲: Pemilihan sistem koordinat benda kerja 1
G54; Dihidupkan secara default.
G55-59: Pemilihan sistem koordinat benda kerja 2-6
G65: Panggilan non-modal dari program makro
Kelas A menggunakan sistem FANUC 0TD, sedangkan Kelas B menggunakan sistem FANUC 0I.
Variabel lokal adalah #1-#33, variabel bersama adalah #100-#149, #500-#549, dan variabel sistem adalah #1000 ke atas.
Program makro diakhiri dengan M99, dan dapat dipanggil dengan M98 atau "G65 P (nomor program) L (hitungan)".
Format untuk program Kelas A adalah: G65 H(a)P(b)Q(c)R(d), di mana a adalah kode H, b adalah variabel hasil, dan c, d adalah dua variabel operasi.
Perintah operasi program makro Kelas B.
Penugasan | #i = #j | Fungsi lantai | #i = FUP [#j] |
Penambahan | #i = #j + #k | Logaritma alami | #i = LN [#j] |
Pengurangan | #i = #j - #k | Fungsi eksponensial | #i = EXP [#j] |
Perkalian | #i = #j * #k | Atau | #iOR#j |
Divisi | #i = #j / #k | Eksklusif atau | #iXOR#j |
Sinus | #i = SIN [#j] | Dan | #iAND#j |
Sinus Terbalik | #i = ASIN [#j] | Konversi BCD ke BIN | #i = BIN [#j] |
Cosinus | #i = CON [#j] | Konversi BIN ke BCD | #i = BCD [#j] |
Kosinus Terbalik | #i = ACON [#j] | Sama | EQ |
Tangen | #i = TAN [#j] | Tidak sama dengan | NE |
Garis Singgung Terbalik | #i=ATAN[#j]/[#k] | Lebih besar dari | GT |
Akar Kuadrat | #i = SQRT [#j] | Lebih besar dari atau sama dengan | GE |
Nilai Mutlak | #i = ABS [#j] | Kurang dari | LT |
Pembulatan | #i = bulat [#j] | Kurang dari atau sama dengan | LE |
Langit-langit | #i = FIX [#j] |
Perintah kontrol: GOTO n - Lompatan tanpa syarat
IF [ekspresi kondisi] GOTO n - Pernyataan lompatan bersyarat
WHILE [ekspresi kondisi] DO m (m = 1, 2, 3...) - Perintah perulangan
...
AKHIR m;
G66: Pemanggilan Modal Program Makro
G67: Pembatalan Pemanggilan Modal Program Makro
G70: Siklus Tetap Senyawa Pembubutan Halus Silinder Internal dan Eksternal
Format Pemrograman: G70 P (ns) Q (nf)
Dimana:
Catatan:
(1) Perintah G70 tidak dapat digunakan secara terpisah; perintah ini harus dikombinasikan dengan perintah G71, G72, G73 untuk menyelesaikan siklus tetap pemesinan presisi, yaitu, setelah membubut benda kerja secara kasar dengan perintah G71, G72, G73, G70 digunakan untuk menentukan siklus tetap pemesinan presisi, menghilangkan kelonggaran yang ditinggalkan oleh pemesinan kasar.
(2) Dalam hal ini, perintah F, S, T di segmen program G71, G72, G73 tidak valid; hanya F, S, T di segmen program ns~nf yang efektif. Apabila perintah F, S, T tidak ditentukan dalam segmen program ns~nf, maka F, S, T dari siklus pembubutan kasar akan efektif.
G71: Siklus Tetap Senyawa Pembubutan Halus Silinder Internal dan Eksternal
Format Pemrograman: G71U (△d) R (e);
G71 P (ns) Q (nf) U (△u) W (△w) F S T ;
Dimana:
(1) Apabila instruksi di atas digunakan untuk pemesinan kontur bagian dalam benda kerja, △u harus bernilai negatif.
(2) Apabila menggunakan G71 untuk pengasaran, hanya fungsi F, S, T yang disertakan dalam segmen program G71 yang efektif. Fungsi F, S, T yang disertakan dalam segmen program ns~nf tidak efektif untuk siklus pengasaran, meskipun sudah ditentukan. Kompensasi pahat dapat dilakukan, dan kompensasi radius ujung pahat dapat diprogram sebelum G70, biasanya digabungkan dalam gerakan yang mendekati titik awal. Sebagai contoh: G42G00X55Z2; G70P10Q20; G40G00X100Z50;
(3) Instruksi ini berlaku apabila ada kenaikan atau penurunan monoton pada koordinat Z, dan koordinat X juga berubah secara monoton. Segmen program Ns harus maju di sepanjang sumbu X, dan nilai Z tidak boleh muncul.
G72: Siklus Tetap Komposit Pembubutan Kasar Muka Akhir
Format pemrograman: G72W (△d) R (e);
G72 P (ns) Q (nf) U (△u) W (△w) F S T ;
2. d: Jumlah pemotongan balik arah-Z, tanpa tanda; parameter lainnya sama dengan G71. Segmen program Ns harus diumpankan ke arah Z dan tidak boleh berisi nilai X. Apabila perintah di atas digunakan untuk pemesinan kontur internal benda kerja, △u harus bernilai negatif.
Contoh: Seperti yang ditunjukkan pada gambar, daftar programnya adalah:
G73: Siklus Duplikasi Kontur
Format Pemrograman: G73 U (△i) W (△k) R (d);
G73 P (ns) Q (nf) U (△u) W (△w) F S T ;
d: Mewakili jumlah siklus dalam pembubutan kasar (jumlah lapisan);
△i: Selama pembubutan kasar, total kelonggaran yang harus dilepas pada arah sumbu X (jumlah penarikan pahat) dan arah, nilai radius. Yaitu: ukuran mentah dikurangi ukuran benda kerja terkecil dibagi 2. Lubang adalah nilai negatif.
△k: Selama pembubutan kasar, total penyisihan yang akan dikeluarkan pada arah sumbu Z (jumlah penarikan pahat) dan arah; △k pada umumnya nol. Selebihnya, sama seperti perintah G71.
G74: Siklus Alur Muka Akhir / Pengeboran Siklus
G75: Radial Grooving Siklus
Format Pemrograman: G75R (e);
G75 X (U) Z (W) P (Δi) Q (Δk) R (d) F;
Catatan:
1. Kedalaman akhir dan offset arah-Z akhir dihitung oleh sistem itu sendiri.
2. Δi, Δk adalah unit pemrograman minimum, misalnya, P1500 berarti kedalaman pemotongan 1,5 mm.
G76: Siklus Senyawa Pemotongan Benang
G76 P (m) (r) (α) Q (△d min) R (d)
G76 X (U) Z (W) R (i) P (k) Q (△d) F (L)
G90: Siklus Tetap Tunggal Permukaan Silinder / Kerucut
G90 X(U) Z(W) R F;
R menunjukkan setengah dari perbedaan antara koordinat X pada titik awal dan koordinat X pada titik akhir pemotongan permukaan kerucut. Ini bisa negatif, di mana negatif menunjukkan kerucut biasa dan positif menunjukkan kerucut terbalik. Tanpa R, ini adalah pemotongan silinder. Kecepatan Pemotongan: G00 - G01 - G01 - G00.
G92: Siklus Pemotongan Benang
G92 X(U) Z(W) F R;
R = (X titik awal - X titik akhir) / 2. R bersifat non-modal dan harus disertakan dalam setiap kalimat.
G94: Siklus Pemotongan Permukaan Akhir
Format perintah: G94 X(U) Z(W) F;
Format perintah pemotongan permukaan ujung tirus: G94 X(U) Z(W) K F
Di mana, X, Z mewakili nilai koordinat absolut dari titik akhir segmen pemotongan;
U, W mewakili nilai kenaikan koordinat dari titik akhir segmen pemotongan relatif terhadap titik awal siklus; F mewakili laju pemakanan. K mewakili perbedaan nilai koordinat Z antara titik awal dan titik akhir segmen pemotongan (biasanya bernilai negatif), yaitu K = Z titik awal - Z titik akhir.
G96: Eksekusi kecepatan linier konstan
M3S300; Kecepatan awal
G50S1000; Batas kecepatan maksimum 1000
G96S100; Kecepatan spindel 100m/menit
…
G97▲: Pembatalan kecepatan linier konstan, penghentian kecepatan.
G97 S300; Pembatalan kecepatan linier konstan, kecepatan 300r/menit
G98: Pengumpanan per menit
Satuan: mm/menit Contoh: G98 G01 X20 F200
G99▲: Pengumpanan per putaran
Satuan: mm/putaran Contoh: G99 G01 X20 F0.2;
M00: Semua tindakan berhenti.
M01: Berhenti memilih program
Harus ditekan: Pilih tombol stop agar efektif, setara dengan M00;
M02: Penghentian program
Kursor tidak kembali.
M03/M04: Spindel maju (searah jarum jam)/mundur (berlawanan arah jarum jam)
M03 S300;
M05: Penghentian spindel
M08/09: Pendingin hidup/mati
M30: Penghentian program
Kursor kembali ke awal program.
M98: Pemanggilan subrutin
Format pemrograman: M98 PxxxxL;
atau M98 Pxxxxxxxx;
M99: Kembali ke program utama
Dalam hal ini, empat digit setelah alamat P setelah panggilan mewakili nomor subrutin, panggilan setelah alamat L mewakili waktu panggilan. Bila waktu panggilan adalah 1, maka dapat dihilangkan, dan waktu panggilan berulang yang diperbolehkan hingga 999. Ketika delapan digit mengikuti alamat P, empat digit pertama mewakili waktu panggilan, dan empat digit terakhir mewakili nomor subrutin. Bila waktu panggilan adalah 1, maka dapat dihilangkan.
Jika M99 P100; mewakili kembali ke program utama segmen program N100, jika subrutin melakukan M99 L2, berarti subrutin dipaksa untuk mengeksekusi dua kali, terlepas dari berapa kali permintaan program utama.
T××××: Perintah alat
Pada T0101, dua digit pertama menunjukkan nomor alat, sedangkan dua digit terakhir menunjukkan nomor kompensasi alat.