s7-1200 ile CAS weight transmitter rs485 haberleşme sorunu

Armendy

Üye
Katılım
16 Ara 2008
Mesajlar
11
Puanları
1
Yaş
36
Arkadaşlar iyi çalışmalar. bir projede CAS weight transmitter ile s7-1200 plcyi rs485 üzerinden haberleştirip veri okuyup veri yazmam gerekiyor. Siemens CM1241 modülü ile transmittere bağlandım. Tx ve Rx ışıkları turuncu şekilde yanıyor. Bunun için MB_COMM_LOAD ve MB_MASTER bağlantı proseslerini kullandım. fakat cihazdan bir türlü değer alamıyorum. aşağıdaki Status kodunu alıyorum. oluşturduğum data blokla ilgili sorun var ama çözemedim. ek olarak cihazın manualini de yüklüyorum. inceleyip bana yardımcı olabilecek bir arkadaş olursa minnettar olurum.
2z6tic7.jpg
 

Ekli dosyalar

  • 170207_WTM_ENG_UM_rev1.pdf
    982.8 KB · Görüntüleme: 19
Değer okumayı başardım lakin nedense okuduğum tüm değerler 65539 sayısının katları şeklinde oluyor. ayrıca eksi ya da artı değer kavramı yok. mesela -4 de 262156 olarak gözüküyor 4 de 262156 olarak gözüküyor
 
Merhabalar
Hangi veriyi okuyorsunuz ekli manuel de modbus register verileri çoğu doubleword formatında siz kaç numaralı gegisterden okuma yapacaksınız,o frgistir çıkış formatına bakmak gerekebilir
 
40010 registerindeki veriyi okuyorum. yani cihazın kendi ekranındaki ağırlığı veren register o.
 
Armendy Tekrar Merhabalar;
Eklediğin manuele göre 40010 registeri net ağırlık verisinin Hihg word kısmı 40011 ise low word kısmı siz bu ikisini beraber doubleword olarak 32 bit okumanız lazım. 40010 tek okursanız saçma bir değer alabilirsiniz.Cevap biraz gecikti forma ancak bakabildim,kusura bakmayın.
 
Armendy Tekrar Merhabalar;
Eklediğin manuele göre 40010 registeri net ağırlık verisinin Hihg word kısmı 40011 ise low word kısmı siz bu ikisini beraber doubleword olarak 32 bit okumanız lazım. 40010 tek okursanız saçma bir değer alabilirsiniz.Cevap biraz gecikti forma ancak bakabildim,kusura bakmayın.

İlginize teşekkür ederim öncelikle. ilk mesajda paylaştığım program bloğuna göre aynı anda iki registeri nasıl okuyabilirim.
 
Merhaba.Resimde görünün kısımda okuma işlemi yapılmaktadır.Pulse Elektroniğe ait transmitterdan bu şekilde ağırlık bilgisini okuyabiliyorum.Sizin işlemdeki sıkıntı okunacak adres sayısının yanlış girilmesi gibi duruyor.Okuyacağınız sayı DINT olması gerekiyor.Bu örnekteki gibi Data length değerini 6 yapabilirsiniz.Eksi değere geçtiğinizde okumanız için bu olmalı.Aksi takdirde eksi değer geldiğinde 65536 değeri okunur.DataLength değeri çok yüksek gibi duruyor. 16#8383 hatasıda yanlış adres veya data uzunluğunun hatalı olduğunu gösteriyor.Birde okuma işlemlerinde Req girişini sürekli aktif bırakmayınız.Ben işlem yaparken done ve error sinyallerini kullanıyorum.Okuma işlemi bitmeden tekrar okuma isteği yapıldığında modbus evap veremeyebilir.Aynı zamanda bir kaç cihaz ile haberleşeceksenizde bu yöntemi kullanmanızı tavsiye ederim.
 
İlginize teşekkür ederim öncelikle. ilk mesajda paylaştığım program bloğuna göre aynı anda iki registeri nasıl okuyabilirim.

İyi Akşamlar Armendy;
İlk mesajdapaylaştığınız program bloğuna göre 40008 başlayarak 22 word weri okumanız gerekmekte ve DB2 yazmaktasınız, DB2 de ilkk değişkenden itibaren 11 adet DW değişken tanımlarsanız,zaten pointer kullandığınız için DB2 deki ilk değişkenden itibaren 11 adet doubleword veriyi alırsınız.
 

Forum istatistikleri

Konular
129,829
Mesajlar
930,556
Kullanıcılar
452,656
Son üye
kontrolkalemi355
Geri
Üst