Rehber

Modbus cihazı okunmuyor: belirtiye göre kontrol sırası

Yanıt gelmemesi, exception cevabı ve yanlış değer okuması farklı sorunlardır. RTU ve TCP kontrollerini ayırın.

İlk soru: hiç yanıt yok mu, yanlış yanıt mı var?

Timeout, istenen sürede geçerli bir cevap alınmadığını ifade eder. Exception cevabı ise cihazın isteği aldığını fakat işleyemediğini gösterir. Sayı geliyor ama anlamlı görünmüyorsa adres, veri tipi, ölçek veya kelime sırası araştırılır.

Önce bu üç durumu ayırın. Bir exception cevabı alırken bütün hattı yeniden kablolamak, sorunun bulunduğu katmanı gözden kaçırmanıza yol açabilir.

RTU hattında temel ayarları eşleştirin

Cihaz adresi, baud rate, parity ve stop bit ayarlarını cihaz kılavuzuyla karşılaştırın. Aynı hat üzerinde cihaz adresleri benzersiz olmalıdır. Teşhis için bilinen bir registerı tek cihazla okumak, çok cihazlı bir hattaki sorunu daraltır.

A/B uç adlandırmaları üreticiler arasında farklı kullanılabilir. Yalnızca harfe bakarak polarite varsaymayın; cihazın D0/D1 veya +/− açıklamasını esas alın. Topoloji, sonlandırma ve ekran bağlantısını cihaz ve seri hat belgelerine göre kontrol edin. Direnç ölçümü enerjisiz koşullarda yapılır.

TCP bağlantısında ağ ve Modbus testini ayırın

IP adresi, ağ maskesi, yönlendirme ve cihazda ayarlı TCP portunu kontrol edin. Ping cevabı, Modbus servisinin çalıştığını kanıtlamaz. Gateway kullanılıyorsa Unit ID hangi alt cihaza erişileceğini belirleyebilir.

Aynı cihazla birden fazla istemci haberleşiyorsa bağlantı sınırları ve sorgu yükü de değerlendirilir. Timeout süresini artırmak, hatalı adres veya portu düzeltmez.

Exception 02 alıyorsanız adresi sorgulayın

Illegal Data Address (02), istekteki adres veya adres aralığının cihaz için geçerli olmadığını bildirir. Function code ile register bölgesinin eşleşmesini, başlangıç adresini ve okunacak register sayısını kontrol edin.

Dokümanda 40001 yazması, yazılımın adres alanına mutlaka 40001 girileceği anlamına gelmez. Bazı yazılımlar sıfır tabanlı PDU adresi 0, bazıları bir tabanlı gösterim 1 kullanır. Kullanılan yazılımın adresleme biçimini doğrulayın; rastgele bir ekleme veya çıkarma yapmayın.

Yanlış sayı geliyorsa veri tipine bakın

16 bit işaretli ve işaretsiz değerler aynı ham kayıttan farklı sayılar çıkarabilir. 32 bit float veya tamsayı çoğunlukla iki register gerektirir; cihazın kelime sırası ve byte sırası yazılımla eşleşmelidir. Son olarak üreticinin ölçek katsayısını uygulayın.

Örneğin ham 253 değerini doğrudan 253 °C olarak göstermek yanlış olabilir; cihaz belgesi 0,1 °C birim belirtiyorsa 25,3 °C olarak yorumlanır. Bu örnek belirli bir cihazın register haritası değildir.

Tek değişkenle test edin ve isteği kaydedin

Cihaz modeli, RTU/TCP türü, adres veya Unit ID, function code, başlangıç adresi, register sayısı ve tam hata cevabını kaydedin. Bir defada tek ayarı değiştirin; test sonucunu aynı kayda ekleyin.

Önce salt okuma isteğiyle iletişimi doğrulayın. Registera yazmak çalışma durumunu değiştirebilir; üretici açıklaması ve uygulama yetkisi olmadan bir kontrol registerını deneme amacıyla değiştirmeyin.

Kaynaklar ve ileri okuma

İlgili hesaplama araçları

Bir hata fark ettiniz mi? Sayfayı ve kullandığınız değerleri bildirin.