Mach3 GetVar ve SetVar Ne İşe Yarar?

Mach3 CNC kontrol yazılımı, standart G-kodu komutlarının ötesine geçerek kullanıcıya kendi makrolarını, özel döngülerini ve otomasyon rutinlerini oluşturma imkanı tanır. Bu esnekliğin merkezinde, yazılımın dahili değişken hafızasına erişimi sağlayan GetVar ve SetVar komutları yer alır. Bu komutlar, makro programlamanın temel yapı taşlarıdır ve yazılım ile donanım arasındaki mantıksal köprüyü oluştururlar.
CNC otomasyon süreçlerinde, makinenin o anki durumunu okumak, hesaplamalar yapmak ve bu sonuçları bir sonraki işlem adımına aktarmak hayati önem taşır. GetVar ve SetVar, makine koordinatlarından kullanıcı tanımlı sayaçlara kadar pek çok veriyi saklamak, okumak ve işlemek için kullanılır. Özellikle karmaşık otomasyon süreçlerinde, bu değişkenlerin doğru yönetimi, makinenin mantıksal kararlar almasını ve verimli çalışmasını sağlar.
Tanım ve Temel Amaç
GetVar ve SetVar, Mach3’ün ‘Parametre’ (Parameter) tablosu ile doğrudan iletişim kuran iki temel fonksiyondur. GetVar, belirli bir parametre numarasındaki sayısal değeri okumak için kullanılırken, SetVar bu numaraya yeni bir değer atamak için kullanılır.
Bu komutların temel amacı, G-kodu programı ile Mach3’ün arka planındaki mantıksal işlemci arasında bir veri alışverişi sağlamaktır. Örneğin, bir ölçüm probunun okuduğu değeri bir değişkene atayarak, sonraki hareket komutlarında bu değeri ofset olarak kullanabilirsiniz. Bu, statik G-kodu programlarını dinamik ve akıllı birer otomasyon aracına dönüştürür.
Çalışma Prensibi
Mach3, 0 ile 10.000 arasında değişen geniş bir parametre hafızasına sahiptir. Her bir parametre numarası, belirli bir veri türünü veya kullanıcıya ayrılmış bir alanı temsil eder. SetVar(parametre_no, değer) komutu, belirtilen adrese veriyi yazar. GetVar(parametre_no) ise o adresteki veriyi geri döndürür.
Bu işlem, makro çalıştırıldığı anda milisaniyeler içinde gerçekleşir. Mach3’ün arka planında çalışan VB Script motoru, bu komutları işlerken parametre tablosunu bir bellek alanı gibi kullanır. Bu sayede, bir makro içerisinde yapılan hesaplamalar, başka bir makro veya G-kodu satırı tarafından okunabilir hale gelir.
Ana Bileşenler ve Yapı
Sistem, parametre numaraları ve bu numaraların tuttuğu sayısal değerlerden oluşur. Mach3’te tüm parametreler globaldir; yani bir makroda SetVar ile atanan bir değer, başka bir makro tarafından GetVar ile okunabilir. Bu yapı, karmaşık makro zincirleri oluştururken veri transferini kolaylaştırır.
Parametreler, Mach3’ün ‘VB Script Editor’ içerisindeki ‘Parametre Tablosu’ sekmesinden anlık olarak izlenebilir. Bu tablo, hangi parametrenin hangi değeri tuttuğunu görmenizi sağlar ve hata ayıklama süreçlerinde kritik bir rol oynar.
Başlıca Çeşitler
Parametreler kullanım amaçlarına ve erişim haklarına göre kategorize edilebilir. Mach3’ün kendi sistem değişkenleri ve kullanıcı tanımlı değişkenler olarak iki ana gruba ayrılırlar.
Sistem Parametreleri
Mach3 tarafından otomatik olarak güncellenen ve makinenin o anki durumunu tutan parametrelerdir. Bu değerler genellikle yazılımın çekirdeği tarafından yönetilir.
- Eksen pozisyonları (X, Y, Z, A, B, C)
- Hız ve ivme değerleri
- G-kodu modal durumları (G0, G1, G2, G3 gibi)
- Takım ofset değerleri
Kullanıcı Değişkenleri
Programcının kendi mantıksal süreçleri için ayırdığı ve istediği gibi kullanabileceği alanlardır. Genellikle 1000 ve üzeri adresler bu amaçla kullanılır.
- Sayaçlar (Döngü sayısı, parça adedi)
- Bayraklar (Flag – Mantıksal durumlar)
- Ölçüm sonuçları (Prob verileri)
- Kullanıcı tanımlı ofsetler
Çeşitler Arasındaki Farklar
Sistem parametreleri genellikle Mach3 tarafından yönetilir; bu değerleri SetVar ile değiştirmek sistem kararsızlığına veya beklenmedik hareketlere yol açabilir. Kullanıcı değişkenleri ise tamamen programcının kontrolündedir ve sistemin genel işleyişini bozmadan özgürce kullanılabilir.
Sistem parametreleri dinamik olarak güncellenirken, kullanıcı değişkenleri yalnızca programcı tarafından tetiklendiğinde değişir. Bu ayrım, makro yazarken sistemin kendi değişkenlerine müdahale etmemeniz gerektiğini hatırlatır.
Mermak Mühendis Önerisi: Makro yazarken parametre numaralarını doğrudan kodun içine yazmak yerine, kodun başında bunları sabit (constant) olarak tanımlayın. Örneğin: Const TakimBoyuParam = 1001. Bu, ileride parametre çakışması yaşarsanız tüm kodu tek tek düzeltmek yerine sadece bir satırı değiştirmenizi sağlar.
Nerelerde Kullanılır
Bu komutlar, özellikle seri üretimde, otomatik takım değişimlerinde ve karmaşık işleme döngülerinde vazgeçilmezdir.
Otomatik Takım Ölçümü
Takım boyu ölçüldüğünde, ölçülen değer SetVar ile bir parametreye kaydedilir. Bir sonraki takım değişiminde GetVar ile çağrılarak ofset hesaplanır ve makine otomatik olarak yeni takım boyuna göre kendini ayarlar.
Döngüsel İşlemler
Bir parçanın 10 kez işlenmesi gerekiyorsa, bir parametre sayaç olarak kullanılır. Her döngüde SetVar ile değer artırılır ve GetVar ile kontrol edilerek döngü sonlandırılır.
Hangi Durumda Hangi Tip Seçilir
Eğer makinenin o anki fiziksel durumuna (pozisyon, hız, takım numarası) ihtiyacınız varsa sistem parametrelerini okumalısınız. Kendi mantıksal verilerinizi, sayaçlarınızı veya ara hesaplama sonuçlarınızı saklayacaksanız mutlaka kullanıcı tanımlı parametreleri seçmelisiniz.
Kullanıcı tanımlı parametreleri seçerken, Mach3’ün kendi kullandığı aralıklarla (0-999 arası) çakışmamaya dikkat edilmelidir. 1000 ve üzeri adresler, kullanıcı projeleri için en güvenli bölgedir.
Seçim Kriterleri
Parametre seçerken, projenin ölçeğine göre bir adres haritası oluşturulmalıdır. Örneğin, 1000-1050 arası sayaçlar, 1051-1100 arası bayraklar gibi bir düzenleme, kodun okunabilirliğini artırır.
Ayrıca, parametrelerin Mach3 yeniden başlatıldığında sıfırlandığını unutmamak gerekir. Eğer verinin kalıcı olması gerekiyorsa, parametre yerine dosya yazma komutları tercih edilmelidir.
Avantajlar
Kodun okunabilirliğini artırır, karmaşık hesaplamaları basitleştirir ve makrolar arasında veri transferini mümkün kılar. Ayrıca, G-kodu ile VB Script arasında bir köprü kurarak, makinenin mantıksal kararlar almasını sağlar.
Dinamik değişken kullanımı sayesinde, aynı makro farklı parçalar veya farklı takım boyları için hiçbir kod değişikliği gerektirmeden kullanılabilir. Bu da yazılımın esnekliğini ve verimliliğini maksimize eder.
Sık Yapılan Hatalar: En yaygın hata, sistemin kendi kullandığı 0-500 arası parametreleri kullanıcı değişkeni sanıp kullanmaktır. Bu, Mach3’ün eksen hareketlerini veya hız ayarlarını bozabilir. Her zaman 1000 ve üzerindeki adresleri tercih edin.
Dezavantajlar ve Sınırlamalar
Yanlış parametre numarasına yazmak, makinenin beklenmedik hareketler yapmasına veya sistemin kilitlenmesine neden olabilir. Ayrıca, parametreler kalıcı değildir; Mach3 kapatıldığında değerler sıfırlanır.
Bir diğer sınırlama ise parametrelerin yalnızca sayısal değer tutabilmesidir. Metin (string) verilerini veya karmaşık veri yapılarını doğrudan parametre tablosunda saklayamazsınız; bu tür veriler için harici dosya işlemleri gereklidir.
Montaj Kullanım veya Uygulama İpuçları
Makro yazarken her zaman kullandığınız parametre numaralarını bir dokümanda listeleyin. Bu, çakışmaları önlemek için en iyi yöntemdir. Ayrıca, parametreleri kullanmadan önce ‘SetVar(no, 0)’ komutu ile sıfırlamak, önceki işlemlerden kalan verilerin hatalı sonuç üretmesini engeller.
Karmaşık makrolarda, parametre numaralarını kodun başında sabit (constant) olarak tanımlamak, ileride yapılacak değişikliklerde tüm kodu tek tek düzeltmek yerine sadece bir satırı değiştirmenizi sağlar.
Sık Yapılan Hatalar
En yaygın hata, sistemin kendi kullandığı 0-500 arası parametreleri kullanıcı değişkeni sanıp kullanmaktır. Bu, Mach3’ün eksen hareketlerini veya hız ayarlarını bozabilir. Her zaman 1000 ve üzerindeki adresleri tercih edin.
Bir diğer hata ise parametre değerlerinin kalıcı olduğunu varsaymaktır. Mach3’ü kapattığınızda tüm parametreler sıfırlanır; bu yüzden kalıcı olması gereken verileri mutlaka bir dosyaya kaydetmelisiniz.
Dikkat Edilecekler: SetVar komutu ile bir parametreye değer atarken, bu değerin sayısal (numeric) olduğundan emin olun. Mach3 parametre tablosu metin (string) verilerini doğrudan saklayamaz; metin verisi için farklı dosya işleme yöntemleri gereklidir.
Bakım Güvenlik ve Kontrol
Makrolarınızı test ederken her zaman ‘Single Block’ modunda ve düşük hızlarda çalışın. Parametre değerlerini ‘Operator’ menüsü altındaki ‘VB Script Editor’ üzerinden izleyerek, kodun beklediğiniz değerleri atayıp atamadığını kontrol edin.
Güvenlik açısından, kritik hareket komutlarından önce parametre değerlerini kontrol eden bir ‘if-then’ bloğu eklemek, hatalı bir değerin makineye zarar vermesini önleyebilir.
SSS
Sıkça sorulan sorularla bu komutların kullanımını netleştirelim.
Parametre değerleri kalıcı mıdır?
Hayır, Mach3 kapatıldığında bu değerler genellikle kaybolur. Kalıcı veri saklamak için dosya yazma komutlarını kullanmalısınız.
Kaç adet parametre kullanabilirim?
Mach3’te 10.000’e kadar parametre adresi mevcuttur.