Cnc Router imalatı

Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir?

9 dk okuma Mermak CNC Teknik İçerik
Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir?
İçindekiler
  1. Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir? 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

Mach4’te manuel takım değiştirme sırasında operatöre jog izni verip ardından prob döngüsüne devam etmek için, M6 takım değiştirme makrosunu (genellikle M6Start.mcs veya M6End.mcs) özelleştirmeniz gerekir. Bu makro içinde, takım değişim noktasında mc.mcCntlSetJogEnable(true) komutunu kullanarak jog modunu etkinleştirip operatörün müdahalesini bekleyebilir, ardından mc.mcCntlSetJogEnable(false) ile jogu devre dışı bırakıp mc.mcCntlM6Complete() ile takım değişimini tamamladıktan sonra prob döngüsünü tetikleyebilirsiniz.

Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir? Nedir?

 

Endüstriyel otomasyon ve CNC işleme dünyasında, Mach4 gibi gelişmiş kontrol yazılımları, operatörlere işleme süreçleri üzerinde yüksek derecede esneklik sunar. Özellikle manuel takım değiştirme (MTC) gerektiren durumlarda, takımın doğru bir şekilde konumlandırılması ve ardından hassas bir prob döngüsü ile sıfırlanması kritik öneme sahiptir. Standart Mach4 konfigürasyonunda, M6 takım değiştirme döngüsü sırasında makine genellikle durur ve operatöre hareket (jog) izni vermez. Bu durum, özellikle takımın manuel olarak ayarlanması, talaş temizliği veya görsel kontrol gibi işlemler gerektiğinde operatörün işini zorlaştırır. Bu teknik makale, Mach4’ün güçlü Lua scripting yeteneklerini kullanarak M6 makrosunu nasıl özelleştireceğinizi, takım değişimi sırasında operatöre jog izni nasıl vereceğinizi ve bu işlemden sonra bir prob döngüsünü sorunsuz bir şekilde nasıl devam ettireceğinizi detaylandırmaktadır. Amaç, hem işleme verimliliğini artırmak hem de operatör güvenliğini ve kontrolünü en üst düzeye çıkarmaktır. Bu yaklaşım, özellikle prototipleme, tek parça üretim veya sık takım değişimi gerektiren karmaşık işlerde büyük avantajlar sağlar.

Çalışma Prensibi ve Teknik Veriler

Mach4’te manuel takım değiştirme süreci, genellikle M6 G-kodu ile tetiklenir. M6 kodu, Mach4’ün yüklü olduğu dizindeki “Macros” klasöründe bulunan M6Start.mcs veya M6End.mcs adlı Lua script’ini çağırır. Bu script’ler, takım değişiminin nasıl gerçekleşeceğini tanımlar. Varsayılan olarak, bu makrolar makineyi durdurur ve operatörün manuel müdahalesini bekler, ancak jog izni vermez. Jog izni vermek ve ardından prob döngüsünü devam ettirmek için bu makroları özelleştirmemiz gerekmektedir.

Çalışma Prensibi:

  1. M6 Komutu Tetiklenir: G-kod programında bir M6 komutu geldiğinde, Mach4 ilgili M6 makrosunu (örneğin, M6Start.mcs) çağırır.
  2. Makro Başlangıcı: Makro, genellikle mevcut işleme pozisyonunu kaydeder, mili durdurur (mc.mcSpindleSetOnOff(0)), soğutmayı kapatır ve makineyi güvenli bir takım değiştirme pozisyonuna hareket ettirir (örneğin, G53 G0 X0 Y0 Z0).
  3. Operatöre Jog İzni Verilmesi: Bu noktada, makro mc.mcCntlSetJogEnable(true) komutunu kullanarak operatöre jog izni verir. Ayrıca, operatöre yeni takımı takmasını ve gerekirse manuel olarak pozisyonlama yapmasını bildiren bir mesaj (mc.mcCntlSetUserLED(LED_ID, 1) veya mc.mcCntlSetStatusBarText()) gösterilebilir.
  4. Operatör Onayı Bekleme: Makro, operatörün işlemi tamamladığını ve devam etmek istediğini belirten bir giriş beklemelidir. Bu genellikle bir ekran düğmesine tıklama (mc.mcCntlGetButtonState() veya bir User LED’in durumu) veya fiziksel bir buton basımı ile sağlanır.
  5. Jog İzninin Kaldırılması: Operatör onayladığında, makro mc.mcCntlSetJogEnable(false) ile jog iznini kaldırır ve makineyi tekrar otomatik kontrole alır.
  6. Takım Değişiminin Tamamlanması: Yeni takımın takıldığı varsayıldığında, mc.mcCntlM6Complete() fonksiyonu çağrılarak Mach4’e takım değişiminin bittiği bildirilir. Bu, Mach4’ün program akışına devam etmesini sağlar.
  7. Prob Döngüsünün Başlatılması: Takım değişimi tamamlandıktan hemen sonra, Lua makrosu içinden veya G-kod programına eklenen bir altprogram çağrısı ile prob döngüsü başlatılır. Prob döngüsü genellikle G31 komutunu kullanarak takım boyu veya iş parçası sıfırı ölçümü yapar. Örneğin, mc.mcCntlGcodeExecute(“G31 Z-10 F100”) gibi bir komut kullanılabilir.
  8. Prob Sonuçlarının İşlenmesi: Prob döngüsü tamamlandığında, makro prob sonuçlarını alır (mc.mcCntlGetProbePos()) ve takım ofsetlerini (mc.mcToolSetToolOffset()) veya iş parçası sıfırını (mc.mcWorkOffsetSet()) günceller.
  9. Programın Devamı: En son olarak, makro programın kaldığı yerden devam etmesini sağlar.

Teknik Veriler ve Lua Fonksiyonları:

  • M6Start.mcs / M6End.mcs: Takım değiştirme makroları. Bu dosyalar, Mach4 kurulum dizininin altındaki ‘Profiles/[Profil Adı]/Macros’ klasöründe bulunur. Gelişmiş kontrol için genellikle M6Start.mcs kullanılır.
  • mc.mcCntlSetJogEnable(boolean state): Jog modunu etkinleştirir (true) veya devre dışı bırakır (false). Bu, operatörün klavye veya joystick ile eksenleri hareket ettirmesini sağlar.
  • mc.mcCntlSetJogMode(number mode): Jog modunu belirler (örneğin, sürekli jog, adım adım jog). Ancak, jog izni için `SetJogEnable` daha kritiktir.
  • mc.mcCntlM6Complete(): Mach4’e manuel takım değişiminin tamamlandığını bildirir. Bu fonksiyon çağrılmadığında Mach4, M6 durumunda takılı kalır.
  • mc.mcCntlSetUserLED(number LED_ID, boolean state): Kullanıcı arayüzündeki bir LED’i yakar veya söndürür. Operatöre durum hakkında bilgi vermek için kullanılabilir.
  • mc.mcCntlSetStatusBarText(string text): Durum çubuğunda bir mesaj gösterir. Operatöre talimat vermek için idealdir.
  • mc.mcCntlGcodeExecute(string gcode): Lua makrosu içinden G-kod komutlarını yürütür. Prob döngüsünü (G31) başlatmak için kullanılır.
  • mc.mcCntlGetProbePos(): Son prob vuruşunun koordinatlarını döndürür.
  • mc.mcToolSetToolOffset(number tool_number, number axis, number offset_value): Belirli bir takımın ofsetini ayarlar.
  • mc.mcWorkOffsetSet(number offset_number, number axis, number offset_value): Belirli bir iş parçası sıfırını (G54, G55 vb.) ayarlar.
  • wx.wxMessageBox(“Mesajınız”, “Başlık”, wx.wxOK): Operatöre bir pop-up mesaj kutusu gösterir ve onay bekler. Bu, operatörün manuel işlemi tamamladığını doğrulamak için etkili bir yöntemdir.
ParametreDeğer/Açıklama
M6 Makro DosyasıM6Start.mcs (Önerilen), M6End.mcs
Jog Etkinleştirme Fonksiyonumc.mcCntlSetJogEnable(true)
Jog Devre Dışı Bırakma Fonksiyonumc.mcCntlSetJogEnable(false)
Takım Değişimi Tamamlama Fonksiyonumc.mcCntlM6Complete()
Prob G-KoduG31 (Tek yönlü prob), G31.x (Çeşitli prob tipleri)
Prob Hızı (F değeri)Genellikle 50-200 mm/dak (makineye ve prob hassasiyetine bağlı)
Prob Sonucu Alma Fonksiyonumc.mcCntlGetProbePos()
Takım Ofseti Ayarlamamc.mcToolSetToolOffset(tool_num, axis, offset_val)
Kullanıcı Mesajı Fonksiyonuwx.wxMessageBox() veya mc.mcCntlSetStatusBarText()
Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir?

Sahada Dikkat Edilmesi Gerekenler

  • Güvenlik Protokolleri ve Acil Durum Durdurma (E-Stop): Herhangi bir manuel müdahale sırasında güvenlik en önemli önceliktir. Makine mili durdurulmalı, soğutma kapatılmalı ve mümkünse işleme alanına erişim fiziksel olarak engellenmelidir. Operatörün her zaman E-Stop düğmesine kolayca erişebildiğinden emin olun. Jog sırasında beklenmedik hareketlere karşı hazırlıklı olun. Makro içinde mili kapatmak için mc.mcSpindleSetOnOff(0) komutunu kullanmayı unutmayın.
  • Makro Testi ve Hata Ayıklama (Debugging): Özelleştirilmiş M6 makrosunu gerçek bir üretim ortamında kullanmadan önce kapsamlı bir şekilde test edin. İlk testleri düşük hızlarda ve boşta (takım olmadan) yapın. Mach4’ün Lua hata ayıklayıcısını kullanarak makro akışını adım adım takip edin ve olası hataları tespit edin. Her fonksiyon çağrısının beklenen sonucu verdiğinden emin olun. print() fonksiyonunu kullanarak değişken değerlerini ve program akışını konsola yazdırabilirsiniz.
  • Operatör Arayüzü (GUI) Entegrasyonu: Operatöre jog izni verildiğini ve ne yapması gerektiğini açıkça bildiren görsel geri bildirimler sağlamak önemlidir. Özel bir “Takım Değiştirme Modunda” LED’i veya durum çubuğunda belirgin bir mesaj (mc.mcCntlSetStatusBarText()) kullanın. Operatörün işlemi tamamladığını onaylaması için Mach4 ekranında bir düğme veya bir pop-up mesaj (wx.wxMessageBox()) kullanmak, makronun doğru zamanda devam etmesini sağlar.
  • Prob Kalibrasyonu ve Hassasiyeti: Prob döngüsüne geçmeden önce probun doğru şekilde kalibre edildiğinden ve güvenilir ölçümler sağladığından emin olun. Prob ucunun temizliği, bağlantılarının sağlamlığı ve probun tekrarlanabilirliği, doğru takım boyu veya iş parçası sıfırı ayarı için kritik öneme sahiptir. Prob hızı (G31 komutundaki F değeri), malzemenin sertliğine ve probun hassasiyetine göre dikkatlice ayarlanmalıdır. Çok hızlı prob, yanlış okumalara veya proba zarar vermeye neden olabilir.
  • Takım Ofset Yönetimi: Yeni takım takıldıktan ve prob döngüsü tamamlandıktan sonra, Mach4’ün takım tablosundaki ilgili takım ofsetlerinin doğru bir şekilde güncellendiğinden emin olun. Eğer takım boyu ölçümü yapılıyorsa, mc.mcToolSetToolOffset() fonksiyonu ile Z ekseni ofsetini güncelleyin. Eğer iş parçası sıfırı ölçülüyorsa, mc.mcWorkOffsetSet() ile G54/G55 gibi ofsetleri ayarlayın. Ofsetlerin doğru uygulanması, işleme hassasiyeti için temeldir.
  • Makine Sınırları ve Kinematik: Takım değiştirme ve prob döngüsü sırasında makinenin hareketlerinin güvenli sınırlar içinde kaldığından emin olun. Makro içinde kullanılan G0/G1 hareket komutlarının (örneğin, güvenli takım değiştirme pozisyonuna gitme) makine limitlerini aşmadığından emin olun. Özellikle prob döngüsünde, probun iş parçasına veya mengeneye çarpmasını önlemek için güvenli başlangıç koordinatları ve hareket mesafeleri belirleyin.
Mach4’te Manual Tool Change Yaparken Operatöre Jog İzni Verilip Sonra Probe Döngüsüne Nasıl Devam Edilir?

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

Bu tür özelleştirmeler yaparken karşılaşılabilecek bazı yaygın sorunlar ve bunların çözümleri şunlardır:

  • Makro Hiç Çalışmıyor veya Hata Veriyor:
    • Sorun: M6 komutu verildiğinde hiçbir şey olmuyor veya Mach4 bir Lua hatası gösteriyor.
    • Çözüm: Makro dosyasının (M6Start.mcs) doğru dizinde olduğundan (Profiles/[Profil Adı]/Macros) ve adının doğru olduğundan emin olun. Lua kodunda sözdizimi hataları olup olmadığını kontrol edin. Mach4’ün “Diagnostics” veya “Console” penceresinde hata mesajlarını inceleyin. Genellikle noktalı virgül eksikliği, yanlış fonksiyon adı veya değişken tanımlama hataları bu duruma yol açar.
  • Jog İzni Verilmiyor veya Devre Dışı Bırakılamıyor:
    • Sorun: Makro jog izni vermesine rağmen operatör makineyi hareket ettiremiyor veya işlem bittikten sonra jog modundan çıkılamıyor.
    • Çözüm: mc.mcCntlSetJogEnable(true) komutunun doğru yerde ve doğru parametre ile çağrıldığından emin olun. Mach4’ün genel ayarlarında jog yeteneklerinin kısıtlı olup olmadığını kontrol edin. Bazı güvenlik interlock’ları jogu engelleyebilir. Devre dışı bırakma sorunu için, mc.mcCntlSetJogEnable(false) komutunun operatör onayından sonra kesinlikle çağrıldığından emin olun.
  • Prob Döngüsü Başlamıyor veya Yanlış Sonuç Veriyor:
    • Sorun: Takım değişimi sonrası prob döngüsü tetiklenmiyor veya prob yanlış bir noktayı ölçüyor.
    • Çözüm: mc.mcCntlGcodeExecute(“G31 Z-10 F100”) gibi prob komutunun doğru ve eksiksiz olduğundan emin olun. Probun fiziksel bağlantılarını ve çalışır durumda olup olmadığını kontrol edin. Probun kalibre edildiğinden ve prob pininin Mach4’te doğru giriş pinine atandığından emin olun. G31 komutundan önce probun iş parçasının veya takımın üzerine güvenli bir şekilde konumlandığından emin olmak için G0/G1 hareketlerini ekleyin.
  • Takım Ofsetleri Güncellenmiyor veya Hatalı:
    • Sorun: Prob döngüsü sonrası takım ofsetleri veya iş parçası sıfırı doğru şekilde güncellenmiyor, bu da yanlış işlemeye yol açıyor.
    • Çözüm: mc.mcToolSetToolOffset() veya mc.mcWorkOffsetSet() fonksiyonlarının prob sonuçlarını doğru bir şekilde kullandığından emin olun. Prob vuruş pozisyonu (mc.mcCntlGetProbePos()) ile hesaplanan ofset değeri arasındaki matematiksel işlemleri dikkatlice kontrol edin. Örneğin, takım boyunu hesaplarken prob vuruş pozisyonundan referans takımın boyunu çıkarmak gerekebilir.
  • Operatör Onayı Bekleme Sorunları:
    • Sorun: Makro, operatörün onayını sonsuza kadar bekliyor veya hiç beklemiyor.
    • Çözüm: wx.wxMessageBox() kullanıyorsanız, operatörün “OK” düğmesine basmasını bekler. Eğer bir User LED veya buton durumu kontrol ediyorsanız (örneğin, while mc.mcCntlGetUserLED(LED_ID) == 0 do mc.mcCntlSleep(100) end), LED’in veya butonun doğru şekilde çalıştığından ve operatörün onu tetikleyebildiğinden emin olun. Bir zaman aşımı (timeout) mekanizması eklemek, sonsuz beklemeyi önleyebilir.

Uzman Tavsiyesi

Mach4’te manuel takım değiştirme sırasında operatöre jog izni vermek ve ardından otomatik prob döngüsüne devam etmek, modern CNC işleme süreçlerinde verimliliği ve hassasiyeti artıran kritik bir özelliktir. Bu yetenek, operatörün yeni takımı daha güvenli ve doğru bir şekilde ayarlamasına olanak tanırken, prob döngüsü ile de takım boyu veya iş parçası sıfırı gibi kritik parametrelerin otomatik ve hatasız bir şekilde güncellenmesini sağlar. Bu, özellikle karmaşık parçaların üretiminde, prototipleme aşamalarında ve düşük hacimli üretimlerde manuel müdahalenin kaçınılmaz olduğu durumlarda büyük avantajlar sunar.

Bu süreci başarıyla uygulamak için, Mach4’ün Lua scripting yeteneklerine hakim olmak ve M6Start.mcs veya M6End.mcs makrolarını dikkatlice özelleştirmek gereklidir. mc.mcCntlSetJogEnable(true) ile jog izni vermek, wx.wxMessageBox() veya mc.mcCntlSetStatusBarText() ile operatörü yönlendirmek ve mc.mcCntlM6Complete() ile takım değişimini tamamlamak temel adımlardır. Ardından, mc.mcCntlGcodeExecute(“G31…”) ile prob döngüsünü tetiklemek ve mc.mcToolSetToolOffset() ya da mc.mcWorkOffsetSet() ile ofsetleri güncellemek süreci tamamlar. Bu entegrasyon, operatörün iş yükünü azaltır, insan hatası potansiyelini düşürür ve genel işleme kalitesini artırır.

Uzman tavsiyesi olarak, bu tür sistem entegrasyonlarına başlamadan önce kapsamlı bir planlama yapmanızı öneririm. Makine kinematiklerini, güvenlik interlock’larını ve operatör iş akışını detaylıca analiz edin. Makronuzu her zaman kademeli olarak geliştirin ve her yeni özelliği ayrı ayrı test edin. Geliştirme sürecinde Mach4’ün konsolunu ve hata ayıklayıcısını aktif olarak kullanın. En önemlisi, gerçek bir üretim ortamına geçmeden önce tüm sistemi düşük hızlarda ve boşta kapsamlı bir şekilde test edin. Operatörlere yeni iş akışı hakkında detaylı eğitim verin ve geri bildirimlerini dikkate alarak makroda iyileştirmeler yapın. Unutmayın ki iyi tasarlanmış bir otomasyon çözümü, sadece verimliliği artırmakla kalmaz, aynı zamanda operatör güvenliğini ve memnuniyetini de önemli ölçüde yükseltir. Bu rehberdeki prensipleri uygulayarak, Mach4 sisteminizin potansiyelini tam olarak açığa çıkarabilir ve işleme süreçlerinizi bir üst seviyeye taşıyabilirsiniz.

⚙ Araçlar