Aslında makro, elips gibi parçaları işlemek için formülleri kullanmaktır.Makro yoksa, eğri üzerindeki noktaları nokta nokta hesaplamalı ve sonra onu yavaşça düz bir çizgi ile yaklaştırmalıyız. Yüksek bitiş gereksinimleri olan bir iş parçasıysa, o zaman gereklidir Birçok nokta hesaplanır, ancak makroyu uyguladıktan sonra elips formülünü sisteme gireriz ve ardından Z koordinatını veririz ve her seferinde bir miktar ekleriz, ardından makro otomatik olarak X koordinatını hesaplar ve kesme işlemini gerçekleştirir. Aslında programdaki makronun ana işlevi hesaplamadır.
Formül eğrisini işleme için manuel programlama (basit hesaplama, hızlı giriş)
Normal kesim yolu (kesme modülü olarak)
Programlar arası kontrol (program planlama)
Takım yönetimi (takım aşınması)
Otomatik ölçüm (tezgah içi prob)
Programlarken, hafızada belirli bir fonksiyonu tamamlayabilen bir dizi talimatı bir alt rutin gibi saklayacağız ve bunları çağırmak için genel bir talimat kullanacağız.Kullanırken, sadece bu genel talimatı vermemiz gerekiyor saklanan fonksiyonu çalıştırmak için. Bu talimat dizisine, kullanıcı makro program gövdesi veya kısaca makro programı denir.
Bu genel talimat, kullanıcı makro programı çağrı talimatı olarak adlandırılır. Programlama sırasında, programcının makro programı yerine sadece makro talimatını hatırlaması gerekir.
1) Kullanıcı makro program gövdesinde değişkenler kullanılabilir, değişkenlere değerler atanabilir, değişkenler arasında işlemler yapılabilir ve programlar atlanabilir.
2) Sıradan programlarda sadece sabitler belirtilebilir ve işlemler sabitler arasında gerçekleştirilemez Programlar sadece atlamadan sırayla çalıştırılabilir, bu nedenle fonksiyon sabittir ve değiştirilemez.
3) Kullanıcı makro işlevi, kullanıcıların CNC takım tezgahlarının performansını iyileştirmeleri için özel bir işlevdir.Benzer iş parçalarının işlenmesinde makro programların akıllıca kullanılması, çabanın yarısı ile bir çarpan etkisi sağlayacaktır.
Sayısal kontrol sistemi değişkenleri "#" ve ardından 1 ila 4 basamak şeklinde gösterilir. Üç tür değişken vardır:
(1) Yerel değişkenler: # 1 # 33, bağımsız değişkenleri transfer etmek için kullanılan, makro programında yerel olarak kullanılan değişkenlerdir.
(2) Ortak değişkenler: kullanıcılar bunları serbestçe kullanabilir ve ana program tarafından çağrılan alt programlar ve makro programlar tarafından paylaşılabilir. # 100 # 149 Gücü kapattıktan sonra, değişken değerlerin tümü silinir ve gücü kapattıktan sonra # 500 # 509, değişken değerler kaydedilebilir.
(3) Sistem değişkenleri: 4 basamaklı bir sayı ile tanımlanan, takım tezgahı işlemcisi ile ilgili değişim parametreleri, makine durumu edinim parametreleri dahil olmak üzere, takım tezgahı işlemcisi veya NC belleğinde bulunan salt okunur veya okuma / yazma bilgilerini elde edebilir, İşlem parametreleri gibi sistem bilgileri.
Makro programı değişkenleri kullanabilir ve değişkenler karşılık gelen işlemleri gerçekleştirmek için kullanılabilir; gerçek değişken değerleri değişkenlere makro programı talimatları ile atanabilir.
(1) Makro programının basit arama formatı
Makro programının basit çağrılması, ana programda makro programının tek bir blok tarafından tek seferde çağrılabileceği anlamına gelir.
Çağrı talimatı biçimi:
G65 P (makro program numarası) L (tekrar süreleri) (değişken atama)
Bunların arasında: G65-makro program çağrı talimatı;
P (makro program numarası) - adı verilen makro program kodu;
L (tekrar sayısı) - makro programının tekrar tekrar çalıştırılma sayısı Tekrar sayısı 1 olduğunda, yazı yazmadan ihmal edilebilir;
(Değişken atama) - Makro programında kullanılan değişkenlere değerler atayın.
Makro programı, bir makro programının başka bir makro programı tarafından 4 defaya kadar çağrılabilmesi açısından alt programla aynıdır.
(2) Makro programının yazım biçimi
Makro programının yazım biçimi, alt programınkiyle aynıdır. Biçim şu şekildedir:
0 (0001 8999 makro program numaralarıdır)
N10 Komutu
N M99
Yukarıdaki makro program içeriğinde, yaygın olarak kullanılan programlama komutlarına ek olarak, değişkenler, aritmetik işlem talimatları ve diğer kontrol talimatları da kullanılabilir. Değişken değeri, makro çağrısı talimatında atanır.
(1) Makro programı ile kanal açma
1) WHILE ifadesi
G00 X52 Z2;
# 2 = -14;
Takımın z yönündeki başlangıç noktasıdır (takım genişliği 4 mm olduğundan, başlangıç noktası Z-14 olarak ayarlanmıştır)
# 2 GE -30 DO2;
Bu, z yönünde bir kısıtlama koşuludur. Z -30'a eşit olduğunda, z yönü artık hareket etmeyecektir.
G00 Z # 2;
z yönündeki geçerli konum
# 2 = # 2-2;
Adımları z yönünde hareket ettir, her biri 2 mm hareket et
# 1 = 52;
X yönündeki başlangıç noktası
# 1 GE 20 DO1;
X yönündeki kısıtlamalar, çap 20'ye eşit olduğunda artık kesme yok
G01 X # 1 F0.2;
x yönünde kesme derinliği
G00 X # 1 + 1;
X yönündeki göreceli geri çekme miktarı
# 1 = # 1-1;
X yönünde adım mesafesi (kesim başına 1 mm)
END1;
G00 X52;
END2;
Tam program:
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X52 Z2;
# 2 = -14;
# 2GE-30 DO2; END1;
G00 Z # 2;
# 2 = # 2-2;
# 1 = 52
SIRASINDA # 1GE20 DO1;
G01X # 1 F0.2;
G00X # 1 + 1;
# 1 = # 1-1;
G00 X52;
END2;
G00 X150 Z150;
M30;
2) IF ifadesi
G00 X52 Z-2;
# 1 = -14;
Takımın başlangıç noktası z yönündedir (takım genişliği 4 mm'dir)
N2 # 1 = # 1-2;
Hareket adımı z yönünde mi
# 2 = 52;
X yönündeki başlangıç noktası
N1 # 2 = # 2-1;
X yönündeki adım mesafesi (her seferinde 1 mm kesme derinliği)
G01 X # 2 F0.2;
X yönündeki mevcut konum
G00 X # 2 + 1;
X yönündeki göreceli geri çekme miktarı
IF # 2 GE 21 GOTO1;
X yönündeki kısıtlamalar (x'in değeri 20'ye kesildiğinde, aşağıdaki prosedür gerçekleştirilecek ve geri dönmeyecektir)
G00 X52;
X 52. pozisyona geri çek
G00 Z # 1;
Z yönündeki mevcut konum
IF # 1 GE -30 GOTO2;
Z yönündeki kısıtlamalar, z -30'a eşit olduğunda, z yönü hareket etmeyecektir
Tam program:
O1234;
G40G97G99;
T0101;
S1000M3;
G00 X52 Z-2;
# 1 = -14;
N2 # 1 = # 1-2;
# 2 = 52;
N1 # 2 = # 2-1;
G01 X # 2 F0.2;
G00 X # 2 + 1;
IF # 2GE21 GOTO1;
G00X52;
G00Z # 1;
IF # 1GE-30 GOTO2;
G00X200;
Z200;
M5;
M30;
(2) Elips programlama
1) Elips WHILE ifadesinin standart biçimi:
# 1 = a;
a: Aletin başlangıç noktası, elipsin Z eksenine göre pozitif yönde bir mm'dedir
SIRASINDA # 1 GE b DO1;
b: Elips işlemenin bitiş noktası, elipsin Z eksenine göre negatif yönde b mm'dedir (işleme tam bir yarım elipse, o zaman a ve b aynı değere ve farklı işaretlere sahip iki değerdir)
# 2 = c KAREKÖK 1- # 1 # 1 / d d;
c: elipsin yarı küçük ekseni
d: Elipsin yarı büyük ekseni (elips formülüne göre # 2'yi hesaplayın, yarı büyük eksen d, yarı küçük eksen c, # 2 X'in değerini, # 1 Z'nin değerini ve SQRT karekök anlamına gelir)
G01 X ± 2 # 2 + e Z # 1 ± f;
e: İş parçası koordinat sistemine göre elipsin X ekseninin ofseti (çap değeri)
f: Elipsin Z ekseninin iş parçası koordinat sistemine göre ofseti
# 1 = # 1-1; Adım mesafesi (her seferinde 1 mm)
END1;
Not: İçbükey bir elipsi döndürürken parantez içinde X'ten sonraki "±" "-" olarak alınır; dışbükey bir elipsi döndürürken parantezde X'ten sonraki "±" "+" olarak alınır.
Elipsin X ekseni pozitif yönde kaydırıldığında, Z'den sonra parantez içindeki "±" "+" olarak alınır; elipsin X ekseni negatif yönde kaydırıldığında, Z'den sonra parantez içindeki "±" "-" olarak alınır.
2) Elips IF ifadesinin standart biçimi
# 1 = a;
a: Aletin başlangıç noktası, elipsin Z eksenine göre pozitif yönde bir mm'dir
N1 # 2 = b * KAREKÖK 1- # 1 * # 1 / c * c;
b: Elipsin yarı küçük ekseni c: Elipsin yarı büyük ekseni (X / c + Y / b = 1 elips formülüne göre, SQRT karekök anlamına gelir)
G01X ± 2 * # 2 + d Z # 1 ± e F0.2; d: elipsin X ekseni ekseninin koordinatın sıfır noktasına göre ofseti (çap değeri) e: elipsin sıfır yüzeyine göre Z ekseni ekseni Ofset
# 1 = # 1-1;
Adım mesafesi (her seferinde 1 mm hareket eder)
IF # 1 GE -f GOTO1
f: Elips işlemenin sonu
Not: İçbükey bir elipsi döndürürken parantez içinde X'ten sonraki "±" "-" olarak alınır; dışbükey bir elipsi döndürürken parantezde X'ten sonraki "±" "+" olarak alınır. Elipsin X ekseni pozitif yönde kaydırıldığında, Z'den sonra parantez içindeki "±" "+", elipsin X ekseni negatif yönde kaydırıldığında, Z'den sonra parantez içindeki "±" "-" olarak alınır.
WHILE ifadesi
# 1 = 20;
# 1GE-20 DO1;
# 2 = 10 * KAREKÖK 1- # 1 * # 1/400;
G01X -2 * # 2 + 50 Z # 1-25;
# 1 = # 1-1;
END1;
IF ifadesi
# 1 = 20;
N1 # 2 = 10 * KAREKÖK 1- # 1 * # 1/400;
G01X -2 * # 2 + 50 Z # 1-25 F0.2;
# 1 = # 1-1;
IF # 1GE-20 GOTO1;
Programı tamamla
O1234;
G40G97G99;
T0101;
S1000 M3;
G00 X50 Z2;
G73 U5 R5;
G73 P10 Q20 U0.5 F0.2;
N10 G0 G42 Z-5;
# 1 = 20;
# 1GE-20 DO1;
# 2 = 10 * KAREKÖK 1- # 1 * # 1/400;
G01X -2 * # 2 + 50 Z # 1-25 F0.2;
# 1 = # 1-1;
END1;
G00 X50;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
IF ifadesinin tam formatı atlanır (aynı durum, döngü eklendiği sürece IF ifadesi için de geçerlidir) FANUC-0i sisteminde, makro programı yalnızca G73'e eklenebilir.
(3) Parabolün işlenmesi
1) Parabolik WHILE ifadesinin standart biçimi:
# 1 = a;
a: aletin başlangıç noktası, parabolik eksen yönündeki bir mm'dir Z
SIRASINDA # 1 GE -b DO1;
b: elipsin z yönündeki işleme uzunluğu
# 2 = KAREKÖK - # 1 * 5/3;
(Z = -3 / 5 * X * X parabolik formülüne göre, X'in değerini bulun, burada SQRT'nin karekök anlamına geldiği # 2'dir)
G01 X ± 2 * # 2 + c Z # 1;
c: parabolün X ekseninin iş parçası koordinat sistemine göre ofsetidir (çap değeri), "±"
"+" dışbükeydir ve "-" içbükeydir
# 1 = # 1-1; Adım mesafesi (her seferinde 1 mm)
END1;
2) Parabolik IF ifadesinin standart biçimi
# 1 = a;
a: aletin başlangıç noktası, parabolik eksen yönündeki bir mm'dir Z
N1 # 2 = KAREKÖK - # 1 * 5/3;
(Z = -3 / 5 * X * X parabolik formülüne göre, X'in değerini bulun, burada SQRT'nin karekök anlamına geldiği # 2'dir)
G01 X ± 2 * # 2 + b Z # 1;
b: Parabolün X ekseninin koordinat sıfır noktasına göre ofsetidir (çap değeri). "±" "+" olarak alındığında, dışbükeydir ve "-" içbükey olarak alındığında
# 1 = # 1-1;
(Z yönünde adımlar, her hareket 1 mm)
IF # 1 GE -c GOTO1; c: Elipsin z yönündeki işleme uzunluğu
Parabolik EĞER ifadesinin başka bir biçimi
# 1 = a;
N1 # 2 = KAREKÖK (+) # 1 * 5/3;
"+" ihmal edilebilir
G01 X 2 * # 2 + b Z - # 1;
# 1 = # 1 + 1;
IF # 1 LE c GOTO1;
Parabolün Z'nin pozitif yönünde olduğunu varsayarsak, Z - # 1] kullanın; parabolü negatif yöne simetrik hale getirin
WHILE ifadesi
# 1 = 0;
# 1 GE -15 DO1;
# 2 = KAREKÖK - # 1 * 5/3;
G01 X 2 * # 2 + 30 Z # 1;
# 1 = # 1-1;
END1;
IF ifadesi
# 1 = 0;
N1 # 2 = KAREKÖK - # 1 * 5/3;
G01X 2 * # 2 + 30 Z # 1;
# 1 = # 1-1;
IF # 1 GE -15 GOTO1;
Programı tamamla
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X42 Z1;
G73 U5 R5;
G73 P10 Q20 U0.5 F0.2;
N10 G00 G42 Z0;
# 1 = 0;
# 1 GE -15 DO1;
# 2 = KAREKÖK - # 1 * 5/3;
G01 X 2 * # 2 + 30 Z # 1;
# 1 = # 1-1;
END1;
G00 X42;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
(4) WHILE ifadesi ile IF ifadesi arasındaki fark
1) İki cümlenin yönleri farklıdır
WHILE ifadesi geri dönüyor
Örnek: WHILE # 1 GE 20 DO1;
G01 X # 1 F0.2;
Takım tezgahı bu cümleyi (# 1 = 20) yürüttüğünde, çalışmaya devam edeceğini ve # 1 = # 1-1'i çalıştırdıktan sonra # 1 değerinin 19 olacağını ve kısıtlama koşullarının artık karşılanmadığını, dolayısıyla geri dönmeyeceğini varsayalım. (X yönünde 20'ye kadar kesin)
G00 X # 1 + 1);
# 1 = # 1-1;
END1;
2) IF ifadesi ileriye döner
Örnek: N1 # 2 = # 2-1;
G01X # 2 F0.2; Takım tezgahı bu cümleyi # 2 = 20 yürütürse, IF # 2 GE 20 GOTO1; koşulları hala karşılayana kadar çalışmaya devam edecek, N1'e dönmeye devam edecektir # 2 = # 2-1; Ve X'in mevcut değeri 19 olacak, artık kısıtlama koşullarını karşılamayacak ve sonra başka bir
G01X # 2 F0.2; Son olarak aşağıdaki programı çalıştırın (X yönü 19'a kesildi)
G00X # 2 + 1);
IF # 2 GE 20 GOTO1;
3) Yukarıdaki yerleştirme programından, IF ifadesindeki kelime sayısının WHILE ifadesinden çok daha az olduğu görülebilir.
4) Farklı dönüş yönleri nedeniyle, işlem sırasında WHILE ifadesinin bir cümle eksik ve bir cümlesi daha IF ifadesi okunur.
Not: Makro programı değişkenlerle programlanır ve Siemens sisteminin değişken sayısı R ile temsil edilir.
Örneğin, sıradan programlama yöntemiyle yazılmıştır: G01X-10
Makro programı şu şekilde ifade edilebilir:
R1 = -10
G01 X = R1
Koşullu transfer:
EĞER GOTOB: Geriye atla
IF GOTOF: İleri atla
Sıradan programlama yöntemleriyle yazılmıştır
GO1X100
Değişken şu şekilde ifade edilebilir:
R1 = 0
AA: R1 = R1 + 1
G01X = R1
EĞER R1 < 100 GOTOB AA
R1 bağımsız değişkendir, başlangıç değeri 0'dır, R1 = R1 + 1 bağımsız değişkenin artış değerinin 1 olduğu anlamına gelir. Program her seferinde bu satırdan geçtiğinde, R1 değeri 1 artar, R1 < 100, koşullu ifadedir, IF R1 < 100 GOTOB AA Bu satır, R1 argümanının < 100 program geriye doğru atlıyor: AA
R1100'den büyük veya 100'e eşitse, prosedür azalır.
Makro programlar G90 ve G91 modlarında kullanılabilir ancak farklı anlamları vardır, örneğin;
R1 = 0, G90R1 = R1 + 1, G1X = R1, bu programın ikinci geçişinden sonra X'in değeri 2'dir.
R1 = 0, G91R1 = R1 + 1, G1X = R1, bu programın ikinci geçişinden sonraki X değeri 3'tür. Açıklama: Programın ilk geçişinden sonra R1 değeri 1 ve ikinci geçiş sırasında R1 değeri 2'dir, ancak G91 modunda bir öncekine dayanmaktadır.
(1) Kanal açma
T1
TC
T1D1
G0G40X100Z100
M03S1000
G0X54Z2
Başlangıç noktasına hızla ulaşın
Z-10
R1 = 3
Bıçak genişliğini 3 mm olarak tanımlayın
R2 = -10-R1-0.2
Başlangıç noktası -10'dur ve bıçağın sol tarafı bıçağı ayarlarken kullanılır;
Bıçak ayarı için, bıçağın genişliği çıkarılmalıdır, 0,2 finiş payıdır
G1Z = R2F0.1
Takım, Z ekseninin başlangıç noktasına ulaşır
AA: R2 = R2-2.5
R3 = 50
X eksenini noktaya yuva
BB: R3 = R3-2
Kesme başına kesme derinliğini 2 mm olarak tanımlayın
G1X = R3
X = R3 + 1
Her 2 mm kesme derinliği, tek taraflı geri çekilme 0,5 mm talaş kaldırma
EĞER R3 > 30 + 0.4 GOTOB BB
R3 ise oluk derinliğini 10mm tanımlayın > 30 mm'lik program BB işaretine geri dönüyor, 0,4 bitirme ödeneği
G0X50
Takım, X ekseni başlangıç noktasına ulaşır
G1Z = R2
EĞER R2 > -30 + 0.2 GOTOB AA
Oluk genişliğini 20 mm olarak tanımlayın, 0,2 finiş payıdır
G0X50
G01Z-13
Bitiricilik
X30
Z-16
G0X50
Z-30
G01X30
Z-16
G0X50
Geri çekilmek
G0X100
Z100
M05
M30
(2) Elips
1) Temel format
R1 = 0
R1 değişkeninin başlangıç değerini 0 olarak tanımlayın
AA: R2 = b × SQRT (1-R1 × R1 / a × a)
Elips denklemine göre, a elipsin yarı büyük eksenidir, b elipsin yarı küçük eksenidir ve SQRT karekök sembolüdür.
G1X = ± 2 × R2 + X Z = R1-Z
Elipsin konumunu ve şeklini ayarlayın, +2 dışbükeydir, -2 içbükeydir, X ve Z iş parçası ekseni ile elips ekseni arasındaki mesafedir (çap sistemi)
R1 = R1-1
İşleme adımını ayarlayın
EĞER R1 > = n GOTOB AA
Değişken R1 gibi < n, AA işaretine geri atlayın, n, Z yönündeki bitiş noktası koordinatıdır.
2) Programlama örneği:
T1D1
G0G40X100Z100
M3S1000
G0X52Z2
Z-20
CYCLE95 ()
G42S1500
OO:
R1 = 20
AA: R2 = 5 × SQRT (1-R1 × R1 / 400)
G1X = -2 × R2 + 50 Z = R1-40
R1 = R1-2
EĞER R1 > = -20 GOTOB AA
YP: X42
G0G40X100Z100
M05
M09
M30
(3) Parabol
1) Temel format:
R1 = 0
R1 değişkeninin başlangıç değerini 0 olarak ayarlayın
AA: R2 = KAREKÖK (-R1 × n)
Temel parabol formatına göre, SQRT karekök işaretidir ve n katsayısıdır
G01X = 2 × R2 + n
Z = R1
İşleme yolu, +2 dışbükeydir, n, X ekseninin başlangıç noktası değeridir
R1 = R1-1
Değişken artış değeri 1 mm'dir
EĞER R1 > -30 GOTOB AA
Değişken R1 ise > -30, program geriye doğru atlar: AA
2) Programlama örneği:
T1
Tc
T1D1
G0G40X100Z100
M03S1000
G0X52Z2
CYCLE95 ()
G0G42
OO:
R1 = 0
AA: R2 = KAREKÖK (-R1 × 5/3)
G01X = 2 × R2 + 30 Z = R1
R1 = R1-2
EĞER R1 > -60 GOTOB AA
YP: X52
G0X100Z100
M05
M30