Mach3’te bir butona özel M kod veya VB Macro atamak için öncelikle Mach3 Screen Designer’ı kullanarak butonu eklemeli veya mevcut bir butonu düzenlemelisiniz. Ardından, butonun “Script” veya “OEM Code” özelliğine istediğiniz M kodu (örneğin, M1000 için DoOEMButton(1000)) ya da doğrudan bir VB Script kodunu (örneğin, bir M kodu dosyasını çağıran Call M999) tanımlayarak otomasyon görevlerini kişiselleştirebilirsiniz.
Mach3’te Butona Özel M Kod veya VB Macro Nasıl Atanır? Nedir?
Endüstriyel otomasyon ve CNC kontrol sistemlerinde, özellikle Mach3 gibi popüler yazılımlarda, makine operatörlerinin iş akışını hızlandırmak ve belirli işlemleri tek bir dokunuşla gerçekleştirmelerini sağlamak amacıyla özel fonksiyonlar tanımlamak büyük önem taşır. Bu fonksiyonlar genellikle M kodları (makineye özgü komutlar) veya Visual Basic (VB) makroları (daha karmaşık mantık ve koşullu işlemler için) şeklinde uygulanır. Mach3’te bir butona özel bir M kod veya VB makro atamak, operatörlere özelleştirilmiş kontroller sunarak üretim verimliliğini artırmanın ve hataları azaltmanın temel yollarından biridir. Bu işlem, genellikle Mach3’ün dahili Screen Designer aracı ve VB Script Editor kullanılarak gerçekleştirilir. Bu sayede, standart G kodlarından farklı olarak, makineye özgü yardımcı fonksiyonlar, takım değiştirme rutinleri, özel kalibrasyon işlemleri veya harici cihazlarla iletişim gibi karmaşık görevler kolayca otomasyona dahil edilebilir.
Çalışma Prensibi ve Teknik Veriler
Mach3, kullanıcıların makine arayüzünü kendi ihtiyaçlarına göre özelleştirmelerine olanak tanıyan güçlü bir platformdur. Bir butona özel M kod veya VB makro atama süreci, temel olarak Mach3’ün iki ana bileşenini kullanır: Screen Designer ve Macro Editor (veya VB Script Editor). Süreç aşağıdaki adımlarla ilerler:

1. M Kodları İçin Özel Script Oluşturma
Mach3, belirli M kodlarını (örneğin M1000’den M9999’a kadar) özel Visual Basic Script (VBS) dosyalarına bağlayabilir. Bu dosyalar, Mach3 kurulum klasöründeki Macros/[ProfilAdı] dizininde saklanır ve dosya adı M[KodNumarası].m1s formatında olmalıdır (örneğin, M1000 için M1000.m1s). Bu dosyaların içeriği, G kodları, diğer M kodları veya karmaşık VB Script komutları olabilir.
- M1S Dosyası Oluşturma: Mach3 arayüzünde “Operator” menüsünden “VB Script Editor”ü açın. Buraya istediğiniz G/M kodlarını veya VB Script mantığını yazın. Örneğin, bir iş parçasını sıfırlayan veya bir soğutma pompasını kontrol eden bir dizi komut olabilir.
- Örnek M1S İçeriği (M1000.m1s):
'M1000: Özel İşlem Başlat Code "G0 G90 X0 Y0 Z0" 'Makineyi sıfır noktasına getir Code "M8" 'Soğutma sıvısını aç Sleep 1000 '1 saniye bekle Code "M9" 'Soğutma sıvısını kapat MsgBox "Özel işlem tamamlandı!"Bu script, makineyi referans noktasına getirir, soğutma sıvısını açıp kapatır ve kullanıcıya bir mesaj gösterir. Her
Code "..."satırı, Mach3’e bir G/M kodu gönderir.

2. VB Macro İçin Doğrudan Script Yazma veya M1S Çağırma
VB makroları, daha dinamik ve etkileşimli işlemler için kullanılır. Bir butona doğrudan VB Script yazabilir veya yukarıda oluşturduğunuz bir M1S dosyasını çağırabilirsiniz.
- Doğrudan Script Yazma: Butonun özelliklerine doğrudan VB Script kodunu ekleyebilirsiniz. Bu yöntem, kısa ve basit işlemler için uygundur.
- M1S Dosyasını Çağırma: Daha karmaşık makrolar veya birden fazla butondan erişilmesi gereken makrolar için
M[KodNumarası].m1sdosyasını oluşturup, butondan bu M kodunu çağırmak daha düzenli bir yaklaşımdır.

3. Butona Atama İşlemi (Screen Designer Kullanarak)
Bu, görsel arayüzü düzenlediğiniz kısımdır:
- Screen Designer’ı Açma: Mach3 ana ekranında “Operator” menüsünden “Edit Screen” seçeneğini işaretleyin. Bu, Mach3 arayüzünü düzenleme moduna alır.
- Buton Seçme/Ekleme: Mevcut bir butona sağ tıklayarak “Button Properties”i seçebilir veya boş bir alana yeni bir buton sürükleyip bırakabilirsiniz.
- Buton Özelliklerini Ayarlama:
- M Kodu Atama (OEM Code): Eğer butona bir M kodu atayacaksanız (örneğin, M1000’i çağırmak), butonun “OEM Code” alanına
1000yazmanız yeterlidir. Mach3 bu OEM kodunu gördüğünde, otomatik olarakM1000.m1sdosyasını arayacak ve çalıştıracaktır. Genellikle 1000 ve üzeri OEM kodları, özel M kodlarına atanır. - VB Macro Atama (Script): Eğer butona doğrudan bir VB Script atayacaksanız veya bir M1S dosyasını VB Script aracılığıyla çağıracaksanız, butonun “Script” alanına tıklayın. Açılan “Script Editor” penceresine VB kodunuzu yazın.
- Doğrudan VB Script Örneği:
MsgBox "Merhaba, bu bir özel VB Macro!" ActivateSignal(OUTPUT1) 'Output1'i aktif et - M Kodu Çağırma Örneği (M999.m1s dosyasını çağırmak için):
Call M999Bu,
Macros/[ProfilAdı]/M999.m1sdosyasını çalıştıracaktır.
- Doğrudan VB Script Örneği:
- M Kodu Atama (OEM Code): Eğer butona bir M kodu atayacaksanız (örneğin, M1000’i çağırmak), butonun “OEM Code” alanına
- Ekranı Kaydetme: Değişiklikleri tamamladıktan sonra “Operator” menüsünden “Save Current Screen Set” seçeneğini kullanarak veya “Edit Screen” işaretini kaldırarak ekran setinizi (
.setuzantılı dosya) kaydetmeyi unutmayın. Aksi takdirde, yaptığınız değişiklikler kaybolacaktır.
Bu teknikle, operatörler için özelleştirilmiş bir arayüz oluşturulabilir, karmaşık rutinler basitleştirilebilir ve makinenin kapasitesi, standart G/M kodlarının ötesine taşınabilir. Örneğin, bir butona basıldığında otomatik takım boyu ölçümü yapılabilir, parça sıfırlama rutini çalıştırılabilir veya özel bir fikstürün pnömatik kelepçeleri kontrol edilebilir.
| Parametre | Değer/Açıklama |
|---|---|
| Mach3 Sürümü | R3.043.066 ve üzeri (Genel olarak tüm R3 sürümleri destekler) |
| İşletim Sistemi Uyumluluğu | Windows XP, Windows 7 (32-bit önerilir), Windows 10 (Bazı sürümler uyumluluk modunda) |
| Macro Dili | Visual Basic Script (VBScript) |
| M-Kod Dosya Uzantısı | .m1s (Örn: M1000.m1s) |
| Macro Dosya Konumu | Mach3/Macros/[Aktif Profil Adı] |
| Buton Atama Aracı | Mach3 Screen Designer |
| M-Kod Çağırma Yöntemi | Buton “OEM Code” özelliği veya VB Script içinde “Call MXXX” |
| VB Script Editor | Mach3’ün dahili “VB Script Editor” veya harici bir metin düzenleyici |

Sahada Dikkat Edilmesi Gerekenler
- Yedekleme Rutinleri ve Sürüm Kontrolü: Herhangi bir arayüz değişikliği veya yeni makro oluşturmadan önce, mevcut ekran setinizi (
.setdosyası) ve tüm makro dosyalarınızı (.m1s) düzenli olarak yedekleyin. Bu, olası hatalarda veya istenmeyen durumlarda sistemi kolayca önceki stabil haline döndürmenizi sağlar. Ayrıca, farklı makro sürümleri için açık bir isimlendirme ve dokümantasyon sistemi oluşturmak, gelecekteki sorun giderme ve geliştirmeler için kritik öneme sahiptir. - Güvenlik Protokolleri ve Acil Durum Yönetimi: Yeni bir M kod veya VB makro geliştirdiğinizde, özellikle makinenin fiziksel hareketlerini veya harici donanımı kontrol eden komutlar içeriyorsa, bunları daima güvenli bir ortamda ve düşük hızlarda test edin. Acil Durum Durdurma (E-Stop) butonunun her zaman erişilebilir ve işlevsel olduğundan emin olun. Makrolar, yanlış yazıldığında veya uygulandığında beklenmedik ve tehlikeli makine hareketlerine yol açabilir. Potansiyel çarpışmaları veya hasarları önlemek için makine çevresindeki güvenlik alanlarını her zaman koruyun.
- Performans Optimizasyonu ve Gecikme Yönetimi: Özellikle karmaşık VB makroları, çok sayıda hesaplama veya döngü içeriyorsa, Mach3’ün ana kontrol döngüsünü etkileyerek gecikmelere neden olabilir. Makrolarınızı mümkün olduğunca verimli yazmaya özen gösterin. Gereksiz tekrarlardan kaçının ve uzun süreli beklemeler (
Sleepkomutları) yerine, Mach3’ün dahili sinyal veya durum kontrollerini kullanmayı tercih edin. Bu, makinenin tepki süresini iyileştirir ve kontrolün akıcılığını sağlar. - Kapsamlı Dokümantasyon ve Standartlaştırma: Her özel M kodunun ve VB makrosunun ne işe yaradığını, hangi parametreleri kullandığını, hangi koşullarda çalıştığını ve olası hata mesajlarını detaylı bir şekilde belgeleyin. Bu dokümantasyon, hem yeni operatörlerin eğitimi hem de gelecekteki bakım ve sorun giderme işlemleri için hayati öneme sahiptir. Makrolar ve buton atamaları için şirket içi bir standart belirlemek, farklı operatörlerin veya teknisyenlerin sistemi anlamasını ve yönetmesini kolaylaştırır.
- Giriş/Çıkış (I/O) Entegrasyonu ve Donanım Kontrolü: Eğer makrolarınız harici sensörler, anahtarlar, röleler veya diğer PLC benzeri cihazlarla etkileşime giriyorsa, Mach3’ün Port ve Pin ayarlarının doğru yapıldığından ve donanım bağlantılarının sağlam olduğundan emin olun. Makro içinde
ActivateSignal(),DeActivateSignal(),IsActive()gibi komutlar kullanılırken, ilgili I/O’nun fiziksel olarak doğru çalıştığını ve Mach3 tarafından doğru şekilde algılandığını doğrulamak için testler yapın. Yanlış I/O kontrolü, hatalı makine davranışlarına veya donanım hasarına yol açabilir.

Sık Karşılaşılan Sorunlar ve Çözümleri
Mach3’te özel butonlara M kod veya VB makro atarken karşılaşılabilecek bazı yaygın sorunlar ve bunların çözüm yolları aşağıda listelenmiştir:
- Sorun: Atanan M Kodu veya Makro Çalışmıyor.
- Çözüm 1 (M Kodları için): Makro dosyasının (örneğin
M1000.m1s) doğru klasörde (Mach3/Macros/[ProfilAdı]) ve doğru isimle bulunduğundan emin olun. Dosya adındaki rakamların, butona atadığınız OEM koduna (örneğin 1000) tam olarak uyduğundan emin olun. VB Script Editor’da makroyu açarak syntax hatası olup olmadığını kontrol edin. - Çözüm 2 (VB Makroları için): Butonun “Script” alanına doğru VB kodunun yazıldığından veya doğru M kodunu (
Call MXXX) çağırdığından emin olun. Script Editor’da “Check Script” butonunu kullanarak olası yazım hatalarını tespit edin. - Çözüm 3: Screen Designer’dan çıktıktan sonra ekran setini kaydetmeyi unutmuş olabilirsiniz. “Operator” menüsünden “Save Current Screen Set” ile değişiklikleri kaydedin.
- Çözüm 1 (M Kodları için): Makro dosyasının (örneğin
- Sorun: Makro Çalışıyor Ancak Beklenmeyen Makine Hareketleri Yapıyor veya Hata Veriyor.
- Çözüm 1: Makro içindeki G veya M kodlarını dikkatlice inceleyin. Yanlış bir G kodu (örneğin
G0yerineG1veya yanlış koordinatlar) makineyi beklenmedik yerlere taşıyabilir. Adım adım hata ayıklama yaparak hangi komutun soruna yol açtığını belirleyin. - Çözüm 2: Makro içindeki değişken tanımlamalarını ve koşullu ifadeleri kontrol edin. Mantık hatası, makinenin yanlış bir durumda çalışmasına neden olabilir. Örneğin, bir sensörden gelen veriyi yanlış yorumlamak.
- Çözüm 3: Eğer makro harici I/O’ları kontrol ediyorsa, Mach3’ün Port ve Pin ayarlarının doğru olduğundan ve fiziksel kablolamanın hatasız olduğundan emin olun.
- Çözüm 1: Makro içindeki G veya M kodlarını dikkatlice inceleyin. Yanlış bir G kodu (örneğin
- Sorun: Makro Çalışırken Mach3 Donuyor veya Çok Yavaş Tepki Veriyor.
- Çözüm 1: Makro içindeki döngüleri veya karmaşık hesaplamaları optimize edin. Çok uzun süreli
Sleepkomutları veya sonsuz döngüler Mach3’ü kilitleyebilir. - Çözüm 2: Gerekirse makroyu daha küçük, işlevsel parçalara ayırın ve bunları sırayla çağırın. Bu, Mach3’ün ana işlem döngüsünü daha az bloke etmesini sağlar.
- Çözüm 3: Bilgisayarın Mach3 için yeterli donanıma sahip olduğundan emin olun. Özellikle eski sistemlerde karmaşık makrolar performans sorunlarına yol açabilir.
- Çözüm 1: Makro içindeki döngüleri veya karmaşık hesaplamaları optimize edin. Çok uzun süreli
- Sorun: Butonun Görseli veya Konumu Değişmiyor/Kayboluyor.
- Çözüm: Screen Designer’da butonu düzenledikten sonra “Edit Screen” modundan çıkmadan önce “Save Current Screen Set” seçeneği ile ekran setini kaydettiğinizden emin olun. Mach3’ü yeniden başlattığınızda değişikliklerin kalıcı olması için bu adım kritik öneme sahiptir.
- Sorun: Makro İçindeki
MsgBoxKomutları Çalışmıyor veya Görünmüyor.- Çözüm: Mach3’ün ayarlarında (Config -> General Config -> Allow Message Boxes) mesaj kutularının etkin olduğundan emin olun. Bazı durumlarda güvenlik nedeniyle kapatılmış olabilir.
Uzman Tavsiyesi
Mach3 kontrol yazılımında butona özel M kodları veya VB makroları atamak, endüstriyel otomasyon süreçlerinde verimliliği, esnekliği ve operatör konforunu artırmanın temel taşlarından biridir. Bu yetenek, standart CNC işlevlerinin ötesine geçerek, makineye özgü operasyonları, karmaşık otomasyon senaryolarını ve hatta harici cihaz entegrasyonlarını tek bir tuş dokunuşuyla yönetme gücü sunar. Bir makine operatörü veya otomasyon mühendisi olarak, bu özelleştirme becerisi, üretim hatlarınızdaki darboğazları gidermenize, tekrarlayan görevleri otomatikleştirmenize ve hata potansiyelini önemli ölçüde azaltmanıza olanak tanır. Ancak, bu güçlü yeteneği kullanırken dikkatli ve sistemli olmak hayati önem taşır. Her yeni makro veya buton ataması, kapsamlı testlerden geçirilmeli, güvenlik protokolleri titizlikle uygulanmalı ve olası riskler minimize edilmelidir. Özellikle makinenin fiziksel hareketlerini etkileyen komutlarda, E-Stop erişilebilirliği ve güvenlik alanları asla göz ardı edilmemelidir. Sisteminizi düzenli olarak yedeklemek, makro dosyalarınızı ve ekran setlerinizi sürümleyerek belgelemek, gelecekteki sorun giderme ve geliştirmeler için size büyük kolaylık sağlayacaktır. Sonuç olarak, Mach3’ün sunduğu bu özelleştirme imkanları, doğru bilgi ve dikkatli uygulama ile birleştiğinde, CNC makinelerinizin potansiyelini tam anlamıyla ortaya çıkarmanızı ve endüstriyel otomasyon hedeflerinize ulaşmanızı sağlayacak güçlü bir araçtır. Sürekli öğrenme ve deneyimleme, bu alandaki uzmanlığınızı pekiştirmenin anahtarıdır.

