Mach4’te inverter hata kodunu okuyup operatöre Türkçe uyarı vermek için, öncelikle inverterin Modbus iletişim protokolü üzerinden hata kodlarını okuyabilen bir Mach4 Brain veya Lua scripti oluşturulur. Bu script, inverterin belirli bir Modbus adresindeki hata registerını sorgular, gelen sayısal kodu önceden tanımlanmış Türkçe metin karşılıklarıyla eşleştirir ve operatöre Mach4 arayüzü üzerinden mesaj kutusu veya özel LED ile gösterir.
Mach4’te İnverter Hata Kodunu Okuyup Operatöre Türkçe Uyarı Vermek Nasıl Yapılır? Nedir?
Endüstriyel otomasyon sistemlerinde, CNC makinelerinin vazgeçilmez bileşenlerinden olan inverterler (frekans konvertörleri), motor hız ve tork kontrolünü sağlarlar. Bu inverterler zaman zaman aşırı akım, aşırı voltaj, aşırı ısınma gibi çeşitli hata durumlarına düşebilirler. Bu hataların anında ve anlaşılır bir dilde operatöre bildirilmesi, üretim kesintilerini minimize etmek, makineye olası zararları önlemek ve iş güvenliğini artırmak açısından kritik öneme sahiptir. Mach4 kontrol yazılımı, Modbus gibi endüstriyel iletişim protokollerini destekleyerek inverterlerle doğrudan etkileşim kurma yeteneğine sahiptir. Bu yetenek sayesinde, inverterin dahili hata kodlarını okumak, bu kodları insan tarafından okunabilir Türkçe açıklamalara dönüştürmek ve Mach4’ün kullanıcı arayüzünde operatöre anında bildirim sağlamak mümkündür. Bu süreç, temelde inverterin hata durumunu tuttuğu Modbus register adresinin okunması, okunan sayısal değerin bir karar mekanizması (Mach4 Brain veya Lua scripti) tarafından yorumlanması ve uygun bir uyarı mesajının tetiklenmesi prensibine dayanır. Bu entegrasyon, operatörün sorunu hızla teşhis etmesine ve gerekli müdahaleleri yapmasına olanak tanır, böylece genel sistem verimliliği ve güvenilirliği artırılır.
Çalışma Prensibi ve Teknik Veriler
Mach4’te inverter hata kodlarını okuyup Türkçe uyarılar vermek için temel olarak Modbus RTU (seri iletişim) veya Modbus TCP (Ethernet) protokolleri kullanılır. İnverterlerin çoğu, durum ve hata kodlarını belirli holding register adreslerinde saklar. Bu register adresleri, her inverter markası ve modeline göre değişiklik gösterdiğinden, ilgili inverterin kullanım kılavuzundan mutlaka kontrol edilmelidir. Sürecin adımları ve teknik detayları aşağıdaki gibidir:
- Modbus İletişiminin Kurulması:
- Fiziksel Bağlantı: Modbus RTU için RS-485 portu üzerinden bir USB-RS485 dönüştürücü veya doğrudan seri port kullanılır. Modbus TCP için ise inverterin Ethernet portu bir ağ kablosu ile bilgisayara veya ağ switch’ine bağlanır.
- Mach4 Modbus Yapılandırması: Mach4’ün “Configure” -> “Plugins” -> “Modbus” sekmesinden Modbus bağlantı ayarları yapılır. Bu ayarlarda COM portu (RTU için), Baud Rate, Parity, Stop Bits, Slave ID gibi parametreler inverterin ayarlarıyla eşleşmelidir. Modbus TCP için ise inverterin IP adresi ve port numarası girilir.
- İnverter Hata Registerının Belirlenmesi:
- Her inverterin kendi dokümantasyonunda, güncel hata kodunu gösteren bir Modbus register adresi bulunur. Örneğin, bazı inverterler 40001 veya 40002 gibi adreslerde hata kodunu tutar. Bu register genellikle “Holding Register” kategorisindedir.
- Mach4 Brains ile Hata Kodu Okuma:
- Brain Oluşturma: Mach4’te “Operator” -> “Brain Editor” menüsünden yeni bir Brain dosyası oluşturulur.
- Modbus Okuma Girişi: Brain’e bir “Modbus Input” eklenir. Bu girişe, inverterin Slave ID‘si, Register Adresi (örneğin 40001), Data Tipi (örneğin Unsigned Word) ve okuma frekansı (örneğin 100ms’de bir) tanımlanır. Bu giriş, inverterden gelen hata kodunu sayısal bir değer olarak alacaktır.
- Hata Kodu Değerlendirme: Okunan sayısal değerin sıfırdan büyük olması, bir hata durumunun varlığını gösterir. Brain’de bu değeri kontrol etmek için “Compare” veya “Logic” blokları kullanılabilir. Örneğin, “IF Modbus_Input > 0 THEN…” şeklinde bir mantık kurulabilir.
- Uyarı Tetikleme: Hata algılandığında, Brain bir OEM LED‘i yakabilir veya bir Lua scriptini tetikleyebilir. OEM LED’ler basit durum göstergeleri için uygunken, detaylı Türkçe mesajlar için Lua scriptleri tercih edilir.
- Lua Scripting ile Detaylı Hata Yönetimi ve Türkçe Uyarılar:
- Modbus Okuma (Lua): Mach4 Lua API’sında bulunan
mc.mcModbusRead(id, slaveId, registerAddress, dataType)fonksiyonu kullanılarak inverterden hata kodu okunabilir. Örneğin:local errorCode = mc.mcModbusRead(modbusId, inverterSlaveID, 40001, 1). BuradamodbusId, Mach4’teki Modbus yapılandırma kimliği,inverterSlaveIDinverterin slave ID’si,40001hata register adresi ve1ise “Unsigned Word” veri tipini temsil eder. - Hata Kodu – Metin Eşleşmesi: En kritik adım, okunan sayısal hata kodlarını Türkçe metin karşılıklarıyla eşleştirmektir. Bu genellikle bir Lua tablosu (dictionary) kullanılarak yapılır:
local errorMessages = { [0] = "Hata Yok", [1] = "Aşırı Akım Hatası", [2] = "Aşırı Gerilim Hatası", [3] = "Düşük Gerilim Hatası", [4] = "Aşırı Yük Hatası", [5] = "Motor Tıkalı Hatası", [6] = "IGBT Aşırı Sıcaklık Hatası", [7] = "Harici Hata Girişi Aktif", -- Diğer hata kodları ve Türkçe açıklamaları buraya eklenecek } - Uyarı Mesajının Gösterilmesi: Eşleşen Türkçe mesaj, operatöre çeşitli şekillerde gösterilebilir:
- Mesaj Kutusu:
wx.wxMessageBox("İnverter Hatası: " .. errorMessages[errorCode], "ACİL UYARI", wx.wxOK | wx.wxICON_ERROR) - Mach4 Durum Çubuğu:
mc.mcCntlSetUserMessage("İnverter Hatası: " .. errorMessages[errorCode]) - Özel Ekran LED’leri veya Metin Alanları: Screen Designer ile Mach4 arayüzüne eklenen özel LED’ler veya metin alanları, Lua scripti tarafından güncellenebilir. Örneğin, bir OEM LED’i yakılıp söndürülebilir veya bir metin alanı hatanın Türkçe açıklamasını gösterebilir.
- Mesaj Kutusu:
- Script Tetikleme: Bu Lua scripti, bir Brain tarafından bir hata algılandığında tetiklenebilir, belirli aralıklarla çalışan bir timer scripti olarak ayarlanabilir veya Mach4’teki bir düğmeye atanabilir. En yaygın yöntem, Brain’in Modbus okuma sonucuna göre Lua scriptini çağırmasıdır.
- Modbus Okuma (Lua): Mach4 Lua API’sında bulunan
- Hata Sıfırlama Mekanizması:
- Bazı inverterler, hataları Modbus üzerinden belirli bir registera komut yazarak sıfırlama özelliğine sahiptir. Mach4’te bir düğme oluşturularak ve bu düğmeye bir Lua scripti atanarak (
mc.mcModbusWrite(id, slaveId, registerAddress, value)kullanarak) inverter hatası sıfırlanabilir.
- Bazı inverterler, hataları Modbus üzerinden belirli bir registera komut yazarak sıfırlama özelliğine sahiptir. Mach4’te bir düğme oluşturularak ve bu düğmeye bir Lua scripti atanarak (
| Parametre | Değer/Açıklama |
|---|---|
| İletişim Protokolü | Modbus RTU (RS485) veya Modbus TCP (Ethernet) |
| Mach4 Modbus ID | Mach4 içerisinde tanımlanan Modbus cihaz kimliği (0-3 arası) |
| İnverter Slave ID | İnverterin Modbus ağındaki benzersiz kimliği (1-247 arası) |
| Hata Register Adresi | İnverter kullanım kılavuzunda belirtilen hata kodu register adresi (örneğin 40001, 40002) |
| Veri Tipi | Okunacak registerın veri tipi (örneğin Unsigned Word, Integer) |
| Okuma Frekansı | Modbus sorgulama aralığı (örneğin 100ms, 250ms), Brain veya Timer Script ayarı |
| Mach4 Lua Fonksiyonları | mc.mcModbusRead(), mc.mcCntlSetUserMessage(), wx.wxMessageBox() |

Sahada Dikkat Edilmesi Gerekenler
- Doğru Modbus Parametreleri ve Kablolama:
Modbus iletişimi, özellikle seri (RS-485) tabanlı sistemlerde, doğru parametrelerle (Baud Rate, Parity, Stop Bits) ve uygun kablolama (blendajlı kablo, sonlandırma dirençleri) yapılmadığında kararsız çalışabilir veya hiç çalışmayabilir. İnverter ve Mach4’teki Modbus ayarlarının birebir eşleştiğinden emin olun. Kablo uzunluğu ve çevresel gürültü, sinyal bütünlüğünü etkileyebilir. Özellikle uzun mesafelerde veya yüksek elektromanyetik gürültüye sahip ortamlarda kaliteli, blendajlı RS-485 kabloları kullanmak ve her iki uçta 120 Ohm sonlandırma dirençlerini aktif etmek kritik öneme sahiptir. Modbus TCP kullanılıyorsa, IP adreslerinin çakışmadığından ve ağ bağlantısının stabil olduğundan emin olunmalıdır. - İnverter Kullanım Kılavuzunun Eksiksiz İncelenmesi:
Her inverter markası ve modelinin kendine özgü Modbus register haritası ve hata kodları listesi vardır. Hata kodlarının hangi registerda tutulduğu, veri tipi ve her bir sayısal kodun ne anlama geldiği inverterin kullanım kılavuzunda detaylı olarak belirtilmiştir. Bu kılavuz eksiksiz incelenmeli, hata register adresi doğru bir şekilde belirlenmeli ve Lua scriptindeki hata kodu-metin eşleşmeleri bu kılavuza göre yapılmalıdır. Yanlış register okumak veya kodları yanlış yorumlamak, hatalı uyarı mesajlarına yol açabilir ve sorunun teşhisini geciktirebilir. - Hata Sıfırlama Mekanizması ve Güvenlik Entegrasyonu:
Bir hata oluştuğunda, inverterin hatayı sıfırlama prosedürü (örneğin, belirli bir registera “1” yazma veya güç döngüsü) iyi anlaşılmalıdır. Mach4 üzerinden bir hata sıfırlama butonu entegre edilebilir; ancak bu işlem, güvenlik açısından kritik değerlendirilmelidir. Bazı hatalar, temel sorun giderilmeden sıfırlanmamalıdır. Ayrıca, kritik inverter hatalarında (örneğin aşırı akım, motor kilitlenmesi) makinenin güvenli bir şekilde durdurulması (E-Stop veya feed hold) için Mach4 içindeki diğer güvenlik mekanizmalarıyla entegrasyon düşünülmelidir. Bu, hem ekipmanın korunması hem de operatörün güvenliği için hayati öneme sahiptir. - Gecikme ve Senkronizasyon:
Modbus okuma frekansı ile hata uyarısının görünme hızı arasında bir denge kurulmalıdır. Çok sık okuma yapmak, sistem performansını etkileyebilirken, çok seyrek okuma yapmak, hatanın geç bildirilmesine neden olabilir. Genellikle 100ms – 500ms arası bir okuma frekansı yeterlidir. Ayrıca, Mach4’teki Brain veya Lua scriptlerinin tetiklenme mekanizmalarının (timer, event tabanlı) doğru çalıştığından ve hata anında gecikmeden uyarı verdiğinden emin olunmalıdır.

Sık Karşılaşılan Sorunlar ve Çözümleri
Bu tür bir sistem kurarken karşılaşılabilecek bazı yaygın sorunlar ve bunların çözüm yolları şunlardır:
- Modbus Bağlantı Sorunları (İnverterden Veri Gelmiyor):
- Sorun: Mach4 Modbus yapılandırmasında hata var veya inverterden veri okunamıyor.
- Çözüm: Modbus ayarlarını (COM portu, Baud Rate, Parity, Stop Bits, Slave ID, IP adresi) inverterin ayarlarıyla birebir kontrol edin. Kablolamayı (RS-485 için A/B hatlarının doğru bağlanması, sonlandırma dirençleri, blendaj) gözden geçirin. Modbus TCP için IP adresi çakışması veya ağ bağlantı sorunları olup olmadığını kontrol edin. Modbus test yazılımları (örneğin Modbus Poll) kullanarak inverter ile harici bir program üzerinden iletişim kurmayı deneyerek sorunun Mach4’ten mi yoksa Modbus hattından mı kaynaklandığını teyit edin.
- Yanlış Hata Kodu Okunması veya Yorumlanması:
- Sorun: Gelen hata kodu beklenen değer değil veya Lua scripti yanlış bir mesaj gösteriyor.
- Çözüm: İnverterin kullanım kılavuzundan hata kodlarının tutulduğu Modbus register adresini ve veri tipini (örneğin Unsigned Word) tekrar kontrol edin. Mach4 Brain veya Lua scriptindeki okuma adresinin ve veri tipinin doğru olduğundan emin olun. Lua scriptindeki hata kodu-metin eşleşmelerini (tablo/dictionary) inverter manuelindeki hata kodları listesiyle karşılaştırarak doğrulayın. Bazı inverterler hata kodunu farklı formatlarda (örneğin ondalık yerine onaltılık) döndürebilir, bu durumlarda Lua scriptinde uygun dönüştürme yapılmalıdır.
- Uyarı Mesajlarının Görünmemesi veya Yanlış Yerde Çıkması:
- Sorun: Hata oluşmasına rağmen Mach4 ekranında uyarı mesajı görünmüyor veya beklendiği gibi çalışmıyor.
- Çözüm: Lua scriptinin doğru tetiklendiğinden emin olun (Brain’den mi, timer’dan mı, butondan mı). Scriptte herhangi bir hata olup olmadığını kontrol etmek için Mach4’ün “Diagnostics” -> “View Lua Console” penceresini izleyin.
mc.mcCntlSetUserMessage()fonksiyonu genellikle Mach4’ün alt kısmındaki durum çubuğunda mesaj gösterir. Eğer özel bir mesaj kutusu (wx.wxMessageBox()) kullanılıyorsa, Mach4 penceresinin arkasında kalıp kalmadığını kontrol edin. Mach4 Screen Designer’ı kullanarak ekran üzerindeki özel LED’lerin veya metin alanlarının Lua scripti tarafından doğru şekilde güncellendiğinden emin olun.
- Performans Sorunları (Mach4 Yavaşlaması):
- Sorun: Modbus sorguları veya Lua scriptleri Mach4’ün performansını düşürüyor.
- Çözüm: Modbus okuma frekansını düşürün (örneğin 100ms yerine 250ms veya 500ms). Lua scriptlerinin sadece gerektiğinde (örneğin bir hata algılandığında) tetiklenmesini sağlayın. Aşırı karmaşık veya döngüsel işlemler içeren Lua scriptlerinden kaçının. Yalnızca kritik bilgileri okuyun ve işleyin.
- Hata Kodu Sıfırlama İşleminin Çalışmaması:
- Sorun: Mach4 üzerinden gönderilen hata sıfırlama komutu inverter tarafından algılanmıyor.
- Çözüm: İnverterin kullanım kılavuzundan hata sıfırlama için doğru Modbus register adresini ve yazılması gereken değeri (örneğin 1 veya 0) kontrol edin. Lua scriptinde
mc.mcModbusWrite()fonksiyonunun doğru parametrelerle kullanıldığından emin olun. Bazı inverterler, hatayı sıfırlamadan önce belirli koşulların (örneğin motorun durması) yerine getirilmesini isteyebilir.
Uzman Tavsiyesi
Mach4 ile inverter hata kodlarını okuyup operatöre Türkçe uyarılar sunmak, modern CNC sistemlerinde arıza teşhis ve giderme süreçlerini önemli ölçüde hızlandıran, üretim verimliliğini artıran ve iş güvenliğini pekiştiren kritik bir otomasyon uygulamasıdır. Bu rehberde detaylarıyla ele alınan Modbus iletişimi, Mach4 Brains ve Lua scriptlerinin entegrasyonu, sadece inverter hatalarını değil, aynı zamanda diğer Modbus destekli cihazların durum bilgilerini de merkezi bir kontrol platformu üzerinden yönetme esnekliği sunar. Başarılı bir uygulama için, inverterin teknik dokümantasyonuna tam hakimiyet, doğru Modbus parametrelerinin yapılandırılması ve Lua programlama dilinde temel yetkinlikler hayati öneme sahiptir. Saha tecrübeleri göstermektedir ki, bu tür bir entegrasyon projesine başlarken adım adım ilerlemek, her aşamayı dikkatlice test etmek ve olası hata senaryolarını önceden düşünmek en sağlıklı yaklaşımdır. Öncelikle Modbus bağlantısını ve tek bir register okumasını doğrulayın, ardından hata kodu eşleşmelerini ve son olarak kullanıcı arayüzü entegrasyonunu geliştirin. Karmaşık sistemlerde, hata kodlarını kategorilere ayırarak (kritik, uyarı, bilgi) farklı önceliklerde ve renklerde bildirimler sunmak, operatörün dikkatini doğru seviyede çekmek açısından faydalı olabilir. Ayrıca, sistemin gelecekteki genişlemelerini ve farklı inverter modelleriyle uyumluluğunu göz önünde bulundurarak modüler ve iyi yorumlanmış (commented) bir Lua kodu yazmak, uzun vadede bakım ve güncelleme maliyetlerini düşürecektir. Unutulmamalıdır ki, iyi tasarlanmış bir hata bildirim sistemi, sadece arıza anında değil, aynı zamanda önleyici bakım stratejilerinin geliştirilmesinde de değerli veriler sunarak genel tesis otomasyonunda önemli bir katma değer yaratır.

