Mach4’te Macro Çalışırken Kullanıcının Reset’e Basması Durumunda Makineyi Nasıl Güvenli Bırakırız?

📅 02 Eylül 2026⏱️ 17 dk okuma
📑 İçindekiler (Tıkla Aç)

Mach4’te bir makro çalışırken kullanıcının Reset’e basması durumunda makineyi güvenli bırakmak için, ekran setinize entegre edilmiş bir OnReset olay işleyicisi kullanmalısınız. Bu işleyici, tüm eksen hareketlerini, iş mili dönüşünü ve G-kodu yürütmesini anında durdurarak makineyi güvenli bir durağan konuma getirir. Ayrıca, makro içinde mc.IS_RESET_ACTIVE() kontrolleriyle daha esnek çıkışlar sağlanmalıdır.

Mach4’te Macro Çalışırken Kullanıcının Reset’e Basması Durumunda Makineyi Nasıl Güvenli Bırakırız? Nedir?

 

Endüstriyel otomasyon sistemlerinde ve CNC makinelerinde, bir işlemin ortasında beklenmedik durumlar veya hatalar meydana geldiğinde, operatörün müdahale etmesi gerekebilir. Bu müdahalelerden biri de, Mach4 kontrol yazılımında Reset düğmesine basmaktır. Reset düğmesi, genellikle mevcut işlemi durdurmak, hataları temizlemek ve makineyi yeniden başlatmaya hazırlamak için kullanılır. Ancak, bir makro (M-kod veya özel Lua betiği) çalışırken Reset’e basılması, makinenin durumunu belirsiz veya güvensiz bir hale getirebilir. Bu durum, potansiyel olarak iş parçasına zarar verebilir, takım kırılmasına yol açabilir, hatta makine bileşenlerinde arızalara neden olabilir. Bu nedenle, Mach4’te makro çalışırken Reset’e basılması durumunda makinenin güvenli bir şekilde durmasını ve potansiyel tehlikelerin önüne geçilmesini sağlamak kritik öneme sahiptir. Bu “güvenli bırakma” mekanizması, hem yazılımsal hem de donanımsal yaklaşımları içeren kapsamlı bir stratejidir ve makine, operatör ve iş parçası güvenliğini garanti altına almayı hedefler. Temel amaç, Reset sinyali alındığında, aktif olan tüm hareketleri, iş mili işlemlerini ve diğer çevresel birimleri kontrol altına alarak makineyi stabil ve emniyetli bir konuma getirmektir. Bu, Mach4’ün Lua tabanlı betikleme yetenekleri kullanılarak etkin bir şekilde yönetilebilir.

Çalışma Prensibi ve Teknik Veriler

Mach4, gelişmiş kontrol yetenekleri sunan ve Lua betik diliyle kapsamlı özelleştirmeye olanak tanıyan güçlü bir CNC yazılımıdır. Bir makro çalışırken Reset tuşuna basıldığında, Mach4’ün bu olayı nasıl işlediği ve makinenin nasıl güvenli bir duruma getirileceği, yazılımın esnekliğinden faydalanarak tasarlanmalıdır. Temel prensip, Reset olayını yakalamak ve bu olaya karşılık gelen bir dizi güvenlik protokolünü otomatik olarak tetiklemektir. Bu, genellikle Mach4’ün ekran setine entegre edilmiş özel bir Lua betiği aracılığıyla gerçekleştirilir.

Reset Olayı İşleyicisi (OnReset Handler):
Mach4’te, ekran setinizin “Screen Load Script” veya “Screen Script” bölümüne bir OnReset fonksiyonu tanımlayarak Reset olayına doğrudan müdahale edebilirsiniz. Bu fonksiyon, operatör Reset düğmesine bastığında veya yazılımsal bir Reset tetiklendiğinde otomatik olarak çalışır. Bu işleyici içinde, makinenin tüm kritik fonksiyonlarını durdurmak için Mach4 API (Uygulama Programlama Arayüzü) fonksiyonlarını kullanırız. Önemli API fonksiyonları şunlardır:

  • mc.mcCntlGcodeStop(): Aktif olarak yürütülen herhangi bir G-kodu programını derhal durdurur. Bu, makronun bir G-kodu programını çağırdığı durumlarda hayati öneme sahiptir.
  • mc.mcSpindleStop(): İş milinin dönmesini durdurur. Bu, dönen bir iş milinden kaynaklanabilecek yaralanmaları veya hasarları önler. Spindle durma süresi, kullanılan sürücüye ve motor tipine bağlı olarak değişebilir.
  • mc.mcAxisStopAll(): Tüm eksenlerin hareketini anında durdurur. Bu fonksiyon, ivmelenme/yavaşlama rampalarını kullanarak kontrollü bir duruş sağlamak yerine, mümkün olan en hızlı şekilde hareketleri keser.
  • mc.mcToolChangeClear(): Eğer makine bir takım değiştirme döngüsünün ortasındaysa, bu döngüyü temizler ve takım değiştirme durumunu sıfırlar.
  • mc.mcCoolantStop(): Soğutma sıvısı pompalarını durdurur.
  • mc.mcCntlSetLastError("Reset tuşuna basıldı ve makine güvenli duruma getirildi."): Operatöre veya bakım ekibine Reset olayının gerçekleştiğini ve makinenin güvenli bir duruma geçtiğini bildiren bir hata mesajı görüntüler.

Makro İçinde Reset Algılama:
Bazı karmaşık makrolar, uzun süreli döngüler veya kritik işlemler içerebilir. Bu tür durumlarda, sadece OnReset işleyicisi yeterli olmayabilir, çünkü makro hala kendi iç mantığını yürütmeye devam edebilir. Makroların daha “Reset-farkında” olması için, makro kodunun içine düzenli aralıklarla mc.IS_RESET_ACTIVE() fonksiyonunu kullanarak Reset durumunu kontrol eden ifadeler eklenmelidir. Bu fonksiyon, Mach4 Reset modundaysa true döner. Makro, bu durumu algıladığında, kendi içindeki döngüleri veya kritik adımları güvenli bir şekilde terk edebilir, açık kaynakları kapatabilir veya belirli bir durumu kaydedebilir.

Örneğin:


function myComplexMacro()
    -- Makro başlangıcı
    while someCondition do
        if mc.IS_RESET_ACTIVE() then
            -- Reset algılandı, güvenli çıkış işlemleri
            print("Makro Reset nedeniyle durduruluyor.")
            -- Gerekirse ek temizlik veya durum kaydetme
            return
        end
        -- Makronun normal işleyişi
        mc.mcCntlGcodeExecute("G0 X10 Y10")
        os.sleep(0.5)
    end
    -- Makro sonu
end

Durum Yönetimi ve Kalıcılık:
Reset durumunda makronun nerede kaldığını bilmek, özellikle kesintiye uğrayan bir işlemi daha sonra devam ettirmek veya hata ayıklamak için önemlidir. Makro içinde kritik adımların tamamlandığını veya bir sonraki adıma geçildiğini gösteren durum değişkenleri (örneğin, Mach4’ün OEM DRO‘ları veya OEM LED‘leri) kullanılarak bu bilgiler saklanabilir. Bu veriler, Mach4 kapatılıp açılsa bile kalıcı olabilir ve bir sonraki başlatmada makinenin son bilinen güvenli durumunu geri yüklemeye yardımcı olabilir.

Donanımsal Emniyet Sistemleri ile Entegrasyon:
Unutulmamalıdır ki, yazılımsal Reset olayları, donanımsal Acil Durdurma (E-Stop) sistemlerinin yerini almaz. E-Stop, genellikle tüm motor güçlerini kesen ve makineyi anında durduran bağımsız bir güvenlik devresidir. Yazılımsal Reset, daha kontrollü bir duruş sağlamak için kullanılırken, E-Stop en üst düzeyde can ve mal güvenliğini sağlamak için tasarlanmıştır. Güvenli bir sistemde her iki mekanizma da eksiksiz ve doğru bir şekilde çalışmalıdır.

Bu teknik yaklaşımların birleşimi, Mach4 tabanlı bir CNC makinesinin, makro çalışırken Reset tuşuna basılması durumunda dahi güvenli, kontrol edilebilir ve öngörülebilir bir duruma geçmesini sağlar. Bu, hem operatör güvenliğini artırır hem de pahalı makine ve iş parçası hasarlarını önler.

Parametre Değer/Açıklama
Kontrol Yazılımı Mach4 (Lua Betik Dili Destekli)
Temel Güvenlik Mekanizması OnReset Olay İşleyicisi (Screen Script içinde)
Makro İçi Reset Algılama mc.IS_RESET_ACTIVE() fonksiyonu
G-Kodu Durdurma Fonksiyonu mc.mcCntlGcodeStop()
İş Mili Durdurma Fonksiyonu mc.mcSpindleStop()
Eksen Durdurma Fonksiyonu mc.mcAxisStopAll()
Durum Kaydetme Yöntemi OEM DRO/LED’ler veya kalıcı dosyalar
Programlama Dili Lua

Sahada Dikkat Edilmesi Gerekenler

  • Kapsamlı Test ve Doğrulama: Uygulanan tüm güvenlik önlemleri, gerçek çalışma koşullarına yakın senaryolarla titizlikle test edilmelidir. Farklı makro türleri, iş mili hızları ve eksen hareketleri sırasında Reset tuşuna basılarak sistemin beklenen şekilde tepki verdiğinden emin olunmalıdır. Testler sırasında, iş parçasının veya takımın zarar görmemesi için dikkatli olunmalı ve gerekirse test malzemeleri kullanılmalıdır. Bu, sadece yazılımsal yanıtı değil, aynı zamanda makinenin mekanik ve elektriksel yanıtını da doğrulamayı içerir.
  • Kod Dokümantasyonu ve Sürüm Kontrolü: OnReset işleyicisi ve Reset-farkında makro kodları, açık ve anlaşılır bir şekilde dokümante edilmelidir. Hangi fonksiyonların ne amaçla kullanıldığı, beklenen davranışlar ve olası istisnalar belirtilmelidir. Ayrıca, ekran setleri ve makro dosyaları için bir sürüm kontrol sistemi (örneğin, Git) kullanmak, yapılan değişiklikleri takip etmek, hatalı sürümlere geri dönmek ve ekip içinde işbirliğini kolaylaştırmak açısından hayati öneme sahiptir.
  • Operatör Eğitimi ve Farkındalık: Makine operatörleri, Reset tuşunun ne zaman ve nasıl kullanılacağı konusunda eğitilmelidir. OnReset işleyicisinin makineyi güvenli bir duruma getireceği, ancak bunun bir Acil Durdurma (E-Stop) alternatifi olmadığı açıkça belirtilmelidir. Operatörler, farklı durumlarda hangi düğmeye basmaları gerektiğini, özellikle de gerçek bir acil durumda E-Stop’un önceliğini anlamalıdır. Makine davranışındaki anormallikleri tanımaları ve doğru tepki vermeleri için düzenli eğitimler düzenlenmelidir.
  • Donanımsal ve Yazılımsal Güvenlik Hiyerarşisi: Makinenin genel güvenlik stratejisi, donanımsal E-Stop’un her zaman en üst düzeyde ve bağımsız bir güvenlik katmanı olduğunu vurgulamalıdır. Yazılımsal Reset, daha kontrollü bir duruş ve kurtarma mekanizması sunarken, E-Stop her zaman tüm güç kaynaklarını keserek en hızlı ve en güvenli duruşu sağlamalıdır. Bu hiyerarşi, güvenlik risk değerlendirmelerinde ve sistem tasarımında açıkça tanımlanmalıdır.
  • Makineye Özgü Adaptasyon: Her CNC makinesi farklıdır; takım değiştiriciler, otomatik mengene sistemleri, soğutma sıvıları veya özel fikstürler gibi ek bileşenlere sahip olabilir. OnReset işleyicisi ve makro içi güvenlik kontrolleri, makinenin tüm bu özel bileşenlerini dikkate alarak tasarlanmalıdır. Örneğin, bir takım değiştirme işlemi sırasında Reset’e basıldığında, takımın güvenli bir şekilde yuvasına dönmesi veya bırakılması sağlanmalıdır. Bu, potansiyel çarpışmaları ve hasarları önler.
  • Hata Kaydı ve İzleme: Güvenlik olayları (Reset tuşuna basılması gibi) ve makinenin bu duruma nasıl tepki verdiği, Mach4’ün dahili log sistemine veya harici bir kayıt mekanizmasına kaydedilmelidir. Bu kayıtlar, gelecekteki güvenlik iyileştirmeleri, arıza tespiti ve olay sonrası analizler için değerli veriler sağlar. Kayıtlar, olayın zamanını, nedenini ve sistemin durumunu içermelidir.

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

Mach4’te makro çalışırken Reset’e basılması durumunda makine güvenliğini sağlamaya yönelik çözümler uygulanırken çeşitli sorunlarla karşılaşmak mümkündür. Bu sorunları önceden bilmek ve çözüm yollarını anlamak, sistemin güvenilirliğini artırır.

  • Sorun 1: Reset’e basılmasına rağmen iş mili dönmeye devam ediyor veya eksenler hareketini sürdürüyor.

    Çözüm: Bu durum genellikle OnReset işleyicisinin doğru yapılandırılmadığını veya API fonksiyonlarının çağrılmadığını gösterir. Ekran setinizin Lua betiğindeki OnReset fonksiyonunu kontrol edin. mc.mcSpindleStop() ve mc.mcAxisStopAll() fonksiyonlarının doğru bir şekilde çağrıldığından emin olun. Ayrıca, bu komutların iş mili sürücüsü veya eksen sürücüleriyle olan elektriksel bağlantılarını ve Mach4’ün çıkış pin ayarlarını gözden geçirin. Bazen, sürücülerdeki gecikmeler veya Mach4’ün çıkış sinyalinin sürücü tarafından yanlış yorumlanması da bu duruma neden olabilir.

  • Sorun 2: Makro, Reset’e basıldıktan sonra bile bir süre daha çalışmaya devam ediyor veya beklenmedik bir şekilde davranıyor.

    Çözüm: OnReset işleyicisi, G-kodu programlarını durdursa da, uzun süreli Lua makroları kendi iç mantıklarını yürütmeye devam edebilir. Bu sorunu çözmek için, makro kodunuzun içine düzenli aralıklarla mc.IS_RESET_ACTIVE() kontrolü eklemelisiniz. Bu kontrol, makro içinde bir döngü veya kritik bir işlem sırasında Reset durumunun algılanmasını ve makronun güvenli bir şekilde çıkış yapmasını sağlar. Makro içindeki her önemli adımda bu kontrolü tekrarlamak, daha hızlı ve güvenilir bir tepki sağlar.

  • Sorun 3: Reset sonrası makine durumu belirsiz kalıyor veya işlem kaldığı yerden devam ettirilemiyor.

    Çözüm: Bu, makronun durum yönetimini yeterince yapmadığını gösterir. Makrolarınızın kritik adımlarını veya ilerlemesini Mach4’ün OEM DRO’larına veya OEM LED’lerine kaydetmeyi düşünün. Bu sayede, Reset sonrası makine yeniden başlatıldığında, makro son bilinen güvenli durumu okuyabilir ve gerekirse işlemi kontrollü bir şekilde baştan başlatabilir veya belirli bir adımdan devam edebilir. Kalıcı veri depolama, özellikle uzun süreli ve karmaşık işlemler için hayati öneme sahiptir.

  • Sorun 4: OnReset işleyicisi, beklenenden farklı bir şekilde veya hiç çalışmıyor.

    Çözüm: OnReset fonksiyonunun ekran setinizin doğru Lua betik alanına (genellikle “Screen Load Script” veya ilgili ekranın “Script” bölümü) yerleştirildiğinden emin olun. Fonksiyon adının tam olarak function OnReset() ... end şeklinde olduğundan ve yazım hatası içermediğinden emin olun. Mach4’ün log dosyalarını kontrol ederek betik yükleme hataları veya çalışma zamanı hataları olup olmadığını inceleyin. Bazen, ekran setinin yeniden yüklenmesi veya Mach4’ün tamamen yeniden başlatılması gerekebilir.

  • Sorun 5: Reset sonrası takımlar çarpışıyor veya iş parçası zarar görüyor.

    Çözüm: Bu, genellikle eksenlerin durması için yeterli zaman tanınmamasından veya Reset işleyicisinin hızlı duruş sonrası güvenli bir geri çekme pozisyonu tanımlamamasından kaynaklanır. mc.mcAxisStopAll(), eksenleri anında durdurur ancak bu ani duruşlar mekanik şoklara neden olabilir. Eğer bir geri çekme hareketi gerekiyorsa, bu hareketin OnReset içinde güvenli ve çarpışmasız bir şekilde yapılabileceğinden emin olun. Ancak, çoğu durumda Reset’in öncelikli amacı durmaktır, hareket ettirmek değil. Eğer bu tür bir risk varsa, donanımsal limit anahtarları ve E-Stop sistemi gibi ek güvenlik katmanlarının doğru çalıştığını kontrol edin.

Uzman Tavsiyesi

Mach4 kontrol yazılımı ile yönetilen endüstriyel otomasyon ve CNC makinelerinde, makro çalışırken kullanıcının Reset tuşuna basması durumunda makinenin güvenli bir duruma getirilmesi, sadece iyi bir mühendislik uygulaması değil, aynı zamanda operatör güvenliği, makine bütünlüğü ve üretim verimliliği açısından da kritik bir gerekliliktir. Bu kapsamlı rehberde ele aldığımız gibi, Mach4’ün Lua tabanlı betikleme yetenekleri sayesinde, bu tür senaryoları öngörmek ve yönetmek için güçlü araçlara sahibiz. Temel strateji, ekran setine entegre edilmiş bir OnReset olay işleyicisi aracılığıyla tüm hareketli parçaları, iş milini ve G-kodu yürütmesini anında durdurmak ve makro içindeki mc.IS_RESET_ACTIVE() kontrolleriyle daha esnek ve kontrollü çıkışlar sağlamaktır.

Uzman tavsiyesi olarak, bu tür güvenlik mekanizmalarının tasarımına ve uygulanmasına proaktif bir yaklaşım sergilenmelidir. Bir makineyi devreye almadan veya yeni bir makro geliştirmeden önce, potansiyel hata senaryolarını ve Reset gibi operatör müdahalelerinin etkilerini detaylı bir şekilde analiz etmek esastır. Güvenlik, katmanlı bir yaklaşımla ele alınmalıdır; yazılımsal Reset işleyicileri, donanımsal Acil Durdurma (E-Stop) sistemlerinin yerini tutmaz, aksine onları tamamlar. Her iki sistem de bağımsız ve güvenilir bir şekilde çalışmalı, ancak farklı durumlar için farklı tepkiler sağlamalıdır.

Saha tecrübeleri, en iyi tasarlanmış sistemlerin bile test edilmediği sürece başarısız olabileceğini göstermektedir. Bu nedenle, uygulanan tüm güvenlik protokollerinin gerçek dünya koşullarında kapsamlı bir şekilde test edilmesi hayati önem taşır. Farklı yükler, hızlar ve makine durumları altında Reset tuşuna basılarak sistemin her zaman beklenen güvenli duruma döndüğünden emin olunmalıdır. Testler sırasında ortaya çıkan her türlü anormallik, dikkatlice incelenmeli ve düzeltilmelidir. Ayrıca, makro kodlarının ve ekran setlerinin düzenli olarak yedeklenmesi ve sürüm kontrolü altında tutulması, olası veri kayıplarını veya hatalı yapılandırmaları önleyecektir.

Son olarak, operatör eğitimi ve farkındalık, güvenlik zincirinin vazgeçilmez bir halkasıdır. Operatörler, sistemin güvenlik özelliklerini, Reset tuşunun amacını ve özellikle de bir acil durumda E-Stop’un önceliğini tam olarak anlamalıdır. Sürekli eğitim ve güvenlik protokollerinin periyodik olarak gözden geçirilmesi, işletme içinde bir güvenlik kültürü oluşturulmasına yardımcı olur. Bu sayede, Mach4 tabanlı CNC makinelerinizde hem verimli hem de güvenli bir üretim ortamı sağlayabilirsiniz.