Telefon: 0 (552) 380 25 25  |  Hafta içi 10:00–18:00 · Teknik destek 7/24

🇬🇧 EN

Digital Bridge Blog

IoT ve Donanım

Modbus Nedir? RTU ve TCP Farkı, Yazmaç Yapısı ve Sahada Sorunsuz Veri Okuma Rehberi

Modbus nedir, nasıl çalışır? RTU ve TCP farkı, yazmaç tipleri, fonksiyon kodları, RS-485 kablolama hataları ve güvenli entegrasyon adımlarını anlatıyoruz.

8 dk okuma  · Digital Bridge Mühendislik Ekibi
Modbus Nedir? RTU ve TCP Farkı, Yazmaç Yapısı ve Sahada Sorunsuz Veri Okuma Rehberi

Modbus, bir ana cihazın (master/istemci) sahadaki bağımlı cihazlara (slave/sunucu) sırayla soru sorup numaralı yazmaçlardaki değerleri okuduğu ya da yazdığı, açık ve lisans bedelsiz bir endüstriyel haberleşme protokolüdür. RS-485 hattı üzerinde çalışan sürümü Modbus RTU, Ethernet üzerinden çalışan sürümü Modbus TCP'dir. Enerji analizörü, sayaç, invertör, sürücü ve PLC okumada en yaygın yöntemlerden biridir.

Modbus nedir ve neden hâlâ her panoda karşınıza çıkıyor?

Bir fabrikanın elektrik panosunu açtığınızda enerji analizörlerinin arkasında iki telli bir hat görürsünüz; bir binanın klima santralinde, bir güneş santralinin invertöründe ya da bir pompa istasyonunun frekans sürücüsünde de aynı hat vardır. Bu hattın konuştuğu dil çoğu zaman Modbus'tur. Yeni bir izleme projesi başladığında ilk soru bu yüzden "cihazlarınız Modbus destekliyor mu?" olur.

Protokolün bu kadar yaygın olmasının nedeni sadeliği ve açıklığıdır. Modbus Organization'ın SSS sayfasına göre Modbus, bugünkü adıyla Schneider Electric olan Modicon tarafından 1979'da piyasaya sürüldü; şartname ücretsiz indirilebiliyor ve Modbus ile Modbus TCP/IP'yi kullanmak için lisans bedeli ödenmiyor. Aynı sayfa, Modbus TCP/IP için 502 numaralı Ethernet portunun ayrıldığını belirtiyor.

Sadelik aynı zamanda sınırdır. Modbus bir değerin adını, birimini ya da ölçeğini taşımaz; yalnızca "40001 numaralı yazmaçta 2315 var" der. Bu değerin 231,5 volt mu yoksa 23,15 amper mi olduğunu cihazın kılavuzundaki yazmaç tablosu söyler. Sahadaki sorunların çoğu protokolden değil, bu tablonun yanlış okunmasından çıkar.

Yanlış kurulmuş bir Modbus hattının maliyeti

Modbus projelerinde kayıp genellikle görünmez başlar: bir analizör ara ara cevap vermez, bir değer on kat büyük görünür, gece yarısı bir sayaç sıfıra düşer. Sonuçta ya kararlar hatalı veriyle alınır ya da ekip veriye güvenmeyi bırakıp elle ölçüme döner.

Siemens'in The True Cost of Downtime 2024 raporuna göre büyük üretim tesisleri ayda ortalama 25 plansız duruş yaşıyor ve ayda 27 saat üretim kaybediyor.

Bu duruşların erken işaretleri çoğu zaman bir sürücünün akımında, bir motorun sıcaklığında ya da bir pompanın basıncında zaten vardır. O işaretler Modbus üzerinden düzenli ve doğru okunmuyorsa kestirimci bakımın ya da alarm sisteminin besleneceği veri de yoktur.

İkinci maliyet güvenliktir. Modbus'ta kimlik doğrulama ve şifreleme yoktur; ağa erişen herkes okuma ve yazma komutu gönderebilir. Dragos'un FrostyGoop analizine göre bu zararlı yazılım endüstriyel kontrol cihazlarıyla doğrudan 502 numaralı port üzerinden Modbus TCP ile konuşuyor. Aynı analize göre Ukrayna'nın Lviv kentindeki bir bölgesel ısıtma şirketine yapılan saldırıda saldırganlar büyük olasılıkla dışa açık bir yönlendiricideki açıktan ağa girdi; ağ yeterince bölümlenmemişti ve ısıtma kontrol cihazlarına gönderilen Modbus komutları müşterilerin iki gün ısıtmasız kalmasına yol açtı.

Modbus nasıl çalışır: yazmaçlar ve fonksiyon kodları

Modbus'ta iletişimi her zaman ana cihaz başlatır; bağımlı cihaz yalnızca kendisine sorulana cevap verir. Veriler dört tabloda tutulur:

Veri tablosuBoyutErişimTipik içerikOkuma / yazma fonksiyon kodu
Coil (bobin)1 bitOkuma ve yazmaRöle, çalıştır/durdur komutu01 / 05, 15
Discrete input1 bitYalnızca okumaKapı kontağı, arıza girişi02
Input register16 bitYalnızca okumaÖlçülen gerilim, sıcaklık, debi04
Holding register16 bitOkuma ve yazmaAyar değeri, sayaç, parametre03 / 06, 16

Cihaz kılavuzlarında adresler iki farklı biçimde yazılır. "40001" gösterimi tablo tipini ilk rakamla anlatır ve 1'den sayar; protokolün kendisi ise adresi 0'dan başlatır. Bu yüzden 40001, telde 0 adresine karşılık gelir. Yazılımda bir kaydırma yapılmazsa tüm değerler bir yazmaç kayar ve ekran anlamsız sayılarla dolar.

16 bitlik bir yazmaç, işaretsiz okunursa 0–65535, işaretli okunursa −32768 ile 32767 arasında bir tam sayı taşır. Daha büyük sayaçlar ya da ondalıklı değerler iki yazmaçla (32 bit) gönderilir; hangi yazmacın önce geldiği (word order) üreticiden üreticiye değişir. Enerji sayacında kWh değeri ters sırayla okunursa milyonlarca kilovatsaatlik saçma bir sonuç çıkar ve fark ilk faturada anlaşılır.

Modbus RTU ile Modbus TCP arasındaki fark

İki sürüm aynı veri modelini ve aynı fonksiyon kodlarını kullanır; farklı olan, mesajın nasıl taşındığıdır:

ÖlçütModbus RTUModbus TCP
Fiziksel katmanSeri hat, çoğunlukla RS-485 (iki tel + referans)Ethernet, Wi-Fi veya hücresel ağ üzerinden TCP/IP
AdreslemeHat üzerinde 1–247 arası cihaz adresiIP adresi + birim tanımlayıcı (Unit ID)
Hata kontrolüHer mesajda CRCTCP katmanına bırakılır
Aynı anda sorguHatta tek konuşma, sıraylaBirden fazla istemci, paralel bağlantılar
Hız sınırıBaud hızı (çoğunlukla 9600–115200) ve hat uzunluğuAğ bant genişliği, pratikte cihazın cevap süresi
Tipik yerPano içi analizör, sürücü, sayaç, sensörPLC, ağ geçidi, SCADA sunucusu, invertör
Sık hataSonlandırma direnci, polarite, parite uyuşmazlığıYanlış Unit ID, açık bırakılan 502 portu

Cihazlar aynı panoda birbirine yakınsa, yalnızca seri port sunuyorsa ve veriyi tek bir sistem okuyacaksa RTU yeterlidir. Cihazlarda zaten Ethernet varsa, aynı veriyi birden fazla sistem okuyacaksa ya da mesafe seri hattı zorluyorsa TCP daha doğru seçimdir. Sahada ikisi çoğu zaman birlikte çalışır. Bir Modbus ağ geçidi pano içindeki RTU hattını okur, veriyi Ethernet tarafında Modbus TCP ya da MQTT olarak sunar. Ağ geçidinin arkasındaki cihazlara Unit ID ile ulaşılır; bu değer RTU hattındaki cihaz adresine denk gelir.

Modbus'un tamamlayıcıları da vardır. Anlamı ve güvenliği veriyle birlikte taşımak gerektiğinde OPC UA'nın bilgi modeli, çok sayıda uzak sahadan buluta veri taşımada MQTT protokolü öne çıkar.

Bina tarafında ise HVAC cihazları çoğunlukla BACnet protokolünü de konuşur; aynı binada Modbus sayaçlar ile BACnet kontrol cihazları yan yana bulunur.

Sahada güvenilir Modbus entegrasyonu: 7 adım

Modbus'u "bağladık, çalışıyor" düzeyinden yıllarca sorunsuz işleyen bir veri kaynağına dönüştürmek için şu sırayı öneriyoruz:

  1. Cihaz ve yazmaç envanteri çıkarın. Her cihazın markası, modeli, yazılım sürümü, adresi ve kılavuzdaki yazmaç tablosu tek listeye alınır. Ölçek çarpanı, birim, veri tipi ve word order her değer için yazılır.
  2. Hat topolojisini düzeltin. RS-485 hattı yıldız değil zincir (daisy chain) çekilir, iki uca sonlandırma direnci takılır, bükümlü ve ekranlı kablo kullanılır. Hat başına cihaz sayısı ve uzunluk sınırları kontrol edilir.
  3. Seri ayarları standartlaştırın. Aynı hattaki tüm cihazlarda baud hızı, parite ve stop biti aynı olmalıdır; her adres yalnızca bir kez kullanılır.
  4. Sorgu planı yapın. Ardışık yazmaçlar tek sorguda toplu okunur, hızlı değişen değerlerle yavaş değişenler farklı aralıklarla sorgulanır. Zaman aşımı ve yeniden deneme sayısı cihazın gerçek cevap süresine göre ayarlanır.
  5. Değerleri doğrulayın. Ekrandaki gerilim, akım ve sayaç değerleri cihazın kendi ekranı ya da pens ampermetre ile karşılaştırılır. Tutmayan değerin nedeni neredeyse her zaman ölçek, offset ya da word order hatasıdır.
  6. Ağı ayırın ve yazmayı kısıtlayın. Modbus TCP cihazları OT ağında ayrı bir segmentte tutulur, 502 portu internete asla açılmaz, uzaktan erişim VPN ile yapılır. Yazma yetkisi yalnızca gereken istemciye verilir.
  7. Veriyi kaydedin ve izleyin. Okunan değerler zaman damgasıyla zaman serisi veritabanına yazılır; iletişim hataları da ayrı bir metrik olarak izlenir.

Canlıya almadan önce şu kontrol tablosuyla hattı gözden geçirin:

KontrolSorulacak soruYanlışsa ne olur?
Adres kaydırma40001 telde 0 olarak mı gönderiliyor?Tüm değerler bir yazmaç kayar
ÖlçekDeğer 10'a, 100'e mi bölünmeli?Gerilim 2315 V görünür
Word order32 bitlik sayaç doğru sırayla mı birleşiyor?Enerji tüketimi anlamsız çıkar
SonlandırmaHattın iki ucunda direnç var mı?Aralıklı CRC hataları, cevap vermeyen cihaz
Erişim502 portu dışarıdan erişilebilir mi?Yetkisiz okuma ve yazma riski

Eski makinelerde PLC ya da Modbus portu hiç yoksa ek giriş modülü veya akım sensörüyle başlamak gerekir; bunu eski makineleri dijitalleştirme rehberinde anlattık. Güvenlik tarafının ayrıntıları ise OT güvenliği ve SCADA yazımızda.

Digital Bridge'de Modbus entegrasyonunu nasıl yapıyoruz?

İşe keşif ve ihtiyaç analiziyle başlıyoruz. Endüstri 4.0 projelerinde ücretsiz saha değerlendirmesi yapıyor, panolardaki cihazları, mevcut RS-485 hatlarını, PLC'leri ve ağ yapısını yerinde çıkarıyoruz. Hangi verinin hangi karar için gerektiğini ekiple birlikte belirledikten sonra kapsamı, aşamaları ve bedeli net yazılı bir teklif hazırlıyoruz.

Pilot aşamasında bir pano ya da bir hat seçip veriyi uçtan uca doğruluyoruz. Siemens, Allen-Bradley, Mitsubishi, Schneider ve diğer markalara Modbus, OPC-UA, Profibus ve Ethernet üzerinden bağlanarak veriyi SCADA ve HMI ekranlarına taşıyoruz. Firmaya özel geliştirdiğimiz SCADA'da kaynak kodu müşteriye aittir ve ek lisans bedeli çıkmaz.

Enerji analizörlerinden okunan tüketim, güç faktörü ve reaktif değerler enerji izleme ve yönetimi çözümüne akar; bu verinin fabrikada nasıl kullanıldığını fabrikada enerji izleme yazısında anlattık. Binalarda akıllı bina ve BMS projelerimizde Modbus'u BACnet, KNX ve DALI ile aynı yazılımda birleştiriyoruz.

Hazır ağ geçidinin yetmediği durumlarda cihaz imalatı ve IoT ekibimiz sahaya uygun kart ve yazılımı geliştiriyor; bu sürecin aşamaları IoT cihaz geliştirme süreci yazımızda. Modbus'tan gelen veriyi ERP ve diğer iş yazılımlarıyla buluşturmak ise sistem entegrasyonları hizmetimizin konusu. OT ağ ayrımı ve uzaktan erişim tasarımında siber güvenlik ekibimiz de projeye dahil oluyor.

Dağınık sahalarda, örneğin pompa istasyonlarının uzaktan izlenmesinde, Modbus hattı sahadaki ağ geçidinde kalır ve veri merkeze hücresel bağlantıyla taşınır.

Nereden başlamalı?

Modbus projesi tüm tesisi aynı anda bağlamayı gerektirmez. Sorunun en çok hissedildiği bir pano, iyi hazırlanmış bir yazmaç listesi ve doğrulanmış birkaç değer, üzerine yeni cihaz eklenebilecek güvenilir bir temel kurar. İlgili rehberlerin tamamı için IoT ve donanım yazılarımıza göz atabilirsiniz.

Cihazlarınızın Modbus üzerinden nasıl okunacağını ve verinin nereye akacağını birlikte planlamak için bizimle iletişime geçin; saha değerlendirmesinde envanteri çıkarıp ilk pilot için somut bir kapsam öneriyoruz.

Sizin durumunuza birlikte bakalım

Sürecinizi anlatın; ihtiyaç analizinin ardından kapsamı, aşamaları ve bedeli içeren yazılı teklif gönderelim.

Teklif İsteyin 0 (552) 380 25 25
En çok sorulan sorular

Sık Sorulan Sorular

Modbus RTU mu, Modbus TCP mi kullanmalıyım?

Seçimi cihaz ve altyapı belirler. Pano içindeki analizör, sayaç ve sürücülerin çoğu RS-485 üzerinden Modbus RTU konuşur ve bu hat kısa mesafede ucuz, sağlamdır. PLC, invertör ve ağ geçidi gibi Ethernet'e bağlı cihazlarda Modbus TCP daha pratiktir. Çoğu projede RTU hattı bir ağ geçidiyle toplanır, Ethernet tarafında TCP olarak sunulur.

Modbus'ta 40001 adresi neden yazılımda 0 olarak giriliyor?

40001 gösterimi, holding register tablosunu ilk rakamla belirten ve 1'den sayan eski bir kılavuz alışkanlığıdır. Protokolün kendisi ise adresi 0'dan başlatır. Bu yüzden 40001 telde 0 adresine, 40010 ise 9 adresine karşılık gelir. Yazılım bu kaydırmayı otomatik yapmıyorsa değerler bir yazmaç kayar ve anlamsız sonuçlar görülür.

Bir RS-485 hattına kaç Modbus cihazı bağlanabilir?

Modbus RTU adresleme 1 ile 247 arasında cihaz adresine izin verir, ancak pratik sınırı RS-485 sürücülerinin yük değeri, kablo uzunluğu ve sorgu süresi belirler. Çok fazla cihaz tek hatta toplandığında her değerin güncellenme aralığı uzar. Kritik ve hızlı değişen değerler için hattı bölmek ya da ikinci bir seri port kullanmak daha sağlıklıdır.

Modbus güvenli bir protokol mü?

Klasik Modbus'ta kimlik doğrulama, yetkilendirme ve şifreleme yoktur; ağa erişen herkes okuma ve yazma komutu gönderebilir. Bu yüzden güvenlik ağ düzeyinde sağlanır: OT ağı ofis ağından ayrılır, 502 portu internete açılmaz, uzaktan erişim VPN ile yapılır ve yazma yetkisi sınırlandırılır. TLS kullanan güvenli Modbus sürümünü destekleyen cihazlar ise hâlâ azınlıktadır.

Modbus entegrasyonunun maliyetini neler belirler?

Maliyeti cihaz sayısı ve markası, mevcut RS-485 hatlarının durumu, gereken ağ geçidi sayısı, okunacak yazmaç miktarı ve verinin aktarılacağı sistem belirler. Kılavuzu eksik cihazlar için yazmaç tablosu çıkarmak, hat düzeltme ve OT ağ ayrımı da iş kalemine eklenir. Bu yüzden saha keşfi yapılmadan sağlıklı bir fiyat vermek mümkün değildir; teklif envanter çıkarıldıktan sonra kapsam ve aşamalarıyla hazırlanır.

Cihazımda Modbus yoksa veri okunabilir mi?

Evet. Cihazın analog ya da dijital çıkışları varsa bir giriş modülü bu sinyalleri okuyup Modbus yazmaçlarına dönüştürebilir. Hiç çıkışı olmayan makinelerde akım sensörü, sayaç ya da titreşim sensörü eklenerek temel çalışma bilgisi toplanır. Üreticiye özel protokol kullanan cihazlarda ise uygun protokol dönüştürücü veya ağ geçidi aradaki çeviriyi yapar.

Sorunuz burada yok mu? Bize Sorun

Bir Mühendisle Konuşun

Çözmek istediğiniz işi anlatın, yazılı teklifle dönelim.