Seri Protokol İzleme ve Çözme: Modbus, DLMS, M-Bus ve MASS
Enerji ve endüstriyel sistemlerde sayaçlar, PLC'ler, sensörler, RTU'lar ve sahadaki birçok cihaz birbiriyle seri haberleşme protokolleri üzerinden konuşur. Bu cihazları geliştirirken, devreye alırken veya sahadaki bir arızayı teşhis ederken çoğu zaman tek soru aynıdır: hat üzerinde gerçekte ne gidip geliyor? Cevabı görebilmek için ham verinin izlenmesi ve anlamlı, etiketli değerlere çözülmesi gerekir. Bu rehberde en yaygın seri protokolleri, izleme ve çözme sırasında karşılaşılan zorlukları ve bu işi pratikleştiren yaklaşımları ele alıyoruz.
Seri Haberleşme Neden Önemli?
AMR/AMI (uzaktan sayaç okuma), dağıtım otomasyonu ve endüstriyel kontrol sistemlerinde veri genellikle RS-232, RS-485 hatları veya TCP üzerinden taşınır. RS-485, tek bir çift telli hat üzerinde onlarca cihazın (multidrop) haberleşmesine izin verdiği için sahada özellikle yaygındır.
Bu katmanı doğru okuyabilmek; faturalandırma doğruluğu, arıza teşhisi, cihaz uyumluluğu ve sistem entegrasyonu için kritiktir. Uygulama katmanında her şey yolunda görünse bile, sorun çoğu zaman baud-rate uyuşmazlığı, yanlış parite, hatalı CRC veya zamanlama (timeout) gibi alt seviyede gizlenir. Bu yüzden bayt seviyesinde görünürlük, üst seviye raporların veremediği cevapları verir.
En Yaygın Seri Protokoller
Modbus (RTU / ASCII / TCP)
Endüstriyel otomasyonun ortak dili. Register tabanlı basit bir model kullanır: fonksiyon kodlarıyla (örneğin holding/input register okuma, register yazma) cihazdaki adreslere erişilir. RTU modunda çerçeveler ikili (binary) ve CRC-16 ile korunur; ASCII modu metin tabanlıdır; TCP modunda ise Ethernet üzerinden taşınır. PLC'lerde, enerji analizörlerinde ve sayaçlarda yoğun şekilde kullanılır.
DLMS/COSEM
Akıllı elektrik sayaçlarının uluslararası standardı. Veriyi OBIS kodlarıyla adreslenen nesneler olarak modeller; HDLC çerçeveleme, ilişki (association) kurulumu, AES-GCM şifreleme ve HLS (yüksek seviye) kimlik doğrulama içerir. Şifreli oturumlarda trafiğin doğru anahtar ve güvenlik paketiyle çözülmesi gerekir.
M-Bus
Su, gaz, ısı ve elektrik sayaçlarında yaygındır; kablolu (M-Bus) ve kablosuz (wM-Bus) çeşitleri vardır. Birincil/ikincil adresleme ve DIF/VIF alanlarıyla kendini tanımlayan veri yapısı sayesinde, her kayıt hangi birimi ve ölçeği taşıdığını kendisi bildirir.
IEC 62056-21
Sayaçlarla optik prob veya seri arabirim üzerinden haberleşmede kullanılan klasik standart. Mode A–E oturum açma akışlarına sahiptir; tipik olarak düşük bir baud-rate ile el sıkışılıp ardından daha yüksek hıza geçilerek ASCII veri okunur.
MASS
Türkiye'deki sayaç haberleşmesinde kullanılan yerel standart. Yerel ekosistemle çalışan ekipler için doğru şekilde çözülmesi, uyumluluk testleri açısından önemlidir.
Hattı Dinlemek: Sniffing ve Pasif İzleme
Bazı durumlarda cihaza komut göndermek istemezsiniz; yalnızca iki cihaz arasındaki canlı konuşmayı izlemek gerekir. Pasif dinleme (sniffing), hattı bozmadan trafiği yakalamanızı sağlar — örneğin bir veri toplayıcı (concentrator) ile sayaç arasındaki gerçek alışverişi görmek için. Bu yöntem, “benim isteğime nasıl cevap veriyor?” yerine “sistem normalde nasıl çalışıyor?” sorusuna yanıt verir ve özellikle aralıklı (intermittent) arızaları yakalamada değerlidir.
Protokol İzleme ve Çözmede Zorluklar
Hat üzerindeki veri ham bayt dizileridir; çıplak gözle anlamlandırmak zordur. Pratikte sık karşılaşılan zorluklar:
- Ham baytları doğru protokole ve çerçeve sınırlarına göre çözmek
- Canlı bir hattı bozmadan dinlemek (sniffing)
- Doğru baud-rate, parite ve durdurma biti kombinasyonunu yakalamak
- Cihaza özel register veya OBIS haritalarını anlamlı etiketlere eşlemek
- Şifreli (örneğin DLMS) oturumları doğru anahtarla çözmek
- Tekrarlanabilir testleri elle değil otomatik yürütmek
Test ve Hata Ayıklamayı Otomatikleştirmek
İzleme tek başına yeterli değildir; çoğu zaman aynı senaryoyu defalarca çalıştırmanız gerekir: bir register dizisini okumak, bir sayacı belirli bir sırayla sorgulamak veya bir üretim hattındaki onlarca cihazı aynı testten geçirmek. Bu noktada betikleştirme (scripting) ve otomasyon devreye girer. Python tabanlı akışlarla (flow) sorgu dizilerini tanımlayabilir, gelen yanıtları doğrulayabilir ve sonuçları raporlayabilirsiniz. Daha ileri giderek, bir yapay zeka ajanının (AI/MCP) test adımlarını yürütmesine izin vererek tekrarlayan işleri otomatikleştirebilirsiniz.
Tipik Saha Senaryoları
- Sayaç devreye alma: Yeni kurulan bir sayacın doğru adres, baud-rate ve protokolle yanıt verdiğini doğrulamak.
- Modbus teşhisi: Yanıt vermeyen bir cihazda yanlış register adresi, CRC hatası veya zaman aşımını tespit etmek.
- DLMS güvenlik kontrolü: Şifreli bir oturumda kimlik doğrulama ve şifre çözmenin beklendiği gibi çalıştığını görmek.
- M-Bus okuma: Bir hattaki birden çok sayacı adresleyip DIF/VIF değerlerini doğru birimlerle okumak.
Modern Bir Çözüm: OmniConsole
OmniConsole, bu protokollerin tümünü gerçek zamanlı izleyip etiketli değerlere çözen, çapraz platform (Windows & Linux) bir seri port monitörü ve protokol çözücüsüdür. Öne çıkan özellikleri:
- Modbus, DLMS/COSEM, M-Bus, IEC 62056-21 ve MASS protokollerini çözme
- Canlı hat dinleme (sniff modu)
- Online cihaz/register kütüphanesi
- Python “flow” otomasyonu ve AI/MCP ile kontrol
- SSH üzerinden uzak (edge) erişim ve otomatik baud-rate
- 10 görüntüleme modu, frame builder ve dışa aktarma
Klasik seri terminal ve izleme araçlarına modern bir alternatif olarak konumlanır. 30 gün ücretsiz denenebilir; detaylar ve indirme için omniconsole.dev adresini ziyaret edebilirsiniz.
Neden OmniConsole?
Bu protokollerle çalışan mühendisler için OmniConsole'u öne çıkaran başlıca nedenler:
- Tek araç, çok protokol: Modbus, DLMS, M-Bus, IEC 62056-21 ve MASS için ayrı ayrı yazılımlara gerek kalmaz.
- Otomatik çözümleme: Ham baytlar yerine etiketli, anlamlı değerler görürsünüz; hata ayıklama hızlanır.
- Otomasyon: Python “flow”ları ve AI/MCP kontrolüyle tekrarlanan testleri otomatikleştirebilirsiniz.
- Çapraz platform ve iki dilli: Windows ve Linux'ta, Türkçe/İngilizce arayüzle çalışır.
- Uzaktan erişim: SSH üzerinden sahadaki bir seri hattı uzaktan izleyebilirsiniz.
- Şeffaf, ömür boyu lisans: Abonelik yok; $39.90'dan başlayan ömür boyu lisans ve 30 gün ücretsiz deneme.
Hızlı Başlangıç
OmniConsole ile yola çıkmak genellikle birkaç dakika sürer: uygulamayı indirip açın, seri portu (veya TCP bağlantısını) seçin, protokolü belirleyin ve trafiğin gerçek zamanlı olarak çözülmesini izleyin. Otomatik baud-rate ve cihaz kütüphanesi, doğru ayarları bulma yükünün büyük kısmını üstlenir; böylece kuruluma değil, asıl işe odaklanırsınız.
Sonuç
Seri protokollerin doğru izlenmesi ve çözülmesi, akıllı sayaç ve endüstriyel sistemlerin geliştirilmesinde vazgeçilmezdir. Sorunların çoğu uygulama katmanında değil, hattın derinliklerinde gizlidir; bayt seviyesinde görünürlük ise bu sorunları gün yüzüne çıkarır. Modbus, DLMS, M-Bus, IEC 62056-21 ve MASS trafiğini tek bir araçta izleyip çözmek, betikle otomatikleştirmek ve uzaktan erişmek isterseniz OmniConsole'u inceleyebilirsiniz.