Ringkasnya, makro ialah menggunakan formula untuk memproses bahagian. Sebagai contoh, elips, jika tiada makro, kita perlu mengira titik pada titik lengkung demi titik, dan kemudian perlahan-lahan menghampirinya dengan garis lurus. Jika ia adalah bahan kerja dengan keperluan kelancaran yang tinggi, maka kita perlu mengira banyak mata, tetapi selepas menggunakan makro, Kami memasukkan formula elips ke dalam sistem dan kemudian kami memberikan koordinat Z dan menambah jumlah setiap kali, kemudian makro secara automatik akan mengira koordinat X dan melakukan pemotongan. Malah, fungsi utama makro dalam program adalah pengiraan.
gambar
01
Mengenai program makro
Apakah itu program makro
Apabila pengaturcaraan, kami akan menyimpan satu siri arahan yang boleh melengkapkan fungsi tertentu ke dalam ingatan seperti subrutin, dan memanggilnya dengan arahan umum. Apabila menggunakannya, kita hanya perlu memberikan arahan am ini untuk melaksanakan fungsi yang disimpan Siri arahan ini dipanggil badan program makro pengguna, atau singkatannya program makro.
Perintah umum ini dipanggil perintah panggilan makro pengguna. Semasa pengaturcaraan, pengaturcara hanya perlu menghafal arahan makro tetapi bukan program makro.
Bilakah pengaturcaraan makro akan digunakan?
1) Keluk formula pemprosesan yang diprogramkan secara manual (pengiraan mudah, input pantas)
2) Laluan pemotongan biasa (sebagai modul pemotongan)
3) Kawalan antara program (penjadualan program)
4) Pengurusan alatan (pakaian alatan)
5) Pengukuran automatik (probe dalam mesin)
Perbezaan antara program makro dan program biasa
1) Dalam badan program makro, pembolehubah boleh digunakan, nilai boleh diberikan kepada pembolehubah, pengiraan boleh dilakukan antara pembolehubah, dan program boleh melompat.
2) Dalam atur cara biasa, hanya pemalar boleh ditentukan, dan operasi antara pemalar tidak boleh dilakukan. Program hanya boleh dilaksanakan secara berurutan dan tidak boleh melompat, jadi fungsi tetap dan tidak boleh diubah.
3) Fungsi makro ialah fungsi khas untuk pengguna meningkatkan prestasi alat mesin CNC, dan penggunaan mahir program makro dalam pemprosesan bahan kerja yang serupa akan mencapai dua kali ganda hasil dengan separuh usaha.
02
Pembolehubah dan format program makro
Ciri-ciri program makro
Program makro boleh menggunakan pembolehubah, dan pembolehubah boleh digunakan untuk melaksanakan operasi yang sepadan; nilai pembolehubah sebenar boleh diberikan kepada pembolehubah oleh arahan program makro.
Tiga Jenis Pembolehubah
Bentuk perwakilan pembolehubah sistem CNC ialah "#" diikuti dengan 1 hingga 4 digit, dan terdapat tiga jenis pembolehubah:
(1) Pembolehubah setempat: #1~#33 ialah pembolehubah yang digunakan secara tempatan dalam program makro, yang digunakan untuk pemindahan pembolehubah bebas.
(2) Pembolehubah biasa: pengguna boleh menggunakannya secara bebas, dan ia adalah perkara biasa untuk setiap subrutin dan setiap program makro yang dipanggil oleh program utama. #100~#149, selepas mematikan kuasa, semua nilai pembolehubah akan dikosongkan, manakala #500~#509, selepas mematikan kuasa, nilai pembolehubah boleh disimpan.
(3) Pembolehubah sistem: Ia ditakrifkan dengan diikuti oleh 4 digit, ia boleh mendapatkan maklumat baca sahaja atau baca/tulis yang terkandung dalam pemproses alat mesin atau memori NC, termasuk parameter pertukaran yang berkaitan dengan pemproses alat mesin, pemerolehan keadaan alat mesin. parameter, Maklumat sistem seperti parameter pemprosesan.
Format panggilan mudah program makro
Panggilan mudah program makro bermakna bahawa dalam program utama, program makro boleh dipanggil oleh satu blok.
Format seruan:
G65 P (nombor program makro) L (bilangan ulangan) (tugasan pembolehubah).
Antaranya: G65—arahan panggilan program makro;
P (nombor program makro) - kod program makro yang akan dipanggil;
L (bilangan ulangan) - bilangan ulangan program makro yang berulang, apabila bilangan ulangan ialah 1, ia boleh ditinggalkan;
(Tugasan Pembolehubah) - Berikan nilai kepada pembolehubah yang digunakan dalam program makro.
Perkara yang sama antara program makro dan subrutin ialah satu program makro boleh dipanggil oleh program makro yang lain, sehingga 4 kali.
Format penulisan program makro
Format penulisan program makro adalah sama seperti subrutin. Formatnya ialah:
0-(0001-8999 ialah nombor program makro)
arahan N10
N-M99
Dalam kandungan program makro di atas, sebagai tambahan kepada arahan pengaturcaraan yang biasa digunakan, pembolehubah, arahan operasi aritmetik dan arahan kawalan lain juga boleh digunakan. Nilai pembolehubah ditetapkan dalam arahan panggilan program makro.
03
Aplikasi program makro sistem FANUC
(1) Alur program makro
gambar
1) WHATLE kenyataan
G00 X52 Z2;
#2=-14;
Ia ialah titik permulaan alat dalam arah z (kerana lebar alat ialah 4mm, titik permulaan ditetapkan pada Z-14)
MANAKALA [#2 PRU -30] DO2;
Ia adalah kekangan dalam arah z. Apabila z sama dengan -30, arah z tidak akan bergerak lagi
G00 Z〔#2〕;
Kedudukan semasa dalam arah z
#2=#2-2;
Langkah bergerak ke arah z, bergerak 2mm setiap kali
#1=52;
ialah titik permulaan pisau dalam arah x
MANAKALA [#1 PRU 20] DO1;
Kekangan dalam arah X, apabila diameternya sama dengan 20, ia tidak akan dipotong lagi
G01 X〔#1〕F0.2;
Kedalaman potongan dalam arah x
G00 X〔#1 tambah 1〕;
Jumlah penarikan balik relatif dalam arah x
#1=#1-1;
Jarak langkah dalam arah x (potong 1mm setiap kali)
TAMAT1;
G00 X52;
TAMAT2;
Program lengkap:
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X52 Z2;
#2=-14;
SEMASA〔#2GE-30〕DO2; TAMAT1;
G00 Z〔#2〕;
#2=#2-2;
#1=52
SEMASA〔#1PRU20〕DO1;
G01X〔#1〕F0.2;
G00X〔#1 tambah 1〕;
#1=#1-1;
G00 X52;
TAMAT2;
G00 X150 Z150;
M30;
2) pernyataan JIKA
G00 X52 Z-2;
#1=-14;
Ia ialah titik permulaan arah z alat (lebar alat ialah 4mm)
N2 #1=#1-2;
ialah langkah pergerakan dalam arah z
#2=52;
ialah titik permulaan alat dalam arah x
N1#2=#2-1;
ialah jarak langkah dalam arah x (kedalaman pemotongan 1mm setiap kali)
G01 X〔#2〕F0.2;
Kedudukan semasa dalam arah X
G00 X〔#2 tambah 1〕;
Jumlah penarikan balik relatif dalam arah X
JIKA [#2 PRU 21] GOTO1;
Kekangan dalam arah x (apabila nilai x dipotong kepada 20, prosedur berikut akan dilakukan, dan tiada pemulangan akan dibuat)
G00 X52;
X berundur ke kedudukan 52
G00 Z〔#1〕;
Kedudukan semasa dalam arah Z
JIKA [#1 PRU -30] GOTO2;
Kekangan dalam arah Z, apabila z sama dengan -30, arah z tidak akan bergerak
Program lengkap:
O1234;
G40G97G99;
T0101;
S1000M3;
G00 X52 Z-2;
#1=-14;
N2 #1=#1-2;
#2=52;
N1#2=#2-1;
G01 X〔#2〕F0.2;
G00 X〔#2 tambah 1〕;
JIKA〔#2GE21〕GOTO1;
G00X52;
G00Z〔#1〕;
JIKA[#1GE-30]GOTO2;
G00X200;
Z200;
M5;
M30;
(2) Pengaturcaraan Ellipse
1) Format standard pernyataan elips WHILE:
#1=a;
a: Titik permulaan alat adalah pada arah positif a mm berbanding paksi Z elips
MANAKALA [#1 PRU b] DO1;
b: Titik akhir pemprosesan elips adalah pada arah negatif b mm berbanding paksi Z elips (jika separuh elips lengkap diproses, maka a dan b ialah dua nilai dengan nilai yang sama dan tanda yang berbeza)
#2= c*SQRT[1-#1*#1/d*d];
c: paksi semiminor bagi elips
d: paksi separuh utama elips (kira #2 mengikut formula elips, paksi separuh utama ialah d, paksi separuh kecil ialah c, #2 mewakili nilai X, #1 ialah nilai Z , dan SQRT bermaksud punca kuasa dua)
G01 X〔±2*#2 tambah e〕Z〔#1±f〕;
e: Offset (nilai diameter) paksi X elips berbanding sistem koordinat bahan kerja
f: Offset paksi Z elips berbanding sistem koordinat bahan kerja
#1=#1-1; jarak langkah (bergerak 1mm setiap kali)
TAMAT1;
Nota: Apabila memusing elips cekung, "±" dalam kurungan selepas X diambil sebagai "-"; apabila memusingkan elips cembung, "±" dalam kurungan selepas X diambil sebagai " tambah ".
Apabila paksi-X elips beralih ke arah positif, "±" dalam kurungan selepas Z mengambil " tambah "; apabila paksi-X elips beralih ke arah negatif, "±" dalam kurungan selepas Z mengambil "-"
2) Format standard pernyataan IF elips
#1=a;
a: Titik permulaan alat adalah pada arah positif a mm berbanding paksi Z elips
N1#2=b*SQRT〔1-#1*#1/c*c〕;
b: paksi separuh pendek elips c: paksi separuh utama elips (mengikut formula elips X/c tambah Y/b=1, SQRT bermaksud punca kuasa dua)
G01X〔±2*#2 tambah d〕Z〔#1±e〕F0.2; d: offset (nilai diameter) paksi X elips berbanding dengan titik sifar koordinat e: paksi Z elips berbanding dengan satah sifar Offset
#1=#1-1;
Jarak langkah (bergerak 1mm setiap kali)
JIKA [#1 PRU -f] GOTO1
f: Penamatan pemprosesan elips
Nota: Apabila memusing elips cekung, "±" dalam kurungan selepas X diambil sebagai "-"; apabila memusingkan elips cembung, "±" dalam kurungan selepas X diambil sebagai " tambah ". Apabila paksi X elips menyimpang ke arah positif, "±" dalam kurungan selepas Z mengambil " tambah "; apabila paksi-X elips menyimpang ke arah negatif, "±" dalam kurungan selepas Z mengambil "-".
gambar
WALAK kenyataan
#1=20;
SEMASA〔#1PRU-20〕LAKUKAN1;
#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 tambah 50〕Z〔#1-25〕;
#1=#1-1;
TAMAT1;
kenyataan IF
#1=20;
N1#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 tambah 50〕Z〔#1-25〕F0.2;
#1=#1-1;
JIKA[#1GE-20]GOTO1;
program lengkap
O1234;
G40G97G99;
T0101;
S1000 M3;
G00 X50 Z2;
G73 U5 R5;
G73 P10 Q20 U0.5 F0.2;
N10 G0 G42 Z-5;
#1=20;
SEMASA〔#1PRU-20〕LAKUKAN1;
#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 tambah 50〕Z〔#1-25〕F0.2;
#1=#1-1;
TAMAT1;
G00 X50;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
Format lengkap pernyataan IF ditiadakan (hal yang sama berlaku untuk pernyataan IF, selagi kitaran ditambah). Dalam sistem FANUC-0i, program makro hanya boleh ditambah dalam G73.
(3) Pemprosesan parabola
1) Format standard pernyataan parabola WHILE:
#1=a;
a: Titik permulaan alat ialah satu mm dalam arah paksi parabola Z
MANAKALA [#1 PRU -b] DO1;
b: ialah panjang pemprosesan elips dalam arah z
#2=SQRT〔-#1*5/3〕;
(Mengikut formula parabola Z=-3/5*X*X, cari nilai X, iaitu #2, dengan SQRT bermaksud punca kuasa dua)
G01 X〔±2*#2 tambah c〕Z〔#1〕;
c: ialah offset (nilai diameter) paksi X parabola berbanding sistem koordinat bahan kerja, "±"
Apabila mengambil " tambah ", ia cembung, dan apabila mengambil "-", ia cekung
#1=#1-1; Jarak langkah (bergerak 1mm setiap kali)
TAMAT1;
2) Format piawai pernyataan IF parabola
#1=a;
a: Titik permulaan alat ialah satu mm dalam arah paksi parabola Z
N1 #2=SQRT〔-#1*5/3〕;
(Mengikut formula parabola Z=-3/5*X*X, cari nilai X, iaitu #2, dengan SQRT bermaksud punca kuasa dua)
G01 X〔±2*#2 tambah b〕Z〔#1〕;
b: Ia ialah offset (nilai diameter) paksi arah X parabola berbanding dengan titik sifar koordinat. Apabila "±" mengambil " tambah ", ia cembung, dan apabila "-" diambil, ia cekung
#1=#1-1;
(jarak langkah ke arah Z, setiap pergerakan adalah 1mm)
JIKA〔#1 PRU -c〕GOTO1; c: panjang pemprosesan elips dalam arah z
Parabola JIKA
bentuk ayat yang lain
#1=a;
N1 #2=SQRT〔( tambah )#1*5/3〕;
Tanda "tambah" boleh ditinggalkan
G01 X〔2*#2 tambah b〕Z〔-#1〕;
#1=#1 tambah 1;
JIKA [#1 LE c] GOTO1;
Dengan mengandaikan bahawa parabola berada dalam arah positif Z, kemudian gunakan Z〔-#1〕; untuk menjadikan parabola simetri kepada arah negatif
gambar
WALAK kenyataan
#1=0;
SEDANGKAN [#1 PRU -15] DO1;
#2=SQRT〔-#1*5/3〕;
G01 X〔2*#2 tambah 30〕Z〔#1〕;
#1=#1-1;
TAMAT1;
kenyataan IF
#1=0;
N1 #2=SQRT〔-#1*5/3〕;
G01X〔2*#2 tambah 30〕Z〔#1〕;
#1=#1-1;
JIKA [#1 PRU -15] GOTO1;
program lengkap
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X42 Z1;
G73 U5 R5;
G73 P10 Q20 U0.5 F0.2;
N10 G00 G42 Z0;
#1=0;
SEDANGKAN [#1 PRU -15] DO1;
#2=SQRT〔-#1*5/3〕;
G01 X〔2*#2 tambah 30〕Z〔#1〕;
#1=#1-1;
TAMAT1;
G00 X42;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
(4) Perbezaan antara pernyataan WHILE dan pernyataan IF
1) Arah kedua-dua pernyataan adalah berbeza
Pernyataan WHILE kembali ke belakang
Contoh: SEMASA〔#1 PRU 20〕DO1;
G01 X〔#1〕F0.2;
Dengan mengandaikan bahawa apabila alat mesin melaksanakan ayat ini, #1=20, ia akan terus melaksanakan. Selepas melaksanakan #1=#1-1, nilai #1 menjadi 19, yang tidak lagi memenuhi syarat kekangan, jadi ia tidak akan kembali. (Potong kepada 20 dalam arah X)
G00 X〔#1 tambah 1);
#1=#1-1;
TAMAT1;
2) Pernyataan IF kembali ke hadapan
Contoh: N1 #2=#2-1;
G01X〔#2〕F0.2; Dengan mengandaikan bahawa #2=20 apabila alat mesin melaksanakan ayat ini, ia akan terus melaksanakan sehingga JIKA〔#2 PRU 20〕GOTO1; jika syarat masih berpuas hati, ia akan terus kembali ke N1# 2=#2-1; dan nilai X semasa akan menjadi 19, yang tidak lagi memenuhi syarat kekangan, dan kemudian melaksanakan yang lain
G01X〔#2〕F0.2; Akhir sekali, laksanakan program berikut (arah X telah dipotong kepada 19)
G00X〔#2 tambah 1);
JIKA [#2 PRU 20] GOTO1;
3) Seperti yang dapat dilihat daripada program grooving di atas, bilangan perkataan dalam pernyataan IF adalah lebih kurang daripada pernyataan WHILE.
4) Disebabkan oleh arah pulang yang berbeza, baca satu ayat yang kurang untuk pernyataan WHILE dan satu lagi ayat untuk pernyataan IF semasa pemprosesan.
04
Aplikasi program makro sistem SIEMENS (larik).
Nota: Program makro diprogramkan dengan pembolehubah, dan nombor pembolehubah sistem Siemens diwakili oleh R.
Contohnya, ditulis dalam kaedah pengaturcaraan biasa: G01X-10
Program makro boleh dinyatakan sebagai:
R1=-10
G01 X=R1
Pemindahan bersyarat:
JIKA GOTOB: lompat ke belakang
JIKA GOTOF: lompat ke hadapan
ditulis dalam pengaturcaraan biasa
GO1X100
Pembolehubah boleh dinyatakan sebagai:
R1=0
AA: R1=R1 tambah 1
G01X=R1
JIKA R1<100 GOTOB AA
R1 ialah pembolehubah bebas, nilai awal ialah 0, R1=R1 tambah 1 bermakna nilai tambahan pembolehubah bebas ialah 1, apabila atur cara melalui baris ini setiap kali, nilai R1 meningkat sebanyak 1, R1<100 is a conditional expression, IF R1<100 GOTOB AA This line means that if the argument R1<100, the program jumps backward to the mark: AA
Jika R1 lebih besar daripada atau sama dengan 100, program akan turun.
Program makro boleh digunakan dalam kedua-dua mod G90 dan G91, tetapi maknanya berbeza, contohnya;
R1=0, G90R1=R1 campur 1, G1X=R1, nilai X selepas pas kedua program ini ialah 2.
R1=0, G91R1=R1 campur 1, G1X=R1, nilai X selepas pas kedua program ialah 3. Penjelasan: Nilai R1 ialah 1 selepas yang pertama lulus program, dan nilai R1 adalah pas kedua Ia adalah 2, tetapi dalam mod G91 ia berdasarkan yang sebelumnya.
(1) Grooving
gambar
T1
TC
T1D1
G0G40X100Z100
M03S1000
G0X54Z2
Cepat sampai ke titik permulaan
Z-10
R1=3
Tentukan lebar bilah sebagai 3mm
R2=-10-R1-0.2
Titik permulaan alat ialah -10, dan bahagian kiri bilah digunakan semasa menetapkan alat;
Tetapan alat, jadi lebar bilah hendaklah dikurangkan, 0.2 ialah elaun penamat
G1Z=R2F0.1
Alat ini mencapai titik permulaan paksi Z
AA:R2=R2-2.5
R3=50
Paksi X alur mencapai titik
BB: R3=R3-2
Tentukan kedalaman pemotongan setiap pisau sebagai 2 mm
G1X=R3
X=R3 tambah 1
0.Penyingkiran cip 5mm pada satu sisi setiap kedalaman 2mm potongan
IF R3>30 tambah 0.4 GOTOB BB
Define the groove depth as 10mm, if R3>30mm, program melompat ke belakang ke tanda BB, dan 0.4 ialah elaun penamat
G0X50
Alat mencapai titik permulaan paksi X
G1Z=R2
IF R2>{{0}} tambah 0.2 GOTOB AA
Takrifkan lebar alur sebagai 20mm, dan 0.2 ialah elaun penamat
G0X50
G01Z-13
penamat
X30
Z-16
G0X50
Z-30
G01X30
Z-16
G0X50
tarik diri
G0X100
Z100
M05
M30
(2) Ellipse
1) Format asas
R1=0
Takrifkan pembolehubah R1 dengan nilai awal 0
AA:R2=b×SQRT(1-R1×R1/a×a)
Menurut persamaan elips, a ialah paksi separuh utama elips, b ialah paksi separuh kecil elips, dan SQRT ialah simbol punca kuasa dua.
G1X=±2×R2 campur XZ=R1-Z
Tetapkan kedudukan dan bentuk elips, tambah 2 ialah cembung, -2 ialah cekung, X, Z ialah jarak antara paksi bahan kerja dan paksi elips (sistem diameter).
R1=R1-1
Tetapkan langkah pemprosesan
IF R1>=n GOTOB AA
Jika pembolehubah R1
2) Contoh pengaturcaraan:
gambar
T1D1
G0G40X100Z100
M3S1000
G0X52Z2
Z-20
KITARAN95 ( )
G42S1500
OO:
R1=20
AA:R2=5×SQRT(1-R1×R1/400)
G1X=-2×R2 tambah 50 Z=R1-40
R1=R1-2
IF R1>=-20 GOTOB AA
PP:X42
G0G40X100Z100
M05
M09
M30
(3) Parabola
1) Format asas:
R1=0
Tetapkan nilai awal pembolehubah R1 kepada 0
AA: R2=SQRT(-R1×n)
Diperolehi mengikut format asas parabola, di mana SQRT ialah simbol punca kuasa dua, dan n ialah pekali
G01X=2×R2 tambah n
Z=R1
Laluan pemprosesan, tambah 2 ialah cembung, n ialah nilai titik permulaan paksi X
R1=R1-1
Nilai kenaikan berubah ialah 1mm
IF R1>-30 GOTOB AA
If the variable R1>-30, atur cara melompat ke belakang ke tanda: AA
2) Contoh pengaturcaraan:
gambar
T1
Tc
T1D1
G0G40X100Z100
M03S1000
G0X52Z2
KITARAN95 ( )
G0G42
OO:
R1=0
AA:R2=SQRT(-R1×5/3)
G01X=2×R2 tambah 30 Z=R1
R1=R1-2
IF R1>-60 GOTOB AA
PP: X52
G0X100Z100
M05
M30




