RS485 Modbus RTU ile veri okumak

xseroot

Üye
Katılım
30 Ara 2018
Mesajlar
21
Puanları
1
Merhabalar,
Elimde bir adet Delta DVP14SS PLC var, bu PLC com2 portuna bir adet Sıcaklık Kontrol cihazı bağladım.
PLC iletişim COM2 hızını 9600/even/1 8bit ->0087 (aygıt no 1) olarak ayarladım. Bağladığım autonic sıcaklık kontrol cihazını da slave adres olarak 2 verdim ve onun da bağlantı parametreleirnş aynı şekilde yaptım. Ancak ne yapasam yapayım bu cihazın aşağıdaki resimde verilen registerlarını okuyamadım. Cihazın okumak ve yazmak istediğim modbus adresleri aşağıdaki gibidir.
Bu konuda yardımcı olabilecek olan ya da nasıl okuma/yazma yapmam gerektiği konusunda yardımcı olabilcek var mıdır? Bir de slave cihazla RS485 haberleşmeyi sağladığımı nasıl teyit edebilirim bir yolu var mı?

Teşekkürler


autonic.png
 
Plc programında modbus ayarlarını yaptığınız satırlar ile kullanılan sensörün hangi haberleşme standartlarını desteklediğini yazabilirmisiniz.
 
Merhaba, sıcaklık kontrol cihazı kullanıyorum RS485 destekleyen (tx-4s-b4r), PLCde RS485 özelliklerini yazdığım gibi, PLC parametreleri de resimde görüldüğü gibi, altta da cihazın desteklediği iletişim parametreleri var.



1583090262795.png
 

Ekli dosyalar

  • TX.pdf
    1.1 MB · Görüntüleme: 137
MODRW komutu kullanılmadan haberleşme yapmış olmazsınız.
En son satırın altına şunları ekleyin

LD M1
MODRW K2 H3 H03E8 D10 K1
LD M1


MODRW Komutunda sıra ile
K2 istasyon adresi
H3 okuma yapacak demek
H03E8 okunacak adres
D10 okunan verinin plc de yazılacağı data adresi
K1 kaç adet ardışık veri okunacağı


Ekleme:
Haberleşme sağlandığını teyit için;
M1123 kontrol edin. Bu data alma tamamlandı bilgi biti SV serisi içindir.

SS serisi için kontrol edin.
 
Son düzenleme:
dediğiniz gibi yaptım hocam, ancak d10 registerinde 2 gibi bir değer görüyorum, bu değerde bir hata var, PLC de özel registerlardan biri olan D1130 registerı bana K2 değerini dönüyor bu neden kaynaklanıyor olabilir, programın tamamını aşağıya yazıyorum.


61848

61849
 
O değerin farklı bir formatı var.
Onu normal görmek için
MOV D1296 D30
yaparak d30 içini okuyun.

D1296 SV için SS de farklı olabilir.
 
D1296 registeri ASCII formatında saklanan veri için adres bölgesi diye belirtmiş kullanıcı kitabında, ben ASCII değil RTU kullanıyorum, cihaz da onu desteliyor sadece, bahsettiğiniz "MOV D1296 D30" komutu ile D30 okuduğumda da 0 görüyorum ordaki değeri.
 
M1 konaklarını M1013 yapın.
M1123 set olduğunda yükselen kenar ile önce sayıyı farklı bir dataya atın.
M1123 resetleyin.
M1013 bir sn ara ile ayni islemleri yaptıracak.
 
dediğinizi denedim, sonuç değişmedi, direkt bir rs485 dönüştürücü ile bilgisayar bağladığımda H0 adresinden okuma yaptım ama plc aşağıdaki program ile bir türlü okuma yapmıyor.

61880
 
MODRW komutu başındaki kontak yükselen kenar değil normal kontak olacak.

SET M1122 satır başındaki kontak ise yükselen kenar olarak kalsın.
 

Forum istatistikleri

Konular
129,880
Mesajlar
931,002
Kullanıcılar
452,758
Son üye
aprnck

Yeni konular

Çevrimiçi üyeler

Geri
Üst