Modbus RTU Haberleşmesi Neden Kesiliyor? RS-485 Sorunları ve Çözümü
Soru
- "PLC ile enerji analizörleri arasında Modbus RTU haberleşmesi kuruyoruz. Bazen tüm slave'ler cevap veriyor, bazen bir kısmı timeout hatasına düşüyor. Sorun nerede olabilir?"
Kısa Cevap
Modbus RTU'nun fiziksel katmanı olan RS-485, topoloji, sonlandırma ve polarizasyon doğru yapılmadığında kararsız çalışır. Aralıklı zaman aşımlarının en sık nedenleri: sonlandırma direncinin (120 Ω) yalnız bir uca konması veya ikiden fazla noktada açık olması, hat polarizasyonunun (bias) olmaması, bükümlü çift olmayan kablo, yıldız topoloji ve uzun dal hatları, A/B uçlarının karışması, adres çakışması ve cihazlar arasında baud/parite farkı. Hat osiloskopla izlenip cihazlar tek tek sorgulandığında sorun genellikle kısa sürede bulunur.
Öne Çıkanlar
- RS-485 iki sinyal iletkeni (D0/A, D1/B) ve ortak referans (common) ile çalışır; ortak iletken de bağlanmalıdır.
- Bükümlü çift, ekranlı, yaklaşık 120 Ω karakteristik empedanslı kablo kullanılır.
- Sonlandırma direnci (120 Ω) hattın yalnız iki ucuna konur.
- Polarizasyon (pull-up / pull-down, Modbus spesifikasyonunda 450–650 Ω) hattın tek bir noktasında yapılır.
- Topoloji zincir (daisy chain) olmalı; dal hatları olabildiğince kısa tutulur.
- Bir segmentte en fazla 32 birim yük bulunur; 1/8 birim yüklü alıcılarla 256 cihaza çıkılabilir. Modbus adres aralığı 1–247'dir.
RS-485 Nasıl Çalışır?
RS-485 iki iletken üzerinde diferansiyel sinyal taşır; alıcı iki iletken arasındaki gerilim farkına bakar. Modbus seri hat spesifikasyonu (V1.02) ve TIA-485'e göre lojik 1 (boşta) durumunda B (D1) ucu A (D0) ucundan daha pozitiftir; lojik 0'da tersi geçerlidir. Üreticiler A/B etiketlerini farklı ve bazen ters kullandığı için kılavuzdaki D0/D1 tanımına bakılmalıdır. Diferansiyel yapı ortak mod gürültüsünü bastırır; düşük hızlarda 1200 m'ye kadar segment uzunluğu mümkündür.
Hat, karakteristik empedansına uygun sonlandırılmazsa uçlarda sinyal yansır; alıcı asıl sinyalle yansımayı ayırt edemez. Hiçbir sürücü aktif değilken (boşta) hat tanımsız kalırsa alıcılar gürültüyü veri gibi okur; polarizasyon dirençleri bu durumu önler. Tipik belirti, uzak cihazların bazen cevap verip bazen zaman aşımına düşmesidir.
Olası Nedenler
- Sonlandırma hatası: 120 Ω sonlandırma hattın yalnız iki ucunda olmalıdır. Yalnız bir uçta varsa yansıma, ara cihazlarda da açık bırakılmışsa hat aşırı yüklenir. Birçok cihazda DIP anahtarıyla seçilir; yalnız ilk ve son cihazda açık olmalıdır.
- Polarizasyon (bias) eksikliği: Modbus spesifikasyonu, hattın tek bir noktasında (genellikle master'da) D1'i 5 V'a, D0'ı ortak iletkene çeken 450–650 Ω dirençler ister. Bias yoksa veya birden fazla cihazda açıksa hat boştayken kararsızdır.
- Uygun olmayan kablo: Bükümlü çift olmayan çok damarlı kablolar yansıma ve gürültüye açıktır. RS-485 için tasarlanmış ekranlı bükümlü çift kablo (ör. Belden 3105A, Belden 9841 veya LiYCY-TP) kullanılmalıdır.
- Yıldız topoloji ve uzun dal hatları: Cihazlara T bağlantıyla uzun dallar çekilirse her dal bir yansıma noktasıdır. Spesifikasyon dal uzunluğu için 20 m üst sınır verir; pratikte dallar olabildiğince kısa tutulmalı, mümkünse zincir bağlantı yapılmalıdır.
- A/B uç karışıklığı: A/B, D+/D− veya D0/D1 adlandırmaları üreticiye göre değişir. Ters bağlanan cihaz hiç cevap vermez veya hatalı cevap verir.
- Adres çakışması: Aynı hatta iki cihaz aynı adresteyse ikisi aynı anda cevap verir ve çerçeve bozulur.
- Baud / parite / stop biti farkı: Master 9600 8N1'de çalışıyorsa tüm cihazlar aynı ayarda olmalıdır. Modbus spesifikasyonunda varsayılan çift parite (8E1) olduğundan bazı cihazlar bu ayarla gelir.
Ölçümle Nasıl Doğrularsınız?
- Osiloskop: A ve B'yi diferansiyel prob veya iki kanalın farkıyla izleyin. Temiz, köşeleri düzgün bir kare dalga görülmelidir; yansıma basamaklı veya salınımlı kenar olarak görünür. Boşta hat seviyesi bias sayesinde lojik 1'de sabit kalmalıdır.
- USB-RS485 dönüştürücü ve test yazılımı: Her cihazı tek tek okuyun ve hata/zaman aşımı oranını kaydedin. Modbus Poll, ModScan gibi ticari yazılımların deneme sürümleri veya QModMaster gibi açık kaynak araçlar kullanılabilir.
- Sonlandırma kontrolü: Tüm cihazlar enerjisizken hattın bir ucunda A-B arası direnç ölçülür; iki uç sonlandırılmışsa yaklaşık 60 Ω okunur.
- Ekran ve ortak iletken: Ekran tek noktadan topraklanmalıdır; iki uçtan topraklama toprak döngüsü oluşturabilir. Ortak (common) iletkenin tüm cihazlara bağlı olduğunu kontrol edin.
- Segment uzunluğu ve cihaz sayısı: Toplam uzunluğu ve birim yük sayısını kontrol edin; sınır aşılıyorsa tekrarlayıcı kullanın.
Çözüm Önerileri
- Sonlandırmayı yalnız hattın iki ucunda (master ve en uzak cihaz) etkinleştirin.
- Polarizasyonu tek noktada yapın; master'da yoksa harici bias direnç modülü ekleyin.
- Kabloyu RS-485 için uygun ekranlı bükümlü çiftle yenileyin; topolojiyi zincir bağlantıya çevirin.
- Uzak cihazlar için dal hattı yerine ana hattı cihaza kadar götürüp geri döndürün.
- A/B ve ortak iletken bağlantılarını cihaz kılavuzuna göre doğrulayın.
- Adresleri benzersiz yapın; tüm cihazlarda baud, parite ve stop bitini eşitleyin.
- Motor kabloları yakınında haberleşme kablosunu ayrı güzergâhtan götürün; gerekirse izoleli RS-485 tekrarlayıcı veya galvanik izolatör ve ferrit halka kullanın.
- 32 birim yükü aşan hatlarda tekrarlayıcı kullanın veya Modbus TCP ağ geçidine geçin.
Benzer Sorular
- PLC çıkışına bağlı kontaktör bobini neden titriyor?
- PLC Nedir, Nasıl Çalışır? (Bilgi Bankası)
- Ladder Programlama ve Modbus / Profinet (Akademi Orta)
- VoltSim: Motor ve otomasyon simülasyonu
Bu cevap genel teknik bilgi amaçlıdır. Kritik proses otomasyonunda cihaz üreticisinin kılavuzunu esas alın.