ModbusRTU ile 125'den Fazla Register Okuma

Katılım
2 Mar 2018
Mesajlar
3
Puanları
1
Yaş
26
Merhabalar;


PLC ile bir otomatik kontrol cihazından ModbusRTU ile okuduğum verileri ModbusTCP ile Scada tarafından erişilebilir hale getirmek istiyorum. Bu aşamada sorun yaşadığım bazı konular var.

Aşağıdaki ekran görüntüsünde ST kısmında cihazdan taramak istediğim adresler görünüyor. İstediğim verileri sağlıklı bir şekilde okuyorum. Tek bir blokta WORD cinsinde maksimum 125 adet veri okuyabildiğim için 248. adresten sonraki okumak istediğim veriler için ikinci bir blok oluşturdum.

x.png




İşlemin ikinci kısmında bu verilerin TCP üzerinden erişilebilir hale getirmek için TCP blokları da aşağıdaki şekilde ayarlanmış durumda.

v.png



Bu ayarlamalar sonucunda TCP portundan bağlantı yapıp ilgili Local_TcpPort numarasını girdikten sonra modbus simülatör ile verileri alabiliyorum fakat bu aşamada karşılaştığım bir sorun var.


Otomatik kontrol cihazının modbus adres listesinde tanımlı olan; örneğin 12. adres, simülatörde adres kısmında 1 yazarak tarattığımda karşıma çıkıyor, yani kendi gerçek adresinden okumuş olmuyorum. Blokta okunan ilk adres, gerçek adresinden bağımsız olarak simülatör tarafında her zaman 1. adres olmuş oluyor.


Bu durum simülatörden okuma yaptığımız için mi böyledir? Gerçekte de SCADA bizim verilerimizi okumak istediğinde aynı sorunla karşılaşır mı?


Ek olarak aşağıdaki şekilde Read.Address bilgilerini, bir dizinin elemanları şeklinde sınıflandırıp periyodik olarak RTU_Read blokuna iletmek ve bu verileri ardı ardına eklenmiş şekilde okumak uygulanabilir bir işlem midir?

z.png




Son olarak aynı işlemi TCP tarafında yaparak bu verileri tek bir port numarası üzerinden aktarmak mümkün müdür?


Umarım açıklayıcı şekilde aktarabilmişimdir. Destekleriniz için şimdiden teşekkürler.
 

Ekli dosyalar

  • x.png
    x.png
    135.4 KB · Görüntüleme: 9
  • z.png
    z.png
    149.3 KB · Görüntüleme: 10
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
Merhaba.TCP/IP den okuma yaparken sizin ilk G1_Veri1 deki adresinizden okuyacaktır.Okuyan taraf bu adresi 40000 veya 40001 olarak yazdığında ilk buradaki değeri okuyacaktır.Bu arada tcp/ıp için sizden mi okuma yapacaklar,yoksa sizmi bir yere yazacaksınız?Omron teknik destek sitesinde bununla alakalı bir fb bulunmaktadır.

Birde gördüğüm üzere her 100 ms de bir okuma yaptırıyorsunuz.Eğer hızlı bir okuma ihtiyacınız yok ise sorun yok.Genelde execute verildikten sonra done veya error geldikten sonra tekrar execute sinyali veriyorum.İlk bloğun done çıkışını,ikincinin execute girişine bağlamışsınız.İkinci bloğun done sinyalinide ilk bloğun execute girişine bağlarsanız daha sağlıklı olur.
 
Cevabınız için teşekkür ederim. TCP/IP ile bizden okuma yapılacak.

Bahsettiğiniz bağlantı şeklini tam anlayamadım açıkçası.
 
Şu şekilde tam olarak.İlk okuma yaptığınız bloğun done ve error sinyali ile ikinci bloğun execute girişini tetikliyorsunuz.Siz ikinci bloğu bu şekilde yapmışsınız zaten.İkinci bloğun yine done veya error çıkışını tekrar paralel olarak ilk bloğun execute girişine bağlayabilirsiniz.Böylece modbus hattını sürekli meşgul etmiyor ve sıralı bir okuma gerçekleşiyor.

Plc nin first run biti ile de ilk tarama için bir bit setliyorum.Modüllerde tamamen run olduğunda bu biti kullanarak ilk tetiği veriyorum.Bu %100 doğru bir yöntem diyemem,aha hep bu şekil gerçekleştiriyorum.Birden fazla cihaz olduğunda faydalı oluyor.
 

Forum istatistikleri

Konular
128,125
Mesajlar
915,240
Kullanıcılar
449,837
Son üye
betül hüsrevoğlu

Yeni konular

Çevrimiçi üyeler

Geri
Üst