Alt yordamları çağıran dört tür CNC makro programı vardır:
1, M98 çağrısı
2. G65 çağrısı
3. G66 çağrısı
4. G komut çağrısını tanımlayın
5. M komut çağrısını tanımlayın
2. Bugün G65 arama alt rutinini paylaşacağım
Format: G65P alt program adı adres adı
Önce P'ye bakalım. Aslında G65 ve M98 alt program çağrıları birbirine çok benzer. P'yi altprogramın adı takip eder.
Örneğin, O1234 alt programı varsa, ana program G65 kullanılarak çağrıldığında G65 P1234 olarak yazılabilir (büyük O harfine gerek yoktur)
Şimdi sıra çok kritik adres isminden bahsetmeye geldi.
Makro programlarda değişkenler üç kategoriye ayrılır (yerel değişkenler, genel değişkenler, sistem değişkenleri)
Bunların arasında #1~#26 yerel değişkenlerdir. Yerel değişkenler ile A, B, C...Z adres adları arasındaki karşılık gelen ilişki aşağıdaki gibidir.
resim
Açıkça söylemek gerekirse adres adı, veriyi karşılık gelen değişkene aktarmaktır.
Örneğin yukarıdaki tabloda A harfi #1'e karşılık gelir. A10 ise, 10 numaralı veriyi #1 değişkenine aktarmaya eşdeğerdir. Şu anda #1=10;
Aynı şekilde B20 ise #2=20, Z-26 ise #26=-26.
Bu biraz boş, size ilham vermesi için aşağıdaki kısımlar gibi basit bir örnek vereyim
resim
M20x1.5 dış diş frezeleme
Aşağıdakileri temsil edecek şekilde #1, #26, #7, #17 ve #11 yerel değişkenlerini #1'den #26'ya rastgele ayarladım:
#1 (A) boş boyutu temsil eder;
#26 (Z) iplik derinliğini temsil eder;
#7 (D), iplik değirmeninin çapını temsil eder;
#17 (Q), kesme noktasının başlangıç Z değerini temsil eder
#11 (H) perdeyi temsil eder
Diş frezeleme prosedürü:
resim
Yukarıdaki programı bir alt program olarak alın ve alt programı aşağıdaki gibi çağırmak için G65'i kullanın:
resim
O2222 numaralı programı çağırmak için G65'i kullandığımda, A, D, Z, Q ve H harflerini takip eden veriler karşılık gelen değişkenlere aktarılır.
Şu anda:
(#1) A, boş boyutu temsil eder;
(#26) Z iplik derinliğini temsil eder;
(#7) D, diş frezeleme takımının çapını temsil eder;
(#17) Q, kesme noktasının başlangıç Z değerini temsil eder
(#11) H perdeyi temsil eder
Benzer bir parçayı işlersek sadece bir ana program yazıp bir alt program çağırmamız yeterli olur.
Örneğin, M33x2.0 dış diş (iki kesici takımda frezeleme)
resim
resim
Programın çağrısı şu şekilde:
resim
İkinci örnek:
Derin delikler için torna tezgahlarının sayılmasının döngü prosedürü aşağıdaki gibidir:
G65 P_K_B_ W_ C_ F_
örnek:
P: alt program numarasını temsil eder
K; derinlik
B: Geri çekilme tutarı
W: her beslemenin derinliği
C: İlk besleme derinliği
F: Besleme miktarı
Örneğin:
G65 P1 K-20. B0.3 W1.2 C0.8 F0.05
Bunların arasında 1, alt program numarasıdır ve işlem deliği derinliği 20'dir. Geri çekilmenin 0,3 olduğu her seferde, ilerleme derinliğinin 1,2 olduğu her seferde, ilk ilerleme derinliği 0,8 olur ve her devir 0,05 ilerleme sağlar
Alt program aşağıdaki gibidir: (Bu program kopyalanıp makine takımına kaydedilebilir)
O0001(DERİN MATKAP)
IF [#5002LT0]GOTO 100
IF[#6GE0]GOTO 70
G00W0.0
#4=#5002
#3=ABS[#3]
#2=ABS[#2]
IF[#19EQ98]GOTO 1
#19=99
N1 G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
1'i yap
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2-#29]
G1 Z-[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
SON 1
N4 G00 Z[#2-#29]
G1Z#6 F#9
G00Z#4
M99
N70 #3000=1(K NEGATİF OLMALIDIR)
N100
IF[#6LE#0] G0T0 170
G00W0.0
#4=#5002
#3=ABS[#3]
#2=-[#2]
IF[#19EQ98]GOTO 1
#19=99
N1G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
1'i yap
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2#29]
G1 Z[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
SON 1
N4 G00 Z[#2+#29]
G1Z#6 F#9
G00Z#4
M99
N170 #3000=1(K POZİTİF OLMALIDIR)
Bu programı kullandığımızda sadece alt programı (O0001 gibi) takım tezgahı hafızasına kaydetmemiz yeterlidir. Daha sonra derin delikler açarken alt programı çağırmak için yalnızca G65'i kullanmamız gerekir.
Örneğin 100 metre derinliğinde bir delik açmak için prosedür şu şekildedir:
%
O0003
T0101
S1000M03
G0X0.Z2.
G65 P1 K-100. B0.3 W5. C1. F0.05
M30
%





