Endüstriyel sahalarda Modbus-RTU hâlâ en yaygın seri haberleşme protokollerinden biri. Ne yazık ki SCADA operatörlerinin günlüğüne en sık düşen alarm da onun: "communication failure", "device offline", "timeout". Sorunun kaynağı genelde Modbus standardı değil; çoğunlukla saha kablolaması, donanım tarafı veya yapılandırma uyumsuzluğudur.
Bu yazıda, son 10 yılda farklı tesislerde (endüstriyel tesis, ilaç fabrikası, havalimanı BMS, bankacılık veri merkezi) karşılaştığımız Modbus-RTU sorunlarının kök neden listesini ve saha pratiğiyle nasıl ayıklandığını anlatıyoruz.
Önce hattı yalıtın: hangi cihazda kopma var?
Birden fazla slave aynı bus'ta ise, önce hangi adresin sorunlu olduğunu netleştirin. SCADA loglarında veya gateway istatistiğinde her slave'in CRC error / timeout sayısına bakın. Genelde bir veya iki cihaz toplam hatanın büyük çoğunluğunu üretir — onlar bus'a fiziksel olarak en uç noktada, en uzakta veya en gürültülü ortamda olur.
1. Hat sonlandırma (termination) direncleri
RS-485 hattının başında ve sonunda 120 Ω terminasyon direnci olmalı. Sahada en sık görülen yanlış:
- Hiç terminasyon yok — yüksek baud'da yansıma, CRC error
- Her cihazda terminasyon takılı (bazı master cihazlar dahili dirence sahip) — toplam empedans düşüp sürücü zorlanıyor
- Sadece bir uçta terminasyon var — yansıma yine sürer
Test: Bus'ı kapatın, multimetre ile A-B uçları arasındaki direnci ölçün. Beklenen ~60 Ω (iki 120 Ω paralel). 120 Ω → tek terminasyon. 30 Ω altı → bus'ta üç veya daha fazla terminasyon var.
2. Bias (pull-up/pull-down) direncleri eksik
Hat üzerinde aktif master yokken A-B arasında belirsiz seviye oluşur. Master'ın susduğu anlarda fail-safe seviye için biasing şart. Bazı USB-RS485 çeviriciler dahili bias sağlamaz. Sonuç: sahanın bir kısmı veri görür, bir kısmı görmez.
3. Baud rate, parity, stop bit uyumsuzluğu
Bir slave 9600 8N1, master 9600 8E1 yapılandırılmışsa CRC error sürekli üretilir. Cihaz kılavuzlarını kontrol edin; özellikle parity kısmı atlanır.
| Cihaz | Baud | Data | Parity | Stop |
|---|---|---|---|---|
| Schneider iEM3155 | 19200 | 8 | Even | 1 |
| Carlo Gavazzi EM21 | 9600 | 8 | None | 2 |
| Janitza UMG 96 | 38400 | 8 | None | 1 |
4. Slave adres çakışması
Birden fazla cihaz aynı adreste ise her ikisi de cevap verir, frame'ler çarpışır, master CRC error veya kısa response görür. Yeni eklenen panellerde fabrika varsayılan adresleri (genelde 1) sık sık çakışır.
İpucu: Yeni cihaz takarken bus'a takmadan önce loopback üzerinden adresini değiştirin, sonra bus'a alın.
5. Topraklama farkı (ground loop)
Uzun mesafe (50 m+) Modbus hatlarında iki ucun topraklama potansiyelleri farklı olabilir. Bu durumda A-B sinyalleri "common mode" gürültü altında kaybolur. Belirti: kablo metal kapıya temas edince hata patlar, ayrıldığında düzelir.
Çözüm: izolasyonlu RS-485 sürücü + SG (signal ground) kablosu (3'üncü tel) + tek uçtan topraklama.
6. Kablo kalitesi ve segmentasyon
Modbus-RTU için twisted pair, gerekirse shielded (STP) kablo şart. Saha kabin içinde güç kablosuyla aynı koridorda 100+ metre gidiyorsa frekans-modüle gürültü hatanın asıl kaynağıdır. Bus topolojisi daisy-chain olmalı; star/yıldız topoloji kesinlikle yasak.
7. Master tarafında timeout/inter-frame gap çok kısa
Modbus-RTU'da 3.5 karakter sessizlik bir frame'in bittiğini gösterir. Master polling süresi çok kısaysa slave henüz cevap vermeden master tekrar sorar. Tipik değerler:
- 9600 baud → karakter ~1.04 ms → 3.5T ~ 3.6 ms
- 19200 baud → ~1.8 ms
- Master timeout: en az 200-500 ms arasında olmalı
8. USB-Serial çevirici kalitesi
Sahada bilgisayar üzerinden Modbus master çalıştırırken kullanılan USB çeviricinin FTDI tabanlı ve otomatik yön kontrolü olması kritik. CH340/CP2102 tabanlı ucuz çeviriciler RTS kontrolü gerektirir, sahada zamanlamayı bozar.
Eğer tesisinizde benzer bir senaryo varsa, mevcut SCADA loglarını + kablolama şemasını paylaşın — uzaktan ön tanı yapabiliriz.
Türkçe
English