Picproje Elektronik Sitesi

BİLGİSAYAR => Donanım ve Yazılım => Konuyu başlatan: kartal0689 - 20 Ekim 2020, 09:29:51

Başlık: MODBUS RTU programı
Gönderen: kartal0689 - 20 Ekim 2020, 09:29:51
Merhaba arkadaşlar,
modbus rtu protokolü ile çalışan üniteler için bilgisayar programına ihtiyacım var.
ancak durum şöyle, 5 ve daha fazla cihazın verilerini (03 read holding register) aynı anda okumam gerekiyor.
modbuspoll bildiğim kadarıyla bir cihaz sorgusu yapabiliyor.
Başlık: Ynt: MODBUS RTU programı
Gönderen: fahri- - 20 Ekim 2020, 09:47:41
Bildiğim kadarıyla yapabiliyor. File menüden yeni yapınca arka arkaya bağımsız kontrol edilebilen sayfalar açılıyor.
Başlık: Ynt: MODBUS RTU programı
Gönderen: tunayk - 20 Ekim 2020, 10:39:47
Gerçek aynı anda okumak için , PC veya master cihazda her slave için bir seri portun olacak , her port doğrudan ilgili slave'e sorgu gönderip alacak şekilde bağımsız bir thread tarafından koşturulacak ya da @fahri'nin dediği gibi ayrı pencerelerde çalışacaksın.

Başlık: Ynt: MODBUS RTU programı
Gönderen: ErsinErce - 20 Ekim 2020, 15:46:57
Cas Modbus scanner
Başlık: Ynt: MODBUS RTU programı
Gönderen: Tagli - 20 Ekim 2020, 20:13:52
"Aynı anda" derken buradaki beklenti tam olarak nedir? Modbus master, slave cihazlara sırayla sorgu atar. Yani önce birini sonra diğerini okur. Aynı hatta bulunan cihazlar için tek yol budur.

@tunayk 'ın dediği gibi yapılsa bile, bilgisayarın seri portlarına aynı anda erişip erişemeyeceği tartışma konusu bence. Yapıyı da karmaşıklaştırır. Şahsen ben böyle bir işe girmezdim.

CANopen'da bu sorunu bir SYNC mesajı göndererek çözüyorlar. SYNC tüm slave cihazlar için bir "örnekleme emri" görevi görüyor, yani tüm cihazlar o anki durumun bir "fotoğrafını" çekip saklıyorlar. Bundan sonra verilerin aynı anda gidip gitmemesinin önemi kalmıyor. Eğer Modbus slave cihazları kendin tasarlıyorsan benzer bir yapı kurabilirsin belki. Örneğin 0 adresine gönderilen bir komut tüm slave cihazlar tarafından SYNC olarak algılanacak şekilde tasarlanabilir.
Başlık: Ynt: MODBUS RTU programı
Gönderen: Murat Mert - 20 Ekim 2020, 21:21:01
Modbus Rtu da sıra ile okursunuz. 50-100 ms de bir (10 ms kadar inebilir) slave istasyondan data okursunuz.
Başlık: Ynt: MODBUS RTU programı
Gönderen: kartal0689 - 21 Ekim 2020, 07:51:10
Alıntı yapılan: Tagli - 20 Ekim 2020, 20:13:52"Aynı anda" derken buradaki beklenti tam olarak nedir? Modbus master, slave cihazlara sırayla sorgu atar. Yani önce birini sonra diğerini okur. Aynı hatta bulunan cihazlar için tek yol budur.

@tunayk 'ın dediği gibi yapılsa bile, bilgisayarın seri portlarına aynı anda erişip erişemeyeceği tartışma konusu bence. Yapıyı da karmaşıklaştırır. Şahsen ben böyle bir işe girmezdim.

CANopen'da bu sorunu bir SYNC mesajı göndererek çözüyorlar. SYNC tüm slave cihazlar için bir "örnekleme emri" görevi görüyor, yani tüm cihazlar o anki durumun bir "fotoğrafını" çekip saklıyorlar. Bundan sonra verilerin aynı anda gidip gitmemesinin önemi kalmıyor. Eğer Modbus slave cihazları kendin tasarlıyorsan benzer bir yapı kurabilirsin belki. Örneğin 0 adresine gönderilen bir komut tüm slave cihazlar tarafından SYNC olarak algılanacak şekilde tasarlanabilir.

aynı anda derken sırayla tabiki olabilir. ama ben ID değiştirmeden kendisi sırayla sorgulayacak.
modbuspoll ayrı pencereler açıyor fakat hangi pencere aktifse o hattı sorguluyor.