Modbus Haberleşme

Tosik28

Üye
Katılım
29 Mar 2018
Mesajlar
70
Puanları
1
Merhaba arkadaşlar. Bir dolum indikatörü ile harici bir schneider marka hmı ekranı modbus ile (RS-485) haberleştiriyorum. Ekranda iki adet DINT değişkeni görüntülemek istiyorum. Ancak bunu yaptığımda haberleşme hatası (02H) veriyor. Ancak bu değişkenleri tek tek ekranda görebiliyorum, ikisini de görmek istediğimde iletişim kopuyor. Biraz incelediğimde ayrık girişler diye bir kavram olduğunu fark ettim yani değişken adresleri sıralı değil. Acaba bu durumda nasıl bir yol izlemeliyim.
İyi çalışmalar.
 
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.
Merhabalar,görüntülemek istediğiniz datalar nereden geliyor onu anlayamadım.Verileri plcden okumanıza rağmen ekranda görüntüleyemiyor musunuz yoksa okuma kısmında mı problem var ?
 
PLC kısmı yok. Sadece ekran ve dolum indikatörü( CAS CI-605A) var. Modbus haberleşmesi için formatı hızı, rs-485 yolu seçili ( yani klasik haberleşme ayarları). 40010 ve 40017 adreslerini aynı aynda ekranda okuyamıyorum yani hbaerleşme koupuyor. Ancak tek tek okuyabiliyorum. Arada adres atlaması olduğu için okunmuyor olabilir dedi yetkili kişi. Ayrık adresler olduğunu söyledi. Bu ayrık adresleri nasıl aynı anda okuyabilirim ?
 
Modbus tek sorgu ile okumanıza izin vermesi lazım.

(141116_CI-600A_ENG_UM.pdf) PDF'de :

LIST OF USABLE REGISTERS
The MODBUS-RTU protocol implemented on this instrument can manage a maximum of
32 registers read and written in a single query or response.
R = the register can be read only
W = the register can be written only
R/W = the register can be both read and written
H = high half of the DOUBLE WORD forming the number
L = low half of the DOUBLE WORD forming the number
REGISTER DESCRIPTION
Saving to
EEPROM
ACCESS
40002 Type of instrument - R
40008 GROSS WEIGHT H - R
40009 GROSS WEIGHT L - R
40010 NET WEIGHT H - R
40011 NET WEIGHT L - R
40014 Raw AD Data_H - R
40015 Raw AD Data_L - R
40017 Set point 1 H Y R/W
40018 Set point 1 L Y R/W
40019 Set point 2 H Y R/W
40020 Set point 2 L Y R/W
40021 Set point 3 H Y R/W
40022 Set point 3 L Y R/W
40023 Set point 4 H Y R/W
40024 Set point 4 L Y R/W
40025 Set point 5 H Y R/W
40026 Set point 5 L Y R/W

Kullandığınız modbus master cihazda okuyacağınız veri miktarını arttırabiliyorsanız muhtemelen çözülecektir.
Ancak yazmada ise sadece 40017 adresine yazması da gerekli.

"schneider marka hmı" ın yetenekleri önemli.
 
O değişkenleri DINT olarak seçtim. Diğer yandan 40017 , 40019 , 40021 adreslerini aynı anda okuyabiliyorum. Bu sefer veri miktarı artmış oluyor ve bir sıkıntı oluşturmuyor. 40016 adresi olmadığı için veri paketlerinde bir boşluk olur mu peki ?
 
Kendi örneğinden yorumlamak gerekirse 0ncı adresten iki byte lık veri okuduğunu belirtiyor ancak tasarımcının ne yaptığını bilmek zor alternatif bir modbus okuyucu yazılımla denemeniz gerekli.
 

Ekli dosyalar

  • cas_modbus.png
    cas_modbus.png
    64.6 KB · Görüntüleme: 45
Soruna şu şekilde bir çözüm buldum. İki adresten yalnızca birinden ekranda okuma yaptım. PLC üzerinden ekrana girdiğim veriyi de yine ekran içindeki script ile diğer adrese gönderdim ve yazma işlemi yaptım. Böylece iki adresten okuma yapmadığımdan; birinden yazma birinden okuma yaptığım için haberleşme arızası vermemiş oldu ve sistemi istediğimiz şekilde çalıştırdık.

İlginize çok teşekkür ederim.
İyi çalışmalar.
 

Forum istatistikleri

Konular
129,707
Mesajlar
929,115
Kullanıcılar
452,409
Son üye
oguz7291

Yeni konular

Geri
Üst