Merhabalar,
RS-485 haberleşme ile çalışan bir otomasyon sistemim var. Aynı ağda 2 adet sürücü ve 4 adet sayaç bulunuyor. Aynı programı ve aynı register adreslerini kullanmama rağmen, karşılaştırma komutlarıyla register okuduğumda ya eksik değer geliyor ya da doğru gelen değer bir süre sonra sıfıra düşüyor.
Ancak, aynı registerları M kontakları kullanarak okuduğumda hiçbir sorun yaşamıyorum.
Bu durumu daha önce yaşayan veya çözüm önerisi olan var mı?
Teşekkürler.
Önemli Bilgilendirme!
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
- ssarikaya
- Mesajlar: 6
- Kayıt: 03 May 2018, 12:16
- İletişim:
- Durum: Çevrimdışı
Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
- Turhan
- Mesajlar: 8438
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir. Hangi slave cihaz, hangi adres, hangi adres özelliklerinden... veri okumaya çalışıyorsunuz.
DELTA Electronics Turkey
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
- ssarikaya
- Mesajlar: 6
- Kayıt: 03 May 2018, 12:16
- İletişim:
- Durum: Çevrimdışı
Re: Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
Delta DVP-SE model PLC kullanıyorum (master olarak).
RS-485 üzerinden haberleştiğim slave cihazlar:
Mitsubishi FR-D740 vfd(2 adet)
Yazma işlemleri (holding register):
0x0008 → Çalıştır/Durdur komutu
0x000E → Frekans ayarı (Hz)
Okuma işlemleri (holding register):
0x0008 → Çalışıyor bilgisini (status)
0x00C8 → Anlık frekans (Hz)
0x00C9 → Anlık akım (A)
Enelsan marka manyetik debimetreler (4 adet)
Slave ID'leri farklı
0x0307 adresinden FLOAT formatında debi (litre/saat) bilgisi okumaya çalışıyorum.
Şu anda programımda karşılaştırma komutları ile bu değerleri işlediğimde, zaman zaman veri eksik geliyor veya doğru geldikten sonra bir sonraki döngüde sıfıra düşüyor.
Ancak aynı değerleri önce bir M kontakları ile kullandığımda bu sorunla karşılaşmıyorum.
RS-485 üzerinden haberleştiğim slave cihazlar:
Mitsubishi FR-D740 vfd(2 adet)
Yazma işlemleri (holding register):
0x0008 → Çalıştır/Durdur komutu
0x000E → Frekans ayarı (Hz)
Okuma işlemleri (holding register):
0x0008 → Çalışıyor bilgisini (status)
0x00C8 → Anlık frekans (Hz)
0x00C9 → Anlık akım (A)
Enelsan marka manyetik debimetreler (4 adet)
Slave ID'leri farklı
0x0307 adresinden FLOAT formatında debi (litre/saat) bilgisi okumaya çalışıyorum.
Şu anda programımda karşılaştırma komutları ile bu değerleri işlediğimde, zaman zaman veri eksik geliyor veya doğru geldikten sonra bir sonraki döngüde sıfıra düşüyor.
Ancak aynı değerleri önce bir M kontakları ile kullandığımda bu sorunla karşılaşmıyorum.
- Turhan
- Mesajlar: 8438
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
Programı şu şejilde revize edebilirmisiniz?
M1122 bit adresini yükselen kenar tetiklemesi ile set edin. Eğer haberleşme başarılı ise (M1127 ON ise) okunan veriyi D100'datasına kaydet ve M50 bitini set et. Eğer haberleşme time-out süresi içerisinde tamamlanamazsa yalnızca M50 bit adresini set et.
.
M50 bit adresi haberleşmede loop oluşturacak bit adrestir. Bu bit aktif olduğunda haberleşme ile ilgili tüm bitleri resetle ve belirli bir delay time sonunda bir sonraki haberleşme komutunu çalıştır.
.
Bu haberleşme yapısında haberleşme adımında haberleşme durumu ne olursa olsun maximum time-out süresi sonunda (200 ≦D1129 ≦ 3000.) mutlaka bir sonraki komutun çalışma koşulu gerçekleşecektir.
M1122 bit adresini yükselen kenar tetiklemesi ile set edin. Eğer haberleşme başarılı ise (M1127 ON ise) okunan veriyi D100'datasına kaydet ve M50 bitini set et. Eğer haberleşme time-out süresi içerisinde tamamlanamazsa yalnızca M50 bit adresini set et.
.
M50 bit adresi haberleşmede loop oluşturacak bit adrestir. Bu bit aktif olduğunda haberleşme ile ilgili tüm bitleri resetle ve belirli bir delay time sonunda bir sonraki haberleşme komutunu çalıştır.
.
Bu haberleşme yapısında haberleşme adımında haberleşme durumu ne olursa olsun maximum time-out süresi sonunda (200 ≦D1129 ≦ 3000.) mutlaka bir sonraki komutun çalışma koşulu gerçekleşecektir.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
DELTA Electronics Turkey
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
- ssarikaya
- Mesajlar: 6
- Kayıt: 03 May 2018, 12:16
- İletişim:
- Durum: Çevrimdışı
Re: Modbus RS-485 Register Okuma Sorunu (Değer Eksik veya Sıfıra Dönüyor)
Teşekkürler iyi çalışmalar Turhan Bey