Cnc Router imalatı

Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır?

11 dk okuma Mermak CNC Teknik İçerik
Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır?
İçindekiler
  1. Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır? Nedir?
  2. Çalışma Prensibi ve Teknik Veriler
  3. Sahada Dikkat Edilmesi Gerekenler
  4. Sık Karşılaşılan Sorunlar ve Çözümleri
  5. Uzman Tavsiyesi

Mach3‘te otomatik takım değiştirme (ATC) için M6 makrosu, VBScript kullanılarak yazılır ve takım numarası alma, mevcut takım ile karşılaştırma, iş mili durdurma, Z eksenini güvenli konuma taşıma, takım değiştirme mekanizmasını (kelepçe açma/kapama) kontrol etme, yeni takım numarasını ayarlama ve ofsetleri yükleme adımlarını içerir. Makro, Mach3’ün ana dizinindeki “macros” klasörüne “M6.m1s” adıyla kaydedilir ve G-kodu içindeki M6 komutuyla tetiklenir.

Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır? Nedir?

 

Mach3, CNC makineleri için popüler bir kontrol yazılımıdır ve otomatik takım değiştirme (ATC) yeteneği, üretim verimliliğini önemli ölçüde artıran kritik bir özelliktir. Bu sistemin kalbinde, M6 G-kodu çağrıldığında yürütülen özel bir makro olan M6 makrosu bulunur. Bu makro, makinenin takım değiştirme işlemini otomatik olarak gerçekleştirmesi için gerekli tüm adımları programatik olarak tanımlar. Kullanıcının manuel müdahalesine gerek kalmadan, farklı takımlar arasında sorunsuz geçişi sağlar.

M6 makrosu, aslında bir VBScript (Visual Basic Script) dosyasıdır ve Mach3’ün “macros” klasöründe “M6.m1s” adıyla saklanır. Bir G-kodu programında “M6 T[takım_numarası]” komutuyla karşılaşıldığında, Mach3 bu VBScript dosyasını çalıştırır. Makronun temel amacı, istenen takım ile mevcut takım arasındaki farkı algılamak ve ardından makineyi güvenli bir şekilde yeni takımı yüklemeye hazırlamaktır. Bu süreç, iş milini durdurmayı, Z eksenini takım değiştirme pozisyonuna getirmeyi, takım tutucuyu serbest bırakmayı, yeni takımı almayı, tutucuyu kilitlemeyi ve son olarak yeni takımın ofsetlerini yükleyerek iş milini tekrar çalıştırmayı içerir. Makro, makinenin donanımına ve takım değiştirme mekanizmasının türüne göre özelleştirilir, bu da her uygulamanın kendine özgü bir M6 makrosuna sahip olmasını gerektirir. Doğru yazılmış bir M6 makrosu, sadece verimliliği artırmakla kalmaz, aynı zamanda operatör hatalarını azaltarak ve takım hasarını önleyerek güvenliği de maksimize eder.

Çalışma Prensibi ve Teknik Veriler

M6 makrosunun çalışma prensibi, bir dizi ardışık ve mantıksal adımı takip eden bir otomasyon döngüsüne dayanır. Makro, Mach3’ün sunduğu dahili VBScript fonksiyonlarını ve G-kodu komutlarını kullanarak makine donanımıyla etkileşime girer. İşte tipik bir M6 makrosunun temel akışı ve teknik detayları:

  1. Takım Numaralarını Alma: Makro, ilk olarak GetSelectedTool() fonksiyonu ile G-kodunda istenen yeni takım numarasını (T kodu ile belirtilen) alır. Ardından, GetCurrentTool() fonksiyonu ile iş milinde halihazırda takılı olan takımın numarasını öğrenir.
  2. Durum Kontrolü: Eğer GetSelectedTool() değeri ile GetCurrentTool() değeri aynıysa, yani istenen takım zaten iş milindeyse, makro genellikle sadece takım ofsetlerini yeniden yükler (Call LoadTool(Tool)) ve işleme devam eder. Bu, gereksiz bir takım değişimini önler.
  3. İş Mili ve Hareket Kontrolü: Eğer takımlar farklıysa, gerçek takım değiştirme süreci başlar.
    • Call StopSpindle() veya DoOEMButton(1001) komutuyla iş mili durdurulur (OEM kodu 1001, “Spindle Off” düğmesini simüle eder).
    • Code "M5" ve Code "M9" komutlarıyla iş mili ve soğutma sıvısı tamamen kapatılır.
    • Code "G0 G53 Z0" veya makineye özel bir güvenli Z pozisyonuna hızlı hareket komutu verilir. G53 komutu, makine koordinat sistemini kullanarak mutlak bir pozisyona gitmeyi sağlar, bu da takım uzunluğundan bağımsız olarak her zaman güvenli bir yükseklik sağlar. Bazı sistemlerde X ve Y eksenleri de takım değiştirme pozisyonuna hareket ettirilir (örn. Code "G0 G53 X[ATC_X] Y[ATC_Y]").
  4. Takım Değiştirme Mekanizmasının Kontrolü: Burası makineye özgü en kritik bölümdür.
    • Eski Takımı Bırakma: Genellikle bir OEMButton çağrısı veya doğrudan bir Output kontrolü ile takım tutucunun kelepçesi serbest bırakılır (örn. ActivateSignal(OUTPUT1)). Bu, pnömatik veya hidrolik bir silindiri tetikleyebilir. Gerekirse, mekanik bir kolun veya sensörün hareketi için yeterli zaman tanımak üzere Code "G4 P1" (1 saniye bekleme) gibi bir gecikme eklenir.
    • Yeni Takımı Alma: Makine, takım magazindeki yeni takımın konumuna hareket eder. Bu genellikle daha önceden tanımlanmış bir G-kodu dizisi veya makro içi hareket komutları ile yapılır. Yeni takım, iş mili tarafından alınır.
    • Yeni Takımı Kilitleme: Takım tutucunun kelepçesi kapatılır (örn. DeActivateSignal(OUTPUT1) veya farklı bir OEMButton). Yine, güvenli kilitlenme için bir gecikme (G4 Px) önemlidir.
  5. Takım Bilgilerini Güncelleme:
    • SetCurrentTool(Tool) fonksiyonu ile Mach3’e iş milinde artık hangi takımın takılı olduğu bildirilir.
    • Call LoadTool(Tool) fonksiyonu ile yeni takımın uzunluk ve çap ofsetleri (tool table’dan) otomatik olarak yüklenir. Bu, işleme devam ederken doğru koordinatların kullanılmasını sağlar.
  6. İşleme Devam Etme:
    • Code "M3 S" & GetRPM() komutuyla iş mili, önceki programda belirtilen hızda tekrar çalıştırılır. (GetRPM() mevcut iş mili hızını alır).
    • Code "M8" ile soğutma sıvısı tekrar açılır.
    • Code "G4 P1" gibi bir gecikme, iş milinin tam hıza ulaşması için zaman tanır.
    • Makro sona erdiğinde, Mach3 G-kodu programının kaldığı yerden devam eder.
ParametreDeğer/Açıklama
Makro DiliVBScript
Makro Dosya AdıM6.m1s (Mach3 ana dizini/macros klasöründe)
Tetikleleyici KomutG-kodunda M6 T[takım_numarası]
Ana FonksiyonlarGetSelectedTool(), GetCurrentTool(), SetCurrentTool(), LoadTool(), Code "...", DoOEMButton()
Gerekli DonanımATC İş Mili, Takım Magazini/Carousel, Pnömatik/Hidrolik Aktüatörler, Sensörler (opsiyonel)
Kritik G-KodlarıG0 (Hızlı Hareket), G53 (Makine Koordinatları), M3/M4/M5 (İş Mili Kontrolü), M8/M9 (Soğutma Kontrolü), G4 (Bekleme)
Güvenlik MekanizmalarıE-Stop Entegrasyonu, Mekanik Kilitler, Sensörlü Doğrulama
Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır?

Sahada Dikkat Edilmesi Gerekenler

  • Güvenlik Önlemleri ve E-Stop Entegrasyonu: Otomatik takım değiştirme sistemleri, hareketli parçalar ve yüksek güç içerdiğinden ciddi güvenlik riskleri taşır. M6 makrosunu yazarken ve test ederken, her zaman E-Stop (Acil Durdurma) butonu erişilebilir olmalı ve makronun herhangi bir aşamasında E-Stop’un makineyi güvenli bir şekilde durdurduğundan emin olunmalıdır. Takım değiştirme alanı, personel için her zaman tehlikeli bölge olarak kabul edilmeli ve gerekli güvenlik bariyerleri veya ışık perdeleri gibi önlemler alınmalıdır. Makro içinde, olası bir hata durumunda makineyi güvenli bir duruma getirecek kod blokları (örneğin, zaman aşımı kontrolü) düşünülmelidir.
  • Takım Ofset Yönetimi ve Kalibrasyon: M6 makrosunun en kritik işlevlerinden biri, doğru takım ofsetlerini yüklemektir. Takım boyu ve çap ofsetleri, işlenen parçanın boyut doğruluğu için hayati öneme sahiptir. Bu ofsetlerin doğru bir şekilde ölçülmesi, Mach3’ün takım tablosuna (Tool Table) girilmesi ve güncel tutulması şarttır. Takım sensörleri veya prob sistemleri kullanarak otomatik takım boyu ölçümü, bu süreci otomatikleştirebilir ve insan hatasını minimize edebilir. Makro, LoadTool(Tool) komutuyla bu ofsetleri her takım değişiminde doğru bir şekilde çağırdığından emin olmalıdır. Periyodik kalibrasyonlar, sistemin uzun vadeli doğruluğunu garanti eder.
  • Mekanik Hassasiyet ve Tekrarlanabilirlik: Otomatik takım değiştirme mekanizmasının mekanik hassasiyeti ve tekrarlanabilirliği, sistemin genel performansı için temeldir. Takım tutucuların iş miline her seferinde aynı konumda ve aynı kuvvetle kenetlendiğinden emin olunmalıdır. Magazindeki takım yuvalarının konumu, iş milinin takım alma pozisyonuna göre milimetrik hassasiyetle ayarlanmalıdır. Herhangi bir boşluk, aşınma veya hizalama hatası, takım değişiminde arızalara veya takım hasarına yol açabilir. Düzenli mekanik kontroller, yağlama ve ayar işlemleri bu hassasiyetin korunması için elzemdir.
  • Sensör Entegrasyonu ve Hata Denetimi: Gelişmiş M6 makroları, takım değiştirme sürecini denetlemek ve hataları tespit etmek için çeşitli sensörlerden gelen geri bildirimleri kullanır. Örneğin, takımın iş miline doğru şekilde kenetlendiğini veya serbest bırakıldığını doğrulayan basınç sensörleri veya yakınlık sensörleri entegre edilebilir. Takım magazindeki takımın varlığını veya doğru yuvada olup olmadığını kontrol eden sensörler de kullanılabilir. Bu sensörler, makroya eklenen koşullu ifadeler (If...Then...Else) aracılığıyla hata durumlarını algılayabilir ve operatörü uyarabilir veya makineyi güvenli bir şekilde durdurabilir. Bu tür geri bildirimler, sistemin güvenilirliğini ve otonomluğunu artırır.
  • Pnömatik/Hidrolik Sistem Kontrolü: Çoğu otomatik takım değiştirme sistemi, takım tutucuyu sıkmak ve gevşetmek için pnömatik veya hidrolik silindirler kullanır. M6 makrosu, bu sistemleri kontrol eden solenoid valfleri doğru bir şekilde tetiklemelidir. Valflerin açılma/kapanma süreleri, basınç seviyeleri ve hava/hidrolik akış hızları, takım değişiminin sorunsuz ve hızlı gerçekleşmesi için optimize edilmelidir. Yetersiz basınç veya yavaş tepki veren valfler, takımın düşmesine veya sıkışmasına neden olabilir. Makro içinde bu işlemler için yeterli bekleme süreleri (G4 Px) eklemek ve sistem basıncını düzenli olarak kontrol etmek önemlidir.
Mach3 ile Otomatik Takım Değiştirme Sistemi İçin M6 Makrosu Nasıl Yazılır?

Sık Karşılaşılan Sorunlar ve Çözümleri

M6 makrosu yazımı ve kullanımı sırasında karşılaşılabilecek bazı yaygın sorunlar ve bunların çözümleri aşağıda listelenmiştir:

  • Takım Değişimi Gerçekleşmiyor veya Yanlış Takım Yükleniyor:
    • Sorun: Makro çalışıyor gibi görünse de takım değişmiyor veya istenen takım yerine başka bir takım yükleniyor.
    • Olası Nedenler: GetSelectedTool() veya GetCurrentTool() fonksiyonları yanlış değerler döndürüyor olabilir. SetCurrentTool() komutu eksik veya yanlış kullanılıyor. Takım magazini ile Mach3’ün takım tablosu arasında numara eşleşmezliği var. Mekanik bir sıkışma veya sensör hatası.
    • Çözüm: Makro içindeki MsgBox komutlarını kullanarak bu fonksiyonların döndürdüğü değerleri kontrol edin. Mach3’ün Tool Table’ındaki takım numaralarının fiziksel magazindeki numaralarla eşleştiğinden emin olun. Makro adımlarını tek tek gözden geçirerek mekanik hareketleri ve sensör tepkilerini doğrulayın.
  • İş Mili Durmuyor veya Başlamıyor:
    • Sorun: Takım değişimi sırasında iş mili durmuyor, bu da tehlikeli durumlara yol açıyor, ya da yeni takım yüklendikten sonra iş mili tekrar başlamıyor.
    • Olası Nedenler: Call StopSpindle() veya DoOEMButton(1001) komutları doğru çalışmıyor. Mach3’ün Ports & Pins -> Spindle Setup bölümündeki ayarlar yanlış. İş mili sürücüsüne giden sinyal kablolarında sorun var.
    • Çözüm: Mach3’ün Spindle Setup ayarlarını kontrol edin, M3/M5 komutlarının doğru çıkış sinyallerini tetiklediğinden emin olun. İş milini manuel MDI (Manual Data Input) komutlarıyla (M3 S1000, M5) test edin. Makroya G4 Px komutları ekleyerek iş milinin durması veya hızlanması için yeterli zaman tanıyın.
  • Z Ekseni Çarpışması veya Takım Düşmesi:
    • Sorun: Takım değiştirme sırasında Z ekseni tezgah veya iş parçasıyla çarpışıyor, veya takım değiştirme sırasında takım iş milinden düşüyor.
    • Olası Nedenler: Güvenli Z yüksekliği (G53 Z0 veya benzeri) yanlış ayarlanmış. Takım ofsetleri yanlış girilmiş veya yüklenmemiş. Takım tutucu kelepçesi yeterince sıkı değil veya zamanlama yanlış.
    • Çözüm: Makro içindeki güvenli Z pozisyonunu dikkatlice ayarlayın ve test edin. Özellikle G53 kullanarak makine koordinatlarında güvenli bir noktaya gidildiğinden emin olun. Takım tablosundaki tüm takım boyu ofsetlerinin doğru olduğundan ve LoadTool(Tool) komutunun çalıştığından emin olun. Takım kelepçeleme mekanizmasının basıncını ve zamanlamasını kontrol edin, gerekirse G4 Px ile gecikmeyi artırın.
  • VBScript Hataları veya Makro Çalışmıyor:
    • Sorun: Makro hiç çalışmıyor veya Mach3 bir VBScript hatası veriyor (Syntax Error, Object Required vb.).
    • Olası Nedenler: Makro dosyası (M6.m1s) yanlış klasörde (Mach3/macros/<profil_adı>). VBScript sözdizimi hataları, yanlış Mach3 fonksiyon çağrıları.
    • Çözüm: M6.m1s dosyasının doğru profil klasöründe olduğundan emin olun. Mach3’ün “Operator” menüsünden “Edit M6.m1s” seçeneğini kullanarak makroyu açın ve VBScript sözdizimini kontrol edin. Mach3 hata ayıklayıcısını (Debugger) kullanarak adımları takip edin. Küçük parçalar halinde test ederek hatanın nerede olduğunu bulun.
  • Takım Değişimi Çok Yavaş veya Çok Hızlı:
    • Sorun: Takım değiştirme işlemi gereğinden uzun sürüyor veya bazı mekanik hareketler yeterli zaman bulamadan diğer adıma geçiyor.
    • Olası Nedenler: Yetersiz veya fazla G4 Px (bekleme) komutları. Mekanik sistemlerde sürtünme veya aşınma.
    • Çözüm: Makro içindeki G4 Px komutlarının sürelerini optimize edin. Özellikle pnömatik/hidrolik aktivasyonlar ve iş mili hızlanması/yavaşlaması için yeterli süre tanındığından emin olun. Mekanik sistemleri kontrol ederek sürtünmeyi azaltın veya aşınmış parçaları değiştirin.

Uzman Tavsiyesi

Mach3 ile otomatik takım değiştirme (ATC) sistemleri için M6 makrosu yazmak, CNC otomasyonunda verimlilik ve hassasiyetin anahtarıdır. Bu makro, makinenizin karmaşık takım değiştirme sürecini sorunsuz, güvenli ve tekrarlanabilir bir şekilde yönetmesini sağlayan bir beyin görevi görür. Doğru uygulandığında, manuel müdahaleyi minimuma indirir, üretim sürelerini kısaltır ve operatör hatalarını önemli ölçüde azaltır. Ancak, bu sistemin başarısı, makronun ne kadar dikkatli bir şekilde tasarlandığına, makinenin mekanik özelliklerine ne kadar iyi entegre edildiğine ve güvenlik protokollerinin ne kadar titizlikle uygulandığına bağlıdır.

Uzman tavsiyesi olarak, M6 makrosu geliştirme sürecine başlarken adım adım ilerlemek hayati önem taşır. Öncelikle, makinenizin fiziksel takım değiştirme mekanizmasını ve çalışma prensibini tam olarak anlamanız gerekmektedir. Hangi çıkışların hangi aktüatörleri kontrol ettiğini, hangi girişlerin sensör geri bildirimlerini sağladığını net bir şekilde belirleyin. Makroya başlamadan önce, her bir mekanik hareketi (iş mili durdurma, kelepçeleme/kelepçe açma, Z ekseni hareketi vb.) Mach3’ün MDI ekranından veya manuel kontrollerle ayrı ayrı test ederek doğru çalıştıklarından emin olun. Makro kodunu yazarken, küçük, test edilebilir bloklar halinde çalışın. Örneğin, önce sadece iş milini durdurup güvenli Z’ye gitme kısmını test edin, ardından takım kelepçeleme mekanizmasını ekleyin. Her adımı titizlikle doğrulayın.

Güvenlik her zaman en öncelikli konu olmalıdır. Makro içindeki her hareketin potansiyel risklerini değerlendirin ve olası çarpışmaları, takım düşmelerini veya operatör yaralanmalarını önlemek için gerekli tüm önlemleri alın. E-Stop entegrasyonu, sensör geri bildirimleri ve makroya entegre edilmiş hata denetimi, sistemin güvenilirliğini artıracaktır. Ayrıca, takım ofsetlerinin doğru bir şekilde yönetilmesi ve düzenli kalibrasyon, işlenen parçaların kalitesi için vazgeçilmezdir.

Son olarak, M6 makrosu, makinenizin benzersiz gereksinimlerine göre özelleştirilmelidir. İnternet üzerindeki örnek makrolar bir başlangıç noktası olabilir, ancak kopyala-yapıştır yapmak yerine, kendi makinenizin donanımına ve mantığına uygun olarak uyarlamanız şarttır. Gerekirse, bir profesyonelden destek almak veya Mach3 topluluklarından faydalanmak, karşılaşılan zorlukların aşılmasına yardımcı olabilir. Kapsamlı testler ve sürekli optimizasyon ile, Mach3 tabanlı CNC makineniz için verimli, güvenli ve sorunsuz çalışan bir otomatik takım değiştirme sistemi oluşturabilirsiniz. Bu, sadece üretim kapasitenizi artırmakla kalmayacak, aynı zamanda işletmenizin rekabet gücünü de önemli ölçüde yükseltecektir.

⚙ Araçlar