05.09.2026

Modbus RTU'dan MQTT'ye: Saha Verisini Buluta Taşıyan Edge Gateway Tasarımı

Modbus RTU'dan MQTT'ye: Saha Verisini Buluta Taşıyan Edge Gateway Tasarımı

Bir tesiste onlarca yıllık PLC'ler, enerji analizörleri ve akış ölçerler Modbus RTU konuşur. Üstteki bulut platformu ise MQTT bekler. Aradaki köprüyü kuran cihaz, edge gateway'dir. Basit gibi görünür ama iyi bir gateway ile kötü bir gateway arasındaki fark, tesisin verisine güvenip güvenemeyeceğinizi belirler. Bu yazıda saha verisini buluta taşıyan bir gateway'in tasarım kararlarını inceliyoruz.

Modbus tarafı: register haritası çıkarmak

Modbus'ta veri, adreslenmiş register'larda tutulur ve cihaz üreticisi bunların anlamını bir tabloyla verir. Gateway'in ilk işi bu haritayı bilmektir:

  • Veri tipi: 16-bit register'lar; 32-bit değerler iki register'a bölünür. Byte ve word sırası (endianness) üreticiye göre değişir ve yanlış yorumlandığında değerler saçmalar.
  • Ölçekleme: Ham 2350 değeri, 235.0 V anlamına gelebilir. Ölçek katsayısı haritada tanımlıdır.
  • Fonksiyon kodu: Holding register, input register, coil ve discrete input farklı okuma komutları ister.

İyi bir gateway bu haritayı cihaz başına yapılandırılabilir tutar; kod değişikliği gerektirmez.

Polling stratejisi

Modbus RTU yarı çift yönlü bir hattır: aynı anda tek cihaz konuşur. 9600 baud'da bir hatta 30 cihaz varsa, hepsini tek tek sorgulamak saniyeler alır. Tasarım kararları:

  • Değişken periyot: Enerji ölçümü 5 saniyede bir yeterliyken, bir alarm bitini 200 ms'de bir okumak isteyebilirsiniz. Her register grubuna kendi periyodunu atayın.
  • Toplu okuma: Ardışık register'ları tek istekte okumak, cihaz başına onlarca ayrı isteğe göre çok daha verimlidir.
  • Zaman aşımı ve yeniden deneme: Cevap vermeyen bir cihaz tüm döngüyü kilitlememeli. Makul bir zaman aşımı, sınırlı yeniden deneme ve ardından "bu cihaz çevrimdışı" durumu.
  • Hat sağlığı: CRC hata oranı, zaman aşımı sayısı ve döngü süresi ölçülüp raporlanmalıdır. Bunlar kablajın bozulduğunun ilk işaretidir.

MQTT tarafı: konu tasarımı ve yük biçimi

MQTT'de veri, hiyerarşik konulara (topic) yayınlanır. Sürdürülebilir bir şema:

tesis/{tesis_id}/hat/{hat_id}/cihaz/{cihaz_id}/olcum/{buyukluk}

Yük için genelde JSON kullanılır; her mesajda değer, birim, zaman damgası ve kalite bayrağı bulunur. Zaman damgası gateway'de basılır, bulutta değil; çünkü mesaj gecikmeli iletildiğinde ölçümün gerçek zamanı korunmalıdır.

  • QoS seçimi: Ölçüm telemetrisi için QoS 1 (en az bir kez) çoğu durumda doğru dengedir. QoS 2 ek gecikme getirir, sayaç türü veriler dışında gerekmez.
  • Retained mesaj: Cihazın son bilinen durumunu retained yayınlamak, panele yeni bağlanan istemcinin hemen dolu ekran görmesini sağlar.
  • Birleştirme: Yüksek frekanslı veride her örneği ayrı mesaj yapmak broker'ı yorar. Bir saniyelik pencereyi tek mesajda dizi olarak göndermek çoğu zaman daha iyidir.

Kritik kısım: kenar tamponlama (store-and-forward)

Bağlantı koptuğunda gateway ölçmeyi bırakmaz. Veriyi yerel kalıcı depolamaya yazar ve bağlantı dönünce sıradaki mesajları zaman damgalarıyla birlikte iletir. Tasarım noktaları:

  • Tampon boyutu: Kaç saatlik kesintiyi kaldırabilmelisiniz? Bu, depolama ve örnekleme hızından hesaplanır.
  • Taşma politikası: Tampon dolduğunda en eskiyi mi atarsınız, örnekleme hızını mı düşürürsünüz? Uygulamaya bağlıdır ve bilinçli seçilmelidir.
  • Flash aşınması: Sürekli yazma, ucuz flash'ı yıllar değil aylar içinde bitirir. Aşınma dengeleme (wear leveling) yapan bir dosya sistemi ve makul yazma periyodu gerekir.
  • Sıra bütünlüğü: Bağlantı döndüğünde mesajlar sırayla ve tekrarsız gitmeli; bulut tarafı yine de idempotent olmalı.

Güvenlik

Gateway, OT ağı ile internet arasında durur; saldırı yüzeyidir.

  • MQTT bağlantısı TLS ile şifrelenir, istemci sertifikasıyla kimlik doğrular.
  • Modbus tarafı kimlik doğrulaması olmayan bir protokoldür; gateway bu ağı dışarıya asla köprülemez, yalnızca özet veriyi tek yönde geçirir.
  • Gateway firmware'i imzalı ve uzaktan güncellenebilir olmalı, yapılandırma sırları şifreli saklanmalıdır.

Özet

İyi bir edge gateway üç işi güvenilir yapar: Modbus register'larını doğru tipte ve ölçekte okumak, veriyi anlamlı bir MQTT konu şemasına oturtmak ve bağlantı kesildiğinde veriyi zaman damgasıyla tamponlayıp sonra iletmek. Zorluk protokolleri konuşmakta değil; hat sağlığını izlemek, kesintiye dayanmak ve iki ağ arasındaki güvenlik sınırını korumakta. Bitronix'in saha ağ geçidi projelerinde bu üç başlık tasarımın merkezinde durur.

Tüm Duyurulara Dön
WhatsApp Destek