Mach4’te döner magazin takım değiştirme macro’sunda Current Tool ve Selected Tool takibi, temel olarak Mach4’ün Lua API fonksiyonları aracılığıyla yapılır. mc.mcCntlGetToolInSpindle() mevcut takımı, mc.mcCntlGetSelectedTool() ise G-kodu ile istenen takımı döndürür. Bu değerler, genellikle M6Start.mcs ve M6End.mcs makroları içinde okunur, işlenir ve takım değiştirme döngüsünün doğru çalışmasını sağlamak için kullanılır.
Mach4’te Döner Magazin Takım Değiştirme Macro’sunda Current Tool ve Selected Tool Nasıl Takip Edilir? Nedir?
Endüstriyel otomasyon ve CNC işleme dünyasında, otomatik takım değiştirme (ATC) sistemleri, üretim verimliliği ve hassasiyeti açısından kritik öneme sahiptir. Özellikle çok sayıda takımın kullanıldığı karmaşık işleme operasyonlarında, hangi takımın iş milinde (spindle) olduğunu ve bir sonraki işlem için hangi takımın seçildiğini doğru bir şekilde bilmek hayati önem taşır. Mach4 kontrol yazılımı, esnek yapısı sayesinde bu tür takip ve kontrol mekanizmalarını özelleştirilebilir makrolar aracılığıyla sunar.
Bu bağlamda, Current Tool (Mevcut Takım) terimi, o an itibarıyla iş milinde fiziksel olarak takılı olan takımın numarasını ifade eder. Bu bilgi, makinenin mevcut durumunu yansıtır ve genellikle bir önceki takım değiştirme işlemi sonucunda güncellenir. Selected Tool (Seçilen Takım) ise, G-kodu (örneğin, “T1 M6” komutu) tarafından istenen, bir sonraki işleme adımı için hazırlanması veya iş miline takılması gereken takımın numarasını belirtir. Döner magazinli bir takım değiştirme sisteminde, bu iki değerin doğru ve senkronize bir şekilde takip edilmesi, takım değiştirme döngüsünün hatasız, güvenli ve verimli bir şekilde tamamlanması için temel bir gerekliliktir.
Mach4, bu takibi kendi içindeki Lua programlama dili tabanlı makro sistemi üzerinden gerçekleştirir. Kullanıcılar, özellikle M6 takım değiştirme makrosu içinde, Mach4’ün sağladığı özel API (Uygulama Programlama Arayüzü) fonksiyonlarını kullanarak bu değerlere erişebilir, bunları işleyebilir ve makine hareketlerini buna göre yönlendirebilirler. Bu, operatörün ekranında doğru takım bilgisinin gösterilmesinden, takımın magazindeki doğru yuvaya yerleştirilmesine veya oradan alınmasına kadar geniş bir yelpazede kontrol sağlar.
Çalışma Prensibi ve Teknik Veriler
Mach4’ün esnek ve güçlü yapısı, takım değiştirme süreçlerini tamamen kullanıcı tanımlı Lua makroları aracılığıyla yönetmeye olanak tanır. Döner magazinli bir ATC sisteminde Current Tool ve Selected Tool takibi, genellikle M6Start.mcs ve M6End.mcs isimli makroların birleşimiyle sağlanır. Bu makrolar, bir G-kodu programında “Txx M6” komutu çağrıldığında otomatik olarak devreye girer.

Makro Akışı ve Temel Lua API Fonksiyonları
Bir takım değiştirme döngüsü başladığında, ilk olarak M6Start.mcs makrosu çalışır. Bu makronun temel görevleri şunlardır:
- Selected Tool’u Belirleme: G-kodu tarafından istenen takım numarasını almak için
local selectedTool = mc.mcCntlGetSelectedTool()fonksiyonu kullanılır. Bu, bir sonraki adımda hangi takımın magazinden alınacağını belirler. - Current Tool’u Kaydetme: İş milinde mevcut olan takımın numarasını kaydetmek için
local currentTool = mc.mcCntlGetToolInSpindle()kullanılır. Bu bilgi, mevcut takımın magazindeki doğru yuvaya geri yerleştirilmesi için önemlidir. - Takım Değişimine Hazırlık: Makineyi güvenli bir takım değiştirme pozisyonuna (Tool Change Position) hareket ettirme, iş milini durdurma ve takım tutucuyu gevşetme gibi ön hazırlık adımları bu aşamada gerçekleştirilir.
- Magazin Pozisyonlama: Selected Tool‘a göre döner magazini doğru yuvaya indekslemek için özel motor kontrol komutları ve sensör geri bildirimleri kullanılır.
Takım değiştirme mekanizması fiziksel olarak takımları değiştirdikten sonra (yani, Current Tool‘u magazindeki yuvasına geri koyup, Selected Tool‘u iş miline taktıktan sonra), genellikle M6End.mcs makrosu veya M6Start.mcs‘in devamı çalışır. Bu aşamanın kritik adımları şunlardır:
- Current Tool’u Güncelleme: İşlem tamamlandığında, iş milindeki yeni takım numarasını Mach4’e bildirmek için
mc.mcCntlSetToolInSpindle(selectedTool)fonksiyonu kullanılır. Bu, Mach4’ün dahili durumunu ve operatör ekranındaki Current Tool bilgisini günceller. - Takım Ofsetlerini Uygulama: Yeni takıma ait boy (length) ve çap (diameter) ofsetlerinin yüklenmesi için
mc.mcToolSetCurrentTool(selectedTool)ve ardından G43/G44 gibi G-kodları çağrılabilir. - İşleme Devam Etme: Makineyi çalışma pozisyonuna geri getirme ve işleme programının kaldığı yerden devam etmesini sağlama.

Döner Magazin Özellikleri ve Takip Entegrasyonu
Döner magazinler, takımları dairesel bir düzende tutan ve istenen takımı iş milinin altına getirerek değişimi kolaylaştıran sistemlerdir. Takip süreçlerinde:
- Magazin İndeksleme: Her takım yuvasının belirli bir pozisyona karşılık geldiği, genellikle bir enkoder veya sensör sistemi ile takip edilen bir indeksleme mekanizması vardır. Makro, Selected Tool‘a karşılık gelen yuvayı bulmak için bu indeksleme sistemini kullanır.
- Takım Sensörleri: Takımın yuvada olup olmadığını veya iş mili içinde doğru bir şekilde kilitlenip kilitlenmediğini denetlemek için proximity sensörleri veya limit anahtarları kullanılır. Bu sensörler, makroya geri bildirim sağlayarak güvenli bir değişim sağlar.
- Hata Yönetimi: Eğer Selected Tool magazinde yoksa veya Current Tool yuvaya geri yerleştirilemezse, makro hata durumunu algılayıp uygun bir uyarı veya durdurma prosedürü başlatmalıdır.
Mach4’ün Lua API’si, sadece takım numaralarını almakla kalmaz, aynı zamanda makine eksenlerini kontrol etme (mc.mcAxisMoveAbs(), mc.mcAxisMoveRel()), giriş/çıkış pinlerini okuma/yazma (mc.mcIoGetState(), mc.mcIoSetState()) ve hatta kullanıcı arayüzündeki DRO’ları (Digital ReadOut) güncelleme (mc.mcCntlSetSystemDro()) gibi birçok ek fonksiyona erişim sağlar. Bu sayede, karmaşık takım değiştirme senaryoları bile tamamen özelleştirilebilir ve kontrol edilebilir hale gelir.
| Parametre | Değer/Açıklama |
|---|---|
| Current Tool (Mevcut Takım) | İş milinde (spindle) fiziksel olarak takılı olan takımın numarası. |
| Selected Tool (Seçilen Takım) | G-kodu (Txx M6) ile bir sonraki işlem için istenen takımın numarası. |
| Mach4 Lua API | Mach4 makro komut dosyaları için kullanılan programlama arayüzü. |
mc.mcCntlGetToolInSpindle() | Mevcut takım numarasını döndüren Mach4 Lua API fonksiyonu. |
mc.mcCntlGetSelectedTool() | G-kodu tarafından istenen takım numarasını döndüren Mach4 Lua API fonksiyonu. |
mc.mcCntlSetToolInSpindle() | İş milindeki mevcut takım numarasını Mach4 sisteminde güncelleyen API fonksiyonu. |
| M6 Macro | Mach4’te otomatik takım değiştirme döngüsünü yöneten ana komut dosyası (genellikle M6Start.mcs ve M6End.mcs). |
| Döner Magazin | Takımları dairesel bir düzende tutan ve otomatik erişim sağlayan takım depolama sistemi. |

Sahada Dikkat Edilmesi Gerekenler
- Sensör ve Limit Anahtarı Doğruluğu ve Güvenilirliği: Takım değiştirme sisteminin kalbi, sensörler ve limit anahtarlarıdır. Magazin pozisyonu, takımın yuvada varlığı, takım tutucunun sıkılıp gevşetildiği gibi kritik bilgileri sağlarlar. Bu sensörlerin doğru çalıştığından, kirlenmediğinden ve fiziksel olarak hasar görmediğinden emin olunmalıdır. Yanlış okumalar, yanlış takım takılmasına veya takım düşmelerine yol açabilir. Periyodik kalibrasyon ve temizlik şarttır.
- Makro Mantığı ve Hata Yönetimi: Yazılan Lua makrosu, sadece başarılı senaryoları değil, aynı zamanda olası hata durumlarını da (örneğin, istenen takımın magazinde olmaması, takımın sıkışması, sensör arızası) ele almalıdır. Makro, bu tür durumlarda makineyi güvenli bir şekilde durdurmalı, operatöre açık bir mesajla bilgi vermeli ve manuel müdahaleye izin vermelidir. İyi bir hata yönetimi, hem makineye hem de operatöre güvenliği sağlar.
- Takım Tablosu ve Ofset Yönetimi: Mach4’teki takım tablosunun güncel ve doğru olması zorunludur. Her takımın boy (length) ve çap (diameter) ofsetleri, takım değiştirme sonrası doğru bir şekilde yüklenmelidir (genellikle G43/G44 komutları ile). Yanlış ofsetler, hatalı işleme boyutlarına ve parça hurdaya çıkmasına neden olur. Takım ömrü takibi ve kırık takım algılama sistemleri de entegre edilmelidir.
- Mekanik Hassasiyet ve Bakım: Döner magazin mekanizması, takım tutucu ve iş mili, zamanla aşınabilir veya ayarları bozulabilir. Takım değiştirme kolunun hareketleri, magazin indeksleme hassasiyeti ve takım tutucunun sıkma/gevşetme kuvveti periyodik olarak kontrol edilmelidir. Yetersiz bakım, takım düşmelerine, iş mili veya magazin hasarına yol açabilir. Yağlama ve temizlik rutinleri aksatılmamalıdır.
- Operatör Eğitimi ve Güvenlik Protokolleri: Makine operatörleri, takım değiştirme makrosunun işleyişini, olası hata durumlarını ve acil durdurma prosedürlerini tam olarak anlamalıdır. Takım değiştirme sırasında makineye müdahale etmeme, güvenlik kilitlerinin (interlock) devre dışı bırakılmaması gibi güvenlik protokollerine titizlikle uyulmalıdır.
- Yedekleme ve Versiyon Kontrolü: Geliştirilen veya özelleştirilen tüm makroların düzenli olarak yedeklenmesi ve versiyon kontrolü altında tutulması çok önemlidir. Olası bir veri kaybı veya yanlış değişiklik durumunda, çalışan bir önceki versiyona geri dönülebilmelidir.

Sık Karşılaşılan Sorunlar ve Çözümleri
Döner magazinli takım değiştirme sistemlerinde, Current Tool ve Selected Tool takibine bağlı olarak çeşitli sorunlar yaşanabilir. İşte sık karşılaşılan bazı senaryolar ve çözüm önerileri:
-
Sorun: Takım Değişimi Başarısız Oluyor veya Yanlış Takım Takılıyor.
Açıklama: Makine, istenen takımı (Selected Tool) doğru yuvadan alamıyor veya mevcut takımı (Current Tool) doğru yuvaya geri yerleştiremiyor. Bazen de yanlış bir takım iş miline takılıyor.
Çözüm:
- Sensör Kontrolü: Magazin indeksleme sensörlerinin, takım varlığı sensörlerinin ve takım tutucu kilitleme/açma sensörlerinin doğru çalıştığını doğrulayın. Kirlenme, gevşek bağlantılar veya yanlış hizalama hatalara neden olabilir.
- Makro Mantığı İncelemesi:
M6Start.mcsmakrosundamc.mcCntlGetSelectedTool()vemc.mcCntlGetToolInSpindle()çağrılarının doğru yerlerde yapıldığını ve değerlerin doğru işlendiğini kontrol edin. Magazin indeksleme ve takım kolu hareket mantığının doğru olduğundan emin olun. - Mekanik Ayarlar: Magazin tabağının veya takım değiştirme kolunun mekanik ayarlarını, toleranslarını ve hareket limitlerini kontrol edin. Gevşek veya aşınmış parçalar hassasiyeti etkileyebilir.
- Takım Tablosu Tutarlılığı: Mach4’teki takım tablosundaki takım numaralarının fiziksel magazin yuvalarıyla ve G-kodunda kullanılan numaralarla eşleştiğinden emin olun.
-
Sorun: Makine Takım Değiştirme Pozisyonunda Kalıyor ve İlerlemiyor.
Açıklama: Takım değiştirme döngüsü belirli bir noktada takılıyor ve program duruyor veya ilerlemiyor.
Çözüm:
- Limit Anahtarları ve Güvenlik Kilitleri: Takım değiştirme pozisyonunda veya magazin hareketlerinde herhangi bir limit anahtarının takılı kalıp kalmadığını kontrol edin. Makro içindeki güvenlik kilitlerinin (interlock) yanlış tetiklenip tetiklenmediğini inceleyin.
- Makro Bekleme Döngüleri: Makro içinde belirli bir sensörden geri bildirim bekleyen döngülerin (örneğin, “takım sıkıldı” sinyali) sonsuz döngüye girmediğinden emin olun. Gerekirse zaman aşımı (timeout) ekleyin.
- Motor ve Sürücü Durumu: Magazin indeksleme veya takım kolu hareketini sağlayan motorların ve sürücülerin arızalı olup olmadığını kontrol edin. Aşırı yük veya kablolama sorunları bu tür durmalara yol açabilir.
-
Sorun: Mach4 Ekranında Yanlış Takım Numarası Gözüküyor.
Açıklama: Takım değiştirme işlemi doğru tamamlanmasına rağmen, operatör ekranındaki “Current Tool” veya “Tool Number” DRO’su yanlış bilgi gösteriyor.
Çözüm:
mc.mcCntlSetToolInSpindle()Kontrolü:M6End.mcsveya takım değiştirme makrosunun sonundamc.mcCntlSetToolInSpindle(selectedTool)fonksiyonunun çağrıldığından ve doğruselectedTooldeğeriyle güncellendiğinden emin olun. Bu fonksiyon, Mach4’ün dahili takım durumunu günceller.- Ekran DRO Bağlantıları: Mach4 screen set (ekran düzeni) içinde, takım numarası DRO’sunun doğru sistem değişkenine veya Lua değişkenine bağlı olduğundan emin olun.
- Lua Değişken Güncellemesi: Eğer ekran, özel bir Lua değişkeninden besleniyorsa, bu değişkenin takım değiştirme makrosu içinde doğru bir şekilde güncellendiğini doğrulayın.
-
Sorun: Takım Değişimi Sonrası Ofsetler Uygulanmıyor veya Yanlış Uygulanıyor.
Açıklama: Takım değiştirme sonrası işlenen parça boyutları hatalı çıkıyor, sanki takım ofsetleri hiç uygulanmamış gibi.
Çözüm:
- G43/G44 Komutları: Takım değiştirme makrosunun sonunda veya hemen G-kodu programında “Txx M6” komutundan sonra, yeni takımın ofsetlerini yüklemek için G43 (takım boyu telafisi pozitif) veya G44 (negatif) komutlarının çağrıldığından emin olun.
- Takım Tablosu Verileri: Mach4’teki takım tablosuna girilen takım boyu ve çapı ofsetlerinin doğru olduğundan emin olun. Manuel ölçüm veya takım probu ile doğrulamalar yapın.
- Koordinat Sistemi: İşleme programında kullanılan koordinat sisteminin (G54, G55 vb.) doğru olduğundan ve ofsetlerin bu sisteme göre uygulandığından emin olun.
Uzman Tavsiyesi
Mach4 tabanlı bir CNC sisteminde döner magazinli otomatik takım değiştirme, modern imalatın vazgeçilmez bir parçasıdır ve üretim verimliliği ile hassasiyetini doğrudan etkiler. Bu sistemin kalbinde ise Current Tool ve Selected Tool bilgilerinin doğru, güvenli ve hızlı bir şekilde takip edilmesi yatar. Mach4’ün sunduğu güçlü Lua API ve esnek makro yapısı, bu takibi tamamen özelleştirme ve makinenin spesifik ihtiyaçlarına göre adapte etme imkanı sunar.
Uzman bir bakış açısıyla, başarılı bir takım değiştirme otomasyonu için sadece doğru Lua fonksiyonlarını kullanmak yeterli değildir. Sistemin mekanik doğruluğu, sensörlerin güvenilirliği, makro içindeki hata yönetimi stratejileri ve operatörün bilgi düzeyi de kritik rol oynar. Saha tecrübeleri göstermektedir ki, en sık karşılaşılan sorunlar genellikle mekanik aşınma, sensör arızaları veya makro mantığındaki eksik/hatalı durum yönetimi gibi temel noktalardan kaynaklanmaktadır. Bu nedenle, düzenli bakım, sensörlerin periyodik kontrolü ve makroların kapsamlı test edilmesi, uzun vadeli ve sorunsuz bir çalışma için elzemdir.
Ayrıca, her takım değiştirme makrosunun, olası tüm senaryoları (başarılı değişim, takım yokluğu, sıkışma, sensör hatası vb.) göz önünde bulundurarak tasarlanması ve hata durumlarında makineyi güvenli bir duruma getirecek mekanizmaları içermesi büyük önem taşır. Geliştirilen makroların versiyon kontrolü altında tutulması ve düzenli olarak yedeklenmesi, olası sorunlarda hızlıca geri dönüş yapabilme yeteneği sağlar. Operatörlerin, takım değiştirme prosedürleri ve acil durum müdahaleleri konusunda iyi eğitilmesi, hem iş güvenliğini artırır hem de makine arıza süresini minimize eder.
Sonuç olarak, Mach4’te Current Tool ve Selected Tool takibi, sadece teknik bir gereklilik değil, aynı zamanda güvenli, verimli ve kesintisiz bir üretim sürecinin temelini oluşturan bir mühendislik disiplinidir. Bu süreçlerin doğru bir şekilde anlaşılması, uygulanması ve sürekli optimize edilmesi, endüstriyel otomasyon sektöründeki işletmeler için rekabet avantajı sağlayacaktır. Unutulmamalıdır ki, en iyi çözümler, detaylı planlama, titiz uygulama ve sürekli iyileştirme döngüleri ile ortaya çıkar.

