Saat ini, banyak teknisi CNC yang tidak memahami program makro. Mereka berpikir bahwa dengan perangkat lunak pemrograman otomatis, mereka tidak perlu mempelajari program makro. Padahal, fungsi program makro sangat powerfull. Misalnya, untuk menulis beberapa program batch dan berulang, Anda hanya perlu mengubah beberapa data saat menggunakan program makro. Tidak perlu banyak pemrograman berulang, yang dapat sangat menyederhanakan operasi dan sangat meningkatkan efisiensi kerja.
Program makro dapat menggunakan variabel untuk melakukan operasi gabungan dari operasi aritmatika, operasi logika dan fungsi, dan juga menyediakan pernyataan loop, pernyataan cabang, dan pernyataan panggilan subrutin.
Secara umum: program makro cocok untuk memprogram serangkaian bagian dengan grafik yang sama tetapi dengan ukuran yang berbeda; cocok untuk pemrograman serangkaian bagian dengan jalur proses yang sama tetapi dengan parameter posisi yang berbeda; sangat cocok untuk pemrograman parabola, elips, hiperbola dan kurva lainnya tanpa instruksi interpolasi.
01
Representasi dan penggunaan variabel
1. Representasi variabel
#Saya(Saya=1,2,3,…) atau #[
Contoh: #5, #109, #501, #[#1 ditambah #2-12]
2. Penggunaan variabel
1) Tentukan nomor variabel atau formula setelah kata alamat
Format:
Di sini "I" adalah singkatan dari nomor variabel
Contoh: F#103, jika #103=15, maka itu adalah F15
Z-#110, jika #110=250, itu adalah Z-250
X[#24 ditambah #18*COS[#1]]
2) Nomor variabel dapat diganti dengan variabel
Contoh: #[#30], jika #30=3, maka akan menjadi #3
3) Variabel tidak dapat menggunakan alamat O, N, I
Contoh: Metode berikut diperbolehkan
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4) Variabel yang sesuai dengan nomor variabel memiliki rentang nilai tertentu untuk setiap alamat
Contoh: Saat #30=1100, M#30 tidak diizinkan
5) #0 adalah variabel kosong, dan variabel tanpa nilai variabel yang ditentukan juga merupakan variabel kosong
6) Definisi nilai variabel:
Titik desimal dapat dihilangkan saat program didefinisikan, misalnya: #123=149
02
jenis variabel
Tambahkan gambar ke WeChat: yuki7557 akan mengirimkan tutorial program makro
1. Variabel lokal #1~#33
Variabel yang digunakan secara lokal dalam program makro, hasil operasinya tidak dapat digunakan oleh program lain.
Contoh: Program makro B program makro
...
#10=20 X#10 bukan berarti X20
...
Ini akan dihapus setelah dimatikan, dan nilai variabel akan diisi saat program makro dipanggil
2. Variabel publik #100~#199, #500~#999
Variabel umum di setiap program makro pengguna memiliki hasil operasi yang sama di setiap pemanggilan program.
Contoh: Ketika #10 pada contoh di atas diubah menjadi #100, maka
X#100 berarti X20
#100~#149 Kosong setelah dimatikan
#500~#531 Variabel tetap (tidak hilang setelah dimatikan)
3. Variabel sistem
Variabel tujuan tetap yang nilainya bergantung pada keadaan sistem
Contoh: #2001 adalah nilai kompensasi sumbu X dari kompensasi alat No.1
Nilai #5221 adalah nilai offset asal benda kerja sumbu X G54
Titik desimal harus dimasukkan saat memasukkan, dan satuannya adalah μm saat titik desimal dihilangkan
03
Instruksi operasi
Sisi kanan ekspresi dapat berupa konstanta, variabel, fungsi, ekspresi
Dalam rumus, #j dan #k juga bisa berupa konstanta
Sisi kanan ekspresi adalah nomor variabel, ekspresi
1. Definisi
#I=#j
2. Operasi aritmatika
#I=#j ditambah #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Operasi logis
#I=#JOK#k
#Saya=#JXOK#k
#I=#JAND#k
4. Fungsi
#I=SIN[#j] sinus
#I=COS[#j] kosinus
garis singgung #I=TAN[#j].
#I=ATAN[#j] arc tangen
#I=SQRT[#j] akar kuadrat
#I=ABS[#j] nilai absolut
#I=ROUND[#j] Pembulatan
#I=FIX[#j] mengumpulkan
#I=FUP[#j] Pembulatan ke bawah
#I=BIN[#j] BCD→BIN (biner)
#I=BCN[#j] BIN→BCD
1) Sudut dalam derajat
Contoh: 90 derajat dan 30 menit adalah 90,5 derajat
2) Panjang kedua sisi setelah fungsi ATAN harus dipisahkan dengan tanda "/"
Contoh: #{{0}}ATAN[1]/[-1], #1 adalah 35,0
3) ROUND digunakan untuk alamat di keterangan, dibulatkan ke atas sesuai satuan minimum seting masing-masing alamat
Contoh: Setel #1=1.2345, #2=2.3456, satuan setelan adalah 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 ditambah #2]; X3.580
tidak dikembalikan dan harus diganti oleh
X[ROUND[#1] ditambah ROUND[#2]];
4) Jika nilai absolut setelah dibulatkan lebih besar dari nilai aslinya, maka akan dibulatkan ke atas, jika tidak maka akan dibulatkan ke bawah
Contoh: Ketika #1=1.2, #2=-1.2
Jika #{{0}}FUP[#1], maka #3=2.0
Jika #{{0}}PERBAIKI[#1], maka #3=1.0
Jika #{{0}}FUP[#2], maka #3=-2.0
Jika #{{0}}PERBAIKI[#2], maka #3=-1.0
5) Saat memerintahkan suatu fungsi, hanya dua huruf pertama yang dapat ditulis
Contoh: BULAT→RO
PERBAIKI→FI
6) Prioritas
Fungsi → perkalian dan pembagian (*, 1, AND) → penjumlahan dan pengurangan ( tambah , -, OR, XOR)
Contoh: #1=#2 ditambah #3*SIN[#4];
7) Tanda kurung adalah tanda kurung siku, hingga 5 kali, dan tanda kurung digunakan untuk pernyataan komentar
Contoh: #1=SIN[[[#2 ditambah #3]*#4 ditambah #5]*#6]; (3 bobot)
04
Instruksi Cabang dan Loop
1. Transfer Tanpa Syarat
Format: GOTO n;
Cabang tanpa syarat untuk memblokir n
n: nomor blok (1-99999)
n juga bisa diganti dengan variabel atau ekspresi
goto10;
GOTO #10;
2. Transfer bersyarat
JIKA [
Jika
Jika tidak puas, jalankan blok berikutnya.
Tambahkan WeChat: yuki7557 untuk mengirim tutorial program makro
JIKA [
Jika
JIKA[#1EQ #2] MAKA #3=0;
Ekspresi bersyarat:
#j dan #k juga bisa diganti dengan
Contoh: JIKA[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
Contoh: Temukan jumlah dari 1 sampai 10
O9500;
#1=0
#2=1
N1 JIKA [#2 GT10] GOTO 2
#1=#1 ditambah #2;
#2=#2 ditambah 1;
GOTO 1
N2 M30
3. Siklus
Format: SEMENTARA[
…
…
…
ENDm
1. Saat kondisi terpenuhi, jalankan DOm ke ENDm, lalu dari segmen program DOm
Jika tidak puas, jalankan segmen program berikut ENDm
2. Jika Anda menghilangkan pernyataan WHILE dan hanya memiliki DOm...ENDm, loop tak terbatas akan terbentuk dari DOm hingga ENDm
3. bersarang
4. EQ NE, kosong dan "0" berbeda
Di tempat lain, null sama dengan "0"
Contoh: Temukan jumlah dari 1 sampai 10
O0001;
#1=0;
#2=1;
SAAT [#2LE10] LAKUKAN1;
#1=#1 ditambah #2;
#2=#2 ditambah #1;
AKHIR1;
M30;




