Jump to content
dovanci88

Modbus RTU Çoklu Okuma Hatası

Önerilen İletiler

Merhabalar;

Elimde 496 PLC ve 2 Adet aynı özellikte Modbus Slave cihaz var.Bu cihazlarda slave tag listesine 1 tanesini ekleyince istediğim tüm verileri okuma yapabiliyorum.

Fakat Slave tag listesine 2 nolu cihazın adreslerini ekleyip okuma yaptığımda hem haberleşme çok yavaşlıyor  hemde bazı verileri okumuyor her iki cihazda da.

konuyla alaklı yardımlarınızı rica ederim.

 

Not:Başka bir konuda operand listesinden modbus adreslerini aktif ediniz yazılmış,öyle yaptığımda da örneğin  slave 1 oku_1=40001 olurken - slave 2 oku_11=40007 oluyor ne alaka anlamadım.

MOdbus Hata.png

Yorum bağlantısı
Sitelerde Paylaş

İyi günler,

Öncelikli olarak haberleşme hızını arttırıp CPU_COM1_Timeout parametresini 50'ye düşürerek deneme yapabilirsiniz, ayrıca aynı cihaza art arda sorgu yapınca cevap verme performansı düşebilir bunun için cihazlara sırayla sorgu yapabilirsiniz mesela ilk adres 10 ikinci satıra adres 11 gibi sıralayarak, bu şekilde slave cihaza da çok sık sorgu yapmamış olursunuz. İkinci olarak da adresleri program sıralı olarak verir fakat aralarda kullanılmış adres var ise 40001'den 40007'ye atlayabilir misal bu durumda 40001 adresini pasif yapın daha sonra başka bir data için adres ver diyince yine 40001 verir, dolayısıyla adresin 1'den 7'ye atlamasının sebebi aradaki adreslerin başka datalar için seçilmiş olmasıdır. Ayrıca haberleşme hızına / performansına dış ortamdaki parazitler, kablo boyu vs de etkili olur.

İyi çalışmalar.

Yorum bağlantısı
Sitelerde Paylaş

Problem 1=Haberleşme esnasında 10 nolu istasyonun okuma yazma olayını bitirip daha sonra 11 nolu istasyona geçince ilk wordü (40001) okumadan pas geçiyor. 

Problem 2=Tag tablosundaki Okuma yazma çevrimini 1 tur bitirdikten sonra 1000ms boyunca nedense basşka slaveler arıyormuş gibi yapıp timeout'a geçiyor ve haberleşme kesiliyor.

bu döngü sürekli olarak devam ediyor.

Yorum bağlantısı
Sitelerde Paylaş

İyi günler,

Öncelikle daha önce de belirttiğim gibi haberleşme hızını arttırabilir misiniz misal 38400 gibi ve bizim suit de yine daha önce de belirttiğim gibi time out süresini 50 yapabilir misiniz böylece hem daha hızlı haberleşecek hem de bir sorun olup okuma / yazma yapılamadığı zaman 1000 ms beklemeden daha hızlı döngüyü tamamlayacaktır bunlardan da sonuç alamazsak mesai saatleri içerisinde firmamıza telefon yoluyla ulaşabilirseniz uzak bağlantı ile sorunu daha iyi gözlemleyip çözmek için yardımcı olabiliriz.

İyi çalışmalar.

Yorum bağlantısı
Sitelerde Paylaş

Tekrardan merhaba;

Dediğiniz gibi hızı 38400 yaptım; timeout süresini 50 yaptım hiç haberleşmedi bende 100 yaptım haberleşti.

Fakat daha sonra hangi slave cihazdan veri yollarsam o slavden sorgulamayı kesti,her iki slavden de veri yollayınca plc sorgulamayı tamamen kesti-çok ilginç 

Daha sonra slave cihazlara enerjiyi tekrar verince sorgulama başlıyor taki veri yollayana kadar.

Yorum bağlantısı
Sitelerde Paylaş

Piyasada bulunan RS 485 MAX TTL modülü ile arduino kullanarak modbus haberleşmesi yapıyorsanız bir çok sorunla karşılaşabilirsiniz. ilk sorun bu modulün çabuk ısınması ve kendini kilitlemesidir. İkinci olarak Arduino Mega dan farklı bir kart kullanıyorsanız (Nano, UNO gibi) sıkıntı ile karşılaşacaksınız. En son da loop içinde 50-100 ms. gibi denenerek bulunacak bir delay gerekli olabilir.

İlk çözüm olarak kendi uygulamalarımda arduino tarafında nrf24 alıcı/verici modülü kullandım. PC/laptop tarafında arduino Nano ya da bir nrf24 modülü taktım. PC üzerinden vb.net/c# ile kod yazıp PLC ile TCP modbus haberleştirdim.

İkinci çözüm olarak bir HMI modbus master olarak kullanılır. RTU'lar bu hatta bağlanır. HMI - PLC için ayrı bir hat oluşturulur. HMI'de sorgulanan RTU değerleri timer lar ile PLC ye aktarılabilir.

 

Yorum bağlantısı
Sitelerde Paylaş

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Misafir
Bu konuyu yanıtla

×   Yapıştırdığınız içerik biçimlendirme içeriyor.   Biçimlendirmeyi Temizle

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Önceki içeriğiniz geri yüklendi.   Editör içeriğini temizle

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Yeni Oluştur...