Jan 13, 2023 Tinggalkan pesan

Harus Memiliki Pengetahuan Tentang Pemrograman Makro

 

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:

#I
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 [] GOTO n;
Jikapuas, operasi selanjutnya akan ditransfer ke blok dengan nomor blok n.
Jika tidak puas, jalankan blok berikutnya.
Tambahkan WeChat: yuki7557 untuk mengirim tutorial program makro
JIKA [] KEMUDIAN ... ;
Jikapuas, pernyataan program makro setelah THEN dieksekusi, dan hanya satu pernyataan yang dieksekusi.
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[] LAKUKAN m; (m=1, 2, 3)



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;

 

 

Kirim permintaan

whatsapp

skype

Email

Permintaan