Mach4’te bir makro içinde programı durdurup operatör müdahalesi almak ve güvenli bir şekilde devam etmek için mc.mcCntlMStop() fonksiyonunu kullanarak programı durdurabilir, wx.wxMessageBox() ile operatöre talimat sunabilir ve müdahale sonrası mc.mcCntlMResume() ile programa kaldığı yerden güvenle devam edebilirsiniz.
Mach4’te Macro İçinde Programı Durdurup Operatör Müdahalesi Aldıktan Sonra Güvenli Devam Etme Nasıl Yapılır? Nedir?
Endüstriyel otomasyon süreçlerinde, özellikle CNC makinelerinde, otomatik program akışını belirli noktalarda durdurarak operatörün fiziksel veya görsel bir müdahalede bulunmasını gerektiren durumlar sıkça karşılaşılan bir ihtiyaçtır. Bu müdahaleler; takım değişimi, iş parçasının kontrolü, fikstür ayarı, malzeme yükleme/boşaltma veya bir hata durumunda manuel düzeltme gibi çeşitli nedenlerle ortaya çıkabilir. Mach4, bu tür senaryolar için güçlü Lua tabanlı makro yetenekleri sunar. Programı bir makro içinden güvenli bir şekilde durdurmak, operatöre net talimatlar sunmak ve müdahale sonrası programı kaldığı yerden risksiz bir şekilde devam ettirmek, hem üretim verimliliği hem de iş güvenliği açısından kritik öneme sahiptir. Bu işlem, makinenin enerji altında kalmasını sağlarken G-kodu yorumlayıcısını duraklatarak, operatörün güvenli bir şekilde müdahale etmesine olanak tanır ve ardından programın kaldığı noktadan hatasız bir şekilde devam etmesini temin eder. Temelinde, Mach4’ün dahili API fonksiyonları olan mc.mcCntlMStop() ve mc.mcCntlMResume() ile kullanıcı arayüzü etkileşimi için wx.wxMessageBox() fonksiyonlarının stratejik kullanımı yatar.
Çalışma Prensibi ve Teknik Veriler
Bu işlevselliğin temel çalışma prensibi, G-kodu işleme motorunu kontrollü bir şekilde duraklatmak, operatöre bir geri bildirim veya talimat penceresi sunmak ve operatör müdahalesi tamamlandıktan sonra programı kesintiye uğradığı yerden devam ettirmektir. Bu süreçte Mach4’ün Lua API‘si merkezi bir rol oynar.

Programı Durdurma (M-Stop)
Bir makro içinde programı durdurmak için mc.mcCntlMStop() fonksiyonu kullanılır. Bu fonksiyon çağrıldığında, Mach4 kontrol yazılımı mevcut G-kodu satırının yürütülmesini tamamlar ve ardından tüm hareketleri durdurur. Önemli olan, bu bir acil durdurma (E-Stop) değildir. Makine hala enerjilidir, motorlar kilitli kalır (eğer ayarlandıysa), ve kontrol yazılımı aktif durumdadır. Sadece G-kodu programının ileriye dönük yürütülmesi askıya alınır. Bu, operatörün takım değiştirmesi veya iş parçasına manuel müdahalede bulunması için güvenli bir ortam sağlar. Makine eksenleri referansını kaybetmez ve koordinat sistemi geçerliliğini korur.

Operatör Müdahalesi ve Geri Bildirim
Program durdurulduktan sonra, operatöre ne yapması gerektiğini bildirmek ve onun onayını almak için bir kullanıcı arayüzü (UI) öğesi gereklidir. Mach4, wx.wxMessageBox() fonksiyonunu kullanarak bu yeteneği sunar. Bu fonksiyon, özelleştirilebilir bir başlık, mesaj ve düğme seçenekleriyle standart bir mesaj kutusu görüntüler. Örneğin, “Takım 3’ü takın ve ‘Tamam’a tıklayın” gibi bir mesaj operatöre sunulabilir. wx.wxMessageBox() fonksiyonu, operatör bir düğmeye tıklayana kadar makro yürütmesini bloklar, bu da müdahalenin tamamlandığından emin olmak için idealdir. Fonksiyonun dönüş değeri (örneğin, wx.wxID_OK, wx.wxID_CANCEL) operatörün hangi düğmeye bastığını belirlemenizi sağlar, böylece makro içinde duruma göre farklı yollar izleyebilirsiniz (örneğin, iptal durumunda programı sonlandırmak).

Programı Güvenli Devam Ettirme (M-Resume)
Operatör müdahalesi tamamlandıktan ve onay alındıktan sonra, programın kaldığı yerden devam etmesi gerekmektedir. Bu işlem mc.mcCntlMResume() fonksiyonu ile gerçekleştirilir. Bu fonksiyon çağrıldığında, Mach4 G-kodu programının duraklatıldığı noktadan itibaren yürütülmesine devam eder. Makinenin eksenleri önceden belirlenmiş yörüngede hareket etmeye başlar. Güvenli devamlılık için, operatörün müdahalesi sırasında makine eksenlerinin manuel olarak hareket ettirilmediğinden veya referans noktalarının değiştirilmediğinden emin olmak kritik öneme sahiptir. Eğer manuel bir hareket olduysa, programın devam ettirilmeden önce eksenlerin doğru konuma geri getirilmesi veya yeni bir referans alınması gerekebilir; ancak M-Stop normalde eksenlerin kilitli kalmasını sağlar.
Bu üç temel bileşen, karmaşık otomasyon senaryolarında insan-makine işbirliğini güvenli ve verimli bir şekilde yönetmek için bir araya getirilir. Örnek bir Lua makro yapısı genellikle aşağıdaki adımları içerir:
- G-kodu programı belirlenen bir noktaya (örneğin, M6 takım değişimi öncesi) geldiğinde makroyu çağırır.
- Makro içinde
mc.mcCntlMStop()çağrılır. wx.wxMessageBox()ile operatöre talimat ve onay istenir.- Operatörün cevabına göre (örneğin, “Tamam” düğmesine basıldığında)
mc.mcCntlMResume()çağrılır. - Eğer operatör “İptal” derse, program güvenli bir şekilde sonlandırılır veya başka bir hata işleme rutinine yönlendirilir.
| Parametre | Değer/Açıklama |
|---|---|
| Temel Durdurma Fonksiyonu | mc.mcCntlMStop() – G-kodu yorumlayıcısını askıya alır, makine enerjili kalır. |
| Temel Devam Fonksiyonu | mc.mcCntlMResume() – G-kodu programını duraklatıldığı yerden devam ettirir. |
| Operatör Etkileşim Fonksiyonu | wx.wxMessageBox(mesaj, başlık, stil) – Operatöre bilgi ve onay penceresi sunar. |
| Durma Modu | “Program Durdurma” (M-Stop) – Eksenler kilitli, referans korunur. |
| Devam Modu | “Program Devam Ettirme” (M-Resume) – Kesintisiz akış, eksenler kaldığı yerden hareket eder. |
| Operatör Geri Bildirimi Tipi | Bloklayıcı UI (User Interface) – Operatör yanıtı beklenir. |
| Güvenlik Protokolü | Eksen konum doğrulama, G-kodu senkronizasyonu, manuel müdahale önlemleri. |
| Tipik Kullanım Alanları | Otomatik takım değişimi, manuel parça kontrolü, fikstür ayarlamaları, malzeme yükleme/boşaltma. |

Sahada Dikkat Edilmesi Gerekenler
- Güvenlik Prosedürleri ve Kilitle

