M98/M99 alt programları: yinelenen şekli bir kez yazıp birçok kez çağırma
M98 ile alt program çağırma ve M99 ile dönme yapısını, P numarası ile L tekrar sayısını, artımlı alt programla aynı kanalın farklı konumlarda işlenmesini ve çağrı hatalarını bir örnekle açıklar.
Alt program neden kullanılır?
Aynı kanalı beş yerde kesmek veya aynı konturu farklı derinliklerde birkaç kez işlemek yaygındır. Aynı blokları kopyalamak programı uzatır; bir ölçüyü düzeltmek beş yerin de düzeltilmesini gerektirir. Birinin atlanması farklı ölçülü hatalı parça üretir.
Bir alt program, yinelenen bölümü ana programın gerektiğinde çağırdığı ayrı bir programa ayırır. Şekil tek yerde tutulur; ana program yalnız “nerede ve kaç kez” bilgisini verir.
Çağırma ve dönüş
| Komut | Anlam | Örnek |
|---|---|---|
M98 P_ | P numaralı (O numaralı) programı çağırır | M98 P3100 |
L_ veya P'nin baştaki rakamları | Tekrar sayısı | L3 → 3 kez |
M99 | Çağrı bloğundan sonraki satıra döner | O3100'ün son satırı |
M99 P_ | Dönerken belirtilen sıra numarasına atlar | Dallanma ve döngülerde kullanılır |
Örnek: artımlı alt programla üç kanal
O3100 alt programı G91 artımlı modda yazılmıştır. Mevcut konumdan 6 mm iner, X'te 30 mm kanal keser, 6 mm çıkar ve başlangıç X'ine dönerken Y'de 10 mm ilerler. Bitiş konumu sonraki tekrarın başlangıcı olduğundan aynı çağrıyı üç kez tekrarlamak 10 mm aralıklı üç kanal üretir.
10 mm aralıklı üç kanal için O3100 alt programını L3 ile üç kez çağırma
O3007
T1 M6
G21 G90 G17 G94
G54
S3000 M03
G00 X0. Y0. Z5.
M98 P3100 L3
G90 G00 Z50.
M30
O3100
G91 G01 Z-6. F100
X30. F300
G00 Z6.
X-30. Y10.
M99Yukarıdaki şekil bu programın CNC Path Analyzer sonucudur (hızlı 8 segment, doğrusal kesme 6 segment).
Ana programda uyulacak kurallar
- Modu geri yükleyin: alt program G91'de biter; dönüşten hemen sonra yeniden
G90komutlayın. Örnekte bunuG90 G00 Z50.yapar. G90 olmadanZ50., “yükseklik 50” yerine “mevcut konumun 50 mm üstü” demektir. Burada yukarı hareket zararsızdır, ancak sonraki takımın yaklaşmasında çarpışmaya yol açabilir. - Başlangıç konumu: artımlı alt program çağrı anındaki konuma göre farklı sonuç verir. Çağrıdan hemen önce başlangıcı mutlak koordinatlarla açıkça komutlayın.
- Telafi ve çevrim durumu: takım yarıçap telafisi veya sabit çevrim etkinken çağrı, alt program hareketlerini beklenmedik biçimde değiştirebilir. Çağrıdan önce ve sonra modal durumu düzenleyin.
- M30'un konumu: alt program aynı dosyadaysa ana programın
M30komutundan sonra yerleştirin. Ana program M30'da biter ve alt program yanlışlıkla çalışmaz.
Tekrar sayısı ve çevrim süresi hesabı
Alt program bir çalışmada Z'de 6 mm (F100), X'te 30 mm (F300) keser: 3.6 s ve 6 s, toplam 9.6 s; üç çalışmada yaklaşık 29 s saf kesme olur. L3'ü L5 yapmak ana programda tek karakteri değiştirir ve beş kanal ile yaklaşık 48 s kesme verir. Tekrar yapısı değişiklik ve süre tahminini kolaylaştırır. Ayrıntı: işleme süresi hesabı.
Çağrı hatası türleri
Araçta ayrı dosyalardaki çağrılan programlar ana programla birlikte yüklenebilir; P numarası dosya adına değil, dosya içindeki O numarasına bağlanır.
| Hata | Neden | CNC Path Analyzer'ın gösterdiği |
|---|---|---|
| Çağrılan program bulunamadı | P ile eşleşen O numaralı program yok | Çağrı satırı ve bulunamayan numara |
| Yinelenen O numarası | Aynı numaralı iki veya daha fazla program | Hangisinin kullanılacağının seçilemediği uyarısı |
| M99 eksik | Alt program bitmez ve sonraki programa geçer | Dönüş eksik uyarısı |
| Sonsuz çağrılar | Programlar birbirini veya kendini çağırır | Özyineleme ya da yürütme sınırında hesap durur |
Sık sorulan sorular
Bir alt program başka bir alt programı çağırabilir mi?
M98 ile G65 makro çağrısı arasındaki fark nedir?
G65, argümanları (A, B, C…) değişken olarak aktarır. Aynı şekli farklı ölçülerle çağırır; M98 ise aynı işlemi argümansız tekrarlar.