Birçok CNC teknisyeni makro programlarını anlamaz. Otomatik programlama yazılımı ile makro programlarını öğrenmeye gerek olmadığını düşünüyorlar. Aslında, makro programların işlevleri çok güçlüdür. Örneğin, bazı toplu ve tekrarlayan programlar yazmak için, makro programlarını kullanırken yalnızca birkaç veriyi değiştirmeniz gerekir. İşlemleri büyük ölçüde basitleştirebilen ve iş verimliliğini büyük ölçüde artırabilen çok sayıda tekrarlanan programlamaya gerek yoktur.
Makro programları, aritmetik işlemlerin, mantık işlemlerinin ve işlevlerin karma işlemlerini gerçekleştirmek için değişkenleri kullanabilir ve ayrıca döngü ifadeleri, şube ifadeleri ve alt program çağrı ifadeleri sağlayabilir.
Genel olarak konuşursak: makro programı, aynı grafiklere ancak farklı boyutlara sahip bir dizi parçanın programlanması için uygundur; aynı işlem yoluna ancak farklı konum parametrelerine sahip bir dizi parçanın programlanması için uygundur; enterpolasyon talimatları olmadan parabollerin, elipslerin, hiperbollerin ve diğer eğrilerin programlanması için uygundur.
01
Değişkenlerin gösterimi ve kullanımı
1. Değişken gösterimi
#I(I=1,2,3,…) veya #[
Örnek: #5, #109, #501, #[#1 artı #2-12]
İkincisi, değişkenlerin kullanımı
1. Adres sözcüğünden sonra değişken numarasını veya formülü belirtin
Biçim:
Burada "I" değişken sayısını temsil eder
Örnek: F#103, #103=15 ise F15'tir
Z-#110, #110=250 ise Z-250'dir
X[#24 artı #18*COS[#1]]
2. Değişken sayısı değişkenle değiştirilebilir
Örnek: #[#30], #30=3 ise, #3 olur
3. Değişkenler O, N, I adreslerini kullanamaz
Örnek: Aşağıdaki yöntemlere izin verilir
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. Değişken numarasına karşılık gelen değişken, her adres için belirli bir değer aralığına sahiptir.
Örnek: #30=1100 olduğunda, M#30'a izin verilmez
5. #0 boş bir değişkendir ve tanımlanmış bir değişken değeri olmayan bir değişken de boş bir değişkendir
6. Değişken değer tanımı:
Program tanımlandığında ondalık nokta atlanabilir, örneğin: #123=149
02
değişken türü
WeChat'e resim ekleyin: mvm9987 bir CNC eğitimi gönderecek
1. Yerel değişkenler #1~#33
Bir makro programında yerel olarak kullanılan bir değişken, işlem sonucu başka programlar tarafından kullanılamaz.
Örnek: Bir makro programı B makro programı
...
#10=20 X#10, X20 anlamına gelmez
...
Güç kapatıldıktan sonra silinecek ve makro programı çağrıldığında değişken değeri doldurulacaktır.
2. Genel değişkenler #100~#199, #500~#999
Her kullanıcı makro programındaki ortak değişken, herhangi bir program çağrısında aynı işlem sonucuna sahiptir.
Örnek: Yukarıdaki örnekte #10, #100 olarak değiştirildiğinde,
X#100, X20 anlamına gelir
#100~#149 Güç kapatıldıktan sonra boş
#500~#531 Kalıcı değişkenler (güç kapatıldıktan sonra kaybolmaz)
3. Sistem değişkenleri
Değeri sistemin durumuna bağlı olan sabit amaçlı değişken
Örnek: #2001, 1 numaralı takım telafisinin X ekseni telafisi değeridir
#5221 değeri, X ekseni G54 iş parçası orijin ofset değeridir
Girerken bir ondalık nokta girilmelidir ve ondalık nokta atlandığında birim μm'dir.
03
Operasyon talimatı
İfadenin sağ tarafı sabitler, değişkenler, fonksiyonlar, ifadeler olabilir.
Formülde #j ve #k de sabit olabilir
İfadenin sağ tarafı değişken sayısıdır, ifade
1. Tanım
#I=#j
2. Aritmetik işlemler
#I=#j artı #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Mantıksal işlemler
#Ben=#JOK#k
#Ben=#JXOK#k
#Ben=#JAND#k
4. İşlev
resim
#I=SIN[#j] sinüs
#I=COS[#j] kosinüs
#I=TAN[#j] teğet
#I=ATAN[#j] yay teğeti
#I=KAREKÖK[#j] karekök
#I=ABS[#j] mutlak değer
#I=YUVARLAK[#j] Yuvarlanıyor
#I=DÜZELTME[#j] toparlıyorum
#I=FUP[#j] Aşağı yuvarla
#I=BÖLÜM[#j] BCD→BÖLÜM (ikili)
#I=BCN[#j] KUTUSU→BCD
1) Açılar derece cinsindendir
Örnek: 90 derece ve 30 dakika 90,5 derecedir
2) ATAN işlevinden sonraki iki kenar uzunluğu "/" ile ayrılmalıdır.
Örnek: #{{0}ATAN[1]/[-1], #1, 35.0'dır
3) Açıklamada adres için YUVARLAK kullanılır, her bir adresin minimum ayar birimine göre yuvarlanır
Örnek: Set #1=1.2345, #2=2.3456, ayar birimi 1μm'dir
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 artı #2]; X3.580
iade edilmez ve değiştirilmelidir
X[YUVARLAK[#1] artı YUVARLAK[#2]];
4) Yuvarlamadan sonraki mutlak değer orijinal değerden büyükse yukarı, aksi halde aşağı yuvarlanır.
Örnek: #1=1.2, #2=-1.2 olduğunda
#{{0}}FUP[#1] ise, o zaman #3=2.0
#{{0}}DÜZELTME[#1] ise, o zaman #3=1.0
#{{0}}FUP[#2] ise, o zaman #3=-2.0
#{{0}}DÜZELTME[#2] ise, o zaman #3=-1.0
5) Bir fonksiyon komutu verilirken sadece ilk iki harf yazılabilir.
Örnek: YUVARLAK→RO
DÜZELTME → FI
6) Öncelik
Fonksiyon → çarpma ve bölme (*, 1, VE) → toplama ve çıkarma ( artı , -, OR, XOR)
Örnek: #1=#2 artı #3*SIN[#4];
7) Köşeli parantezler 5 kata kadar köşeli parantezdir ve köşeli parantezler yorum ifadeleri için kullanılır.
Örnek: #1=GÜNAH[[[#2 artı #3]*#4 artı #5]*#6]; (3 ağırlık)
04
Şube ve Döngü Komutları
1. Koşulsuz Transfer
Biçim: GOTO n;
n bloğuna koşulsuz dallanma
n: blok numarası (1-99999)
n, değişkenler veya ifadelerle de değiştirilebilir
10'a git;
#10'a GİT;
2. Şartlı transfer
EĞER [
Eğer
Memnun kalmazsanız sonraki bloğu yürütün.
EĞER [
Eğer
IF[#1EQ #2] SONRA #3=0;
Koşullu ifade:
resim
#j ve #k ile de değiştirilebilir
Örnek: IF[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
Örnek: 1'den 10'a kadar olan sayıların toplamını bulun
O9500;
#1=0
#2=1
N1 IF [#2 GT10] GOTO 2
#1=#1 artı #2;
#2=#2 artı 1;
GİT 1
N2 M30
3. Döngü
Biçim: ZAMAN[
…
…
…
ENDm
1. Koşullar karşılandığında, DOm'dan ENDm'ye, ardından DOm'un program bölümünden yürütün
Karşılanmazsa, ENDm'den sonra program bölümünü yürütün
2. WHILE deyimini atlarsanız ve yalnızca DOm...ENDm'ye sahipseniz, DOm'dan ENDm'ye sonsuz bir döngü oluşacaktır.
3. yuvalama
4. EQ NE, boş ve "0" farklıdır
Başka yerlerde null, "0" ile aynıdır
Örnek: 1'den 10'a kadar olan sayıların toplamını bulun
O0001;
#1=0;
#2=1;
[#2LE10] DO1;
#1=#1 artı #2;
#2=#2 artı #1;
END1;
M30;





