Modbus RTU / RS485 Haberleşme Nasıl Test Edilir? Adım Adım Saha Rehberi

Modbus RTU / RS485 Haberleşme Nasıl Test Edilir? Adım Adım Saha Rehberi
Rehber
Ahmet Korkmaz8 dk

Modbus RTU / RS485 Haberleşme Nasıl Test Edilir?

Modbus RTU haberleşmesini test etmek, aslında beş soruyu sırayla cevaplamaktır: Kablo doğru mu? Seri ayarlar cihazla aynı mı? Slave ID doğru mu? Doğru fonksiyon kodu ve adres mi isteniyor? Gelen değer doğru yorumlanıyor mu? Sahada “cihaz cevap vermiyor” şikâyetlerinin çoğu ilk iki sorudan çıkar. Bu rehber bir USB–RS485 dönüştürücü ve ücretsiz bir Modbus test programıyla bu soruları 15 dakikada kapatmanın yolunu anlatır.

Gerekenler

MalzemeNot
USB–RS485 dönüştürücüFTDI veya CH340 tabanlı ucuz modeller iş görür. Sürücü kurulu olmalı.
Bükümlü çift (twisted pair) kabloEkranlı tercih edilir. Ekran tek uçtan topraklanır.
120 Ω direnç (2 adet)Hattın iki ucundaki sonlandırma için. Çoğu cihazda DIP switch ile gelir.
Cihaz dokümanıBaud, parity, slave ID ve register haritası burada yazar.
Modbus test programıÖrneğin ücretsiz Ranaliz iOT Tester (Windows ve macOS).

Adım 1: Kabloyu ve kutupları kontrol et

RS485 iki telli, diferansiyel bir hattır. Hata kaynaklarının başında A/B kutup karışıklığı gelir: Bazı üreticiler A’yı “+”, bazıları “−” olarak etiketler; D+/D−, D0/D1, TX+/TX− gibi isimler de kullanılır.

  • Cevap yoksa ilk deneme A ile B’yi yer değiştirmektir. RS485’te bu işlem cihaza zarar vermez.
  • Hat zincir (daisy chain) şeklinde döşenmelidir. Yıldız topoloji ve uzun branşmanlar yansımaya yol açar.
  • Hattın yalnızca iki fiziksel ucuna 120 Ω sonlandırma takılır; ortadaki cihazlara takılmaz.
  • Bir segmentte standart olarak 32 birim yük ve yaklaşık 1200 m mesafe hedeflenir. Yüksek baud hızında güvenli mesafe kısalır.

Adım 2: Seri port ayarlarını cihazla eşle

Modbus RTU’da iki taraf aynı baud, parity, data bit ve stop bit değerlerini kullanmak zorundadır. Bir tanesi bile farklıysa ya hiç cevap gelmez ya da CRC hatası alırsınız.

ParametreSık görülen değerNot
Baud9600 veya 19200Modbus spesifikasyonunun varsayılanı 19200
Data bit8RTU’da her zaman 8
ParityEven (çift) veya NoneSpesifikasyonun varsayılanı Even
Stop bit1 (parity varsa) / 2 (parity yoksa)Pratikte birçok cihaz 8N1 kullanır

Windows’ta port “COM3” gibi, macOS’ta “/dev/tty.usbserial-…” gibi görünür. Dönüştürücüyü çıkarıp takarak hangi portun yeni geldiğini anlayabilirsiniz.

Adım 3: Hatta tek master olduğundan emin ol

Modbus RTU’da bir hatta yalnızca bir master konuşur. Hatta bir datalogger, PLC veya SCADA zaten sorgu yapıyorsa test programınızın paketleri onlarınkiyle çakışır. Sonuç rastgele timeout ve CRC hatalarıdır. Test süresince mevcut master’ı hattan ayırın veya durdurun.

Adım 4: Slave ID ve ilk okuma

Test programında şu dört değeri girin:

  1. Slave ID (unit ID): 1–247 arası. Fabrika değeri çoğu cihazda 1’dir.
  2. Fonksiyon kodu: Ölçümler için genellikle FC03 (holding register) veya FC04 (input register).
  3. Başlangıç adresi: Dokümandaki adres. Dikkat: “40001” yazan bir doküman çoğunlukla protokolde 0 adresini kasteder.
  4. Adet: İlk denemede 1–10 register yeterli.

Cevap geliyorsa haberleşme kurulmuştur. Bundan sonraki sorun artık “haberleşme” değil, veri yorumlama sorunudur.

Adım 5: Değeri doğru yorumla

32 bit değerler (float, uint32) iki register’a yayılır ve cihazlar word sırasını farklı tutar. Ekranda anlamsız büyük sayılar görüyorsanız:

  • Veri tipini float32 / int32 / uint32 arasında değiştirin.
  • Word swap (CDAB) ve byte swap seçeneklerini deneyin.
  • Dokümandaki ölçek çarpanını (×0,1, ×0,01) kontrol edin.

Örnek: 230,4 V gerilimi “2304” olarak görüyorsanız değer doğrudur; ölçek 0,1’dir.

Sık hatalar ve anlamları

BelirtiOlası sebep
Hiç cevap yok (timeout)A/B ters, yanlış baud/parity, yanlış slave ID, yanlış COM port
CRC hatasıParity veya stop bit farkı, sonlandırma eksik, gürültü, ikinci master
Ara ara timeoutHatta ikinci master var, kablo çok uzun veya yıldız topoloji
Exception 02Adres cihazda yok; çoğunlukla 1 kayma (0/1 tabanlı adres)
Exception 01Cihaz bu fonksiyon kodunu desteklemiyor (FC03 yerine FC04 deneyin)
Değer saçmaVeri tipi, word sırası veya ölçek yanlış

Ranaliz iOT Tester ile RS485 testi

Ranaliz iOT Tester, Modbus RTU’yu seri port üzerinden test eden ücretsiz bir masaüstü uygulamadır:

  • Seri ayarlar: Baud, parity, stop bit, timeout ve poll aralığı cihaza göre ayarlanır.
  • FC01–FC16: Coil, discrete input, holding ve input register okuma; tekli ve çoklu yazma.
  • Görünüm: Ham değer, int/uint/float, hex, ikili, ASCII; big/little ve swapped endian.
  • Kayıt: İşlem geçmişi tutulur, sonuç Excel/CSV’ye aktarılır.

Aynı uygulamada Modbus TCP, IEC-104 ve MQTT de bulunur. RS485 tarafını doğruladıktan sonra gateway’in TCP tarafına geçmek için başka program kurmanız gerekmez. Sürekli veri toplama ve buluta gönderme ise ayrı bir iştir; onun için Ranaliz Datalogger kullanılır.

SSS

RS485 ile Modbus RTU aynı şey mi?

Hayır. RS485 fiziksel katmandır (kablo ve elektrik seviyeleri). Modbus RTU ise bu kablo üzerinden konuşulan protokoldür. RS485 üzerinden başka protokoller de taşınabilir.

Bir RS485 hattına kaç cihaz bağlanır?

Standart yük ile 32 cihaz. Düşük yüklü (1/4 veya 1/8 yük) alıcılarla bu sayı artar. Modbus adresleme ise 247 slave ile sınırlıdır.

Sonlandırma direnci takmazsam ne olur?

Kısa hat ve düşük baud hızında çoğu zaman çalışır. Uzun hatta ve yüksek hızda yansımalar CRC hatası ve aralıklı timeout üretir.

Modbus testi için hangi program kullanılır?

Ücretsiz seçeneklerden biri Ranaliz iOT Tester’dır. Windows 10/11 ve Apple Silicon macOS için hazır kurulum vardır, lisans anahtarı istemez. Detaylar için Modbus test programı rehberine bakın.

Kaynaklar

  • Modbus Organization — MODBUS over Serial Line Specification and Implementation Guide V1.02
  • TIA/EIA-485-A — Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems
Ranaliz Platform

Santralinizi Ranaliz ile izleyin

Gerçek zamanlı izleme, akıllı alarmlar ve yapay zeka destekli analizlerle enerji tesislerinizi tek platformdan yönetin.

Demo Talep Et