Ko'pgina CNC texniklari makro dasturlarni tushunmaydilar. Ular avtomatik dasturlash dasturlari bilan makro dasturlarni o'rganishning hojati yo'q deb o'ylashadi. Aslida, makro dasturlarning funktsiyalari juda kuchli. Masalan, ba'zi ommaviy va takroriy dasturlarni yozish uchun makro dasturlardan foydalanganda bir nechta ma'lumotlarni o'zgartirish kerak bo'ladi. Ko'p sonli takroriy dasturlashning hojati yo'q, bu operatsiyalarni sezilarli darajada soddalashtiradi va ish samaradorligini sezilarli darajada oshiradi.
Makro dasturlar arifmetik amallar, mantiqiy amallar va funktsiyalarning aralash operatsiyalarini bajarish uchun o'zgaruvchilardan foydalanishi mumkin, shuningdek, tsikl operatorlari, filiallar bayonotlari va pastki dastur chaqiruvi bayonotlarini taqdim etishi mumkin.
Umuman olganda: so'l dastur bir xil grafikli, lekin har xil o'lchamdagi bir qator qismlarni dasturlash uchun mos keladi; u bir xil jarayon yo'liga ega, lekin turli pozitsiya parametrlariga ega bo'lgan bir qator qismlarni dasturlash uchun javob beradi; parabola, ellips, giperbola va boshqa egri chiziqlarni interpolyatsiya ko'rsatmalarisiz dasturlash uchun javob beradi.
01
O'zgaruvchilarni ifodalash va ulardan foydalanish
1. O‘zgaruvchilarni ko‘rsatish
#I(I=1,2,3,…) yoki #[
Misol: #5, #109, #501, #[#1 plus #2-12]
Ikkinchidan, o'zgaruvchilardan foydalanish
1. Manzil so'zidan keyin o'zgaruvchan raqam yoki formulani ko'rsating
Format:
Bu erda "I" o'zgaruvchan sonni anglatadi
Misol: F#103, agar #103=15 bo'lsa, bu F15
Z-#110, agar #110=250 bo'lsa, u Z-250
X[#24 plus #18*COS[#1]]
2. O‘zgaruvchi sonini o‘zgaruvchiga almashtirish mumkin
Misol: #[#30], agar #30=3 bo'lsa, #3 bo'ladi
3. O‘zgaruvchilar O, N, I manzillardan foydalana olmaydi
Misol: Quyidagi usullarga ruxsat beriladi
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. O'zgaruvchan raqamga mos keladigan o'zgaruvchi har bir manzil uchun ma'lum qiymat oralig'iga ega
Misol: qachon #30=1100, M#30 ruxsat berilmaydi
5. #0 boʻsh oʻzgaruvchi, aniqlangan oʻzgaruvchi qiymati boʻlmagan oʻzgaruvchi ham boʻsh oʻzgaruvchidir.
6. O‘zgaruvchan qiymat ta’rifi:
Dastur aniqlanganda kasrli nuqta qoldirilishi mumkin, masalan: #123=149
02
o'zgaruvchining turi
WeChat-ga rasmlar qo'shing: mvm9987 CNC qo'llanmasini yuboradi
1. Mahalliy o'zgaruvchilar #1~#33
Ibratli dasturda mahalliy sifatida ishlatiladigan o'zgaruvchi, uning ishlash natijasi boshqa dasturlar tomonidan foydalanilmaydi.
Misol: Makro dastur B makro dasturi
...
#10=20 X#10 X20 degani emas
...
U quvvat o'chirilgandan so'ng o'chiriladi va so'l dastur chaqirilganda o'zgaruvchining qiymati to'ldiriladi
2. Umumiy o'zgaruvchilar #100~#199, #500~#999
Har bir foydalanuvchi so'l dasturidagi umumiy o'zgaruvchi har qanday dastur chaqiruvida bir xil operatsiya natijasiga ega.
Misol: Yuqoridagi misoldagi #10 #100 ga o'zgartirilsa,
X#100 X20 degan ma'noni anglatadi
#100~#149 Quvvat o'chirilgandan keyin bo'sh
#500~#531 Doimiy o'zgaruvchilar (quvvat o'chirilgandan keyin yo'qolmaydi)
3. Tizim o‘zgaruvchilari
Ruxsat etilgan maqsadli o'zgaruvchi, uning qiymati tizim holatiga bog'liq
Misol: #2001 - №1 asbob kompensatsiyasining X o'qi kompensatsiya qiymati
#5221 qiymati - X o'qi G54 ish qismining kelib chiqishi ofset qiymati
Kiritishda kasr belgisi kiritilishi kerak, kasr qoldirilsa, birlik mkm ga teng
03
Operatsion ko'rsatma
Ifodaning o'ng tomoni doimiylar, o'zgaruvchilar, funktsiyalar, ifodalar bo'lishi mumkin
Formulada #j va #k ham doimiy bo'lishi mumkin
Ifodaning o'ng tomoni o'zgaruvchan son, ifodadir
1. Ta'rif
#I=#j
2. Arifmetik amallar
% 23I=#j plus % 23k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Mantiqiy amallar
#Men=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. Funktsiya
rasm
#I=SIN[#j] sinus
#I=COS[#j] kosinus
#I=TAN[#j] tangensi
#I=ATAN[#j] yoy tangensi
#I=SQRT[#j] kvadrat ildiz
#I=ABS[#j] mutlaq qiymat
#I=ROUND[#j] Yaxlitlash
#Men=TUZLATMAN[#j]
#I=FUP[#j] Pastga aylantiring
#I=BIN[#j] BCD→BIN (ikkilik)
#I=BCN[#j] BIN→BCD
1) Burchaklar darajalarda
Misol: 90 daraja va 30 daqiqa 90,5 daraja
2) ATAN funktsiyasidan keyingi ikki tomon uzunligi "/" bilan ajratilishi kerak.
Misol: #{{0}}ATAN[1]/[-1], #1 35,0
3) ROUND bayonotdagi manzil uchun ishlatiladi, har bir manzilning minimal sozlash birligiga ko'ra yaxlitlanadi.
Misol: №1=1.2345, #2=2.3456, sozlash birligi 1 mkm.
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plus #2]; X3.580
qaytarilmaydi va almashtirilishi kerak
X[ROUND[#1] plus ROUND[#2]];
4) Agar yaxlitlashdan keyin mutlaq qiymat dastlabki qiymatdan katta bo'lsa, u yuqoriga yaxlitlanadi, aks holda u pastga yaxlitlanadi.
Misol: Qachon #1=1.2, #2=-1.2
Agar #{{0}}FUP[#1] boʻlsa, #3=2.0
Agar #{{0}}TUZLASH[#1] boʻlsa, #3=1.0
Agar #{{0}}FUP[#2] boʻlsa, #3=-2.0
Agar #{{0}}TUZLASH[#2] boʻlsa, #3=-1.0
5) Funksiyaga buyruq berishda faqat birinchi ikkita harf yozilishi mumkin
Misol: ROUND→RO
FIX→FI
6) ustuvorlik
Funktsiya → ko'paytirish va bo'lish (*, 1, VA) → qo'shish va ayirish (plyus , -, OR, XOR)
Misol: #1=#2 plus #3*SIN[#4];
7) Qavslar kvadrat qavslar, 5 martagacha va qavslar sharhlar uchun ishlatiladi
Misol: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 ta vazn)
04
Filial va tsikl bo'yicha ko'rsatmalar
1. Shartsiz uzatish
Format: GOTO n;
Bloklash uchun shartsiz n
n: blok raqami (1-99999)
n o'zgaruvchilar yoki ifodalar bilan ham almashtirilishi mumkin
goto10;
O'TISH №10;
2. Shartli o‘tkazish
AGAR [
Agar
Agar qoniqtirmasangiz, keyingi blokni bajaring.
AGAR [
Agar
AGAR[#1EQ #2] KEYIN #3=0;
Shartli ifoda:
rasm
#j va #k bilan ham almashtirilishi mumkin
Misol: IF[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
Misol: 1 dan 10 gacha yig‘indini toping
O9500;
#1=0
#2=1
N1 AGAR [#2 GT10] O'TGAN 2
#1=#1 va #2;
#2=#2 va 1;
O'TISH 1
N2 M30
3. Tsikl
Format: WHILE% 5b
…
…
…
ENDm
1. Shartlar bajarilganda, DOm ni ENDm gacha, so‘ngra DOm ning dastur segmentidan bajaring.
Agar qoniqtirmasa, ENDm dan keyin dastur segmentini bajaring
2. Agar siz WHILE iborasini o'tkazib yuborsangiz va faqat DOm...ENDm bo'lsa, DOm dan ENDm gacha cheksiz tsikl hosil bo'ladi.
3. uy qurish
4. EQ NE, bo'sh va "0" farqlanadi
Boshqa joylarda null “0” bilan bir xil
Misol: 1 dan 10 gacha yig‘indini toping
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 va #2;
#2=#2 va #1;
END1;
M30;





