Siapa bilang program makro tidak berguna? Itu karena kamu tidak bisa menebusnya!
Banyak teknisi CNC saat ini yang tidak memahami program makro. Mereka percaya bahwa dengan software pemrograman otomatis, tidak perlu lagi mempelajari program makro. Padahal, fungsi program makro sangatlah ampuh. Misalnya, saat menulis program batch dan berulang, penggunaan program makro hanya memerlukan modifikasi beberapa titik data, tanpa memerlukan pemrograman berulang yang ekstensif. Hal ini dapat sangat menyederhanakan pengoperasian dan meningkatkan efisiensi kerja.
Program makro dapat menggunakan variabel untuk operasi aritmatika, operasi logika, dan operasi fungsi campuran, 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 ukuran berbeda; Cocok untuk memprogram bagian seri dengan jalur proses yang sama tetapi parameter posisi berbeda; Cocok untuk pemrograman kurva tanpa instruksi interpolasi seperti parabola, elips, hiperbola, dll.
1.
Representasi dan Penggunaan Variabel
1, Representasi variabel
#Saya (Saya=1,2,3,...) atau # [
Contoh: #5, #109, #501, #[#1+#2-12]
2, Penggunaan variabel
1. Tentukan nomor variabel atau rumus setelah kata alamat
Format:# I
Huruf "I" di sini mewakili nomor variabel
Contoh: F#103, jika #103=15 maka F15
Z - # 110, dengan asumsi # 110=250, itu adalah Z-250
X [# 24+#18 * KARENA [#1]]
2. Bilangan variabel dapat diganti dengan variabel
Contoh: #[#30], jika #30=3 maka #3
3. Variabel tidak boleh menggunakan alamat O, N, I
Contoh: Berdasarkan metode berikut, hal ini diperbolehkan
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. Variabel yang sesuai dengan nomor variabel memiliki rentang numerik tertentu untuk setiap alamat
Contoh: Bila #30=1100, maka M#30 tidak diperbolehkan
5. # 0 adalah variabel kosong, dan variabel tanpa nilai variabel yang ditentukan juga merupakan variabel kosong
6. Definisi Nilai Variabel:
Poin desimal dapat dihilangkan ketika mendefinisikan program, misalnya: # 123=149
2.
Jenis variabel

1. Variabel lokal #1~#33
Variabel yang digunakan secara lokal pada program makro, dan hasil operasinya tidak dapat digunakan oleh program lain.
Contoh : Program Makro Program Makro B
#10=20 X # 10 tidak mewakili X20
Hapus setelah listrik padam, masukkan nilai variabel saat memanggil program makro
2. Variabel umum #100~#199, #500~#999
Variabel umum dalam setiap program makro pengguna memiliki hasil operasi yang sama seperti panggilan program apa pun.
Contoh: Pada contoh sebelumnya, ketika #10 diubah menjadi #100, program makro B
X#100 mewakili X20
#Hapus setelah listrik padam 100~#149
#500~#531 Variabel tipe penyimpanan (tidak hilang setelah listrik padam)
3. Variabel sistem
Variabel tujuan tetap yang nilainya bergantung pada keadaan sistem
Contoh: Nilai #2001 adalah nilai kompensasi sumbu X untuk kompensasi alat 1
#Nilai 5221 adalah nilai offset asal benda kerja sumbu X G54
Saat memasukkan, koma desimal harus dimasukkan. Jika koma desimal dihilangkan, satuannya adalah μ M
tiga
Instruksi aritmatika
Di sebelah kanan ekspresi dapat terdapat konstanta, variabel, fungsi, dan rumus
Dalam rumusnya, #j dan #k juga dapat berupa konstanta
Di sisi kanan persamaan adalah bilangan variabel dan ekspresi
1, Definisi
#I=# j
2, Operasi aritmatika
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, Operasi logis
#Aku=# JOK # k
#Saya=#JXOK #k
#Saya=# JAND # k
4, Fungsi

#I=DOSA [# j] sinus
#I=COS [# j] kosinus
#I=TAN [# j] singgung
#I=ATAN [# j] busurtangen
#I=SQRT [# j] akar kuadrat
#I=Nilai mutlak ABS [# j]
#I=ROUND [# j] Pembulatan ke bilangan bulat terdekat
#Putaran I=PERBAIKI [# j]
#Putaran I=FUP [# j]
#I=BIN [# j] BCD → BIN (biner)
#I=BCN [# j] BIN → BCD
1) Sudut dalam derajat
Contoh: 90 derajat dan 30 menit setara dengan 90,5 derajat
2) Kedua panjang sisi setelah fungsi ATAN harus dipisahkan dengan tanda "/"
Contoh: Ketika # {{0}}ATAN [1]/[-1], #1 adalah 35,0
3) ROUND digunakan untuk alamat dalam pernyataan, dibulatkan ke unit himpunan terkecil dari setiap alamat
Contoh: Himpunan #1=1.2345, #2=2.3456, dan himpunan unit 1 μM
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Tidak dikembalikan ke lokasi semula, sebaiknya diubah
X [PUTARAN [#1]+PUTARAN [#2]];
4) Apabila nilai absolut setelah pembulatan lebih besar dari nilai semula, maka 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 menginstruksikan 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 (+, -, OR, XOR)
Contoh: #1=# 2+#3 * DOSA [#4];
7) Tanda kurung adalah tanda kurung siku, maksimal 5 kali, digunakan untuk mengomentari pernyataan
Contoh: # 1=DOSA [[[# 2+#3] * # 4+#5] * #6]; (Tiga kali lipat)
empat
Instruksi Transfer dan Loop
1. Pemindahan tanpa syarat
Format: GOTO n;
Transfer tanpa syarat ke segmen program n
n: Nomor segmen program (1-99999)
N juga bisa diganti dengan variabel atau ekspresi
GOTO10;
PERGI #10;
2. Pemindahan bersyarat
JIKA [
Jika
Jika tidak puas, jalankan segmen program berikutnya.
JIKA [
Jika
JIKA [#1EQ #2] THE #3=0;
Rumus bersyarat:

#J dan #k juga bisa diganti dengan
Contoh: JIKA [#1 GT 10] GOTO 100;
N100 G00 G91 X10;
Contoh: Mencari jumlah 1 sampai 10
O9500;
#1=0
#2=1
N1 JIKA [#2 GT10] GOTO 2
#1=# 1+# 2;
#2=# 2+1;
PERGI 1
N2 M30
3. Siklus
Format: SAAT [
AKHIRm
Jika kondisi terpenuhi, jalankan dari DOm ke ENDm, lalu dari segmen program DOm
Jika tidak puas, jalankan segmen program setelah ENDm
Jika pernyataan WHILE dihilangkan dan hanya DOm... ENDm yang ada, maka akan terjadi dead loop antara DOm dan ENDm.
3. Bersarang
Jika EQ NE ada, null dan "0" berbeda
Pada kondisi lain, null dan "0" adalah sama
Contoh: Mencari jumlah 1 sampai 10
O0001;
#1=0;
#2=1;
SAAT [#2LE10] DO1;
#1=# 1+# 2;
#2=# 2+# 1;
AKHIR1;
M30;

