4. sayfa (Toplam 5 sayfa)
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 13:59
gönderen Areim
Bende aynı şekilde bir sorunla karşılaştım bir türlü destek alacak biryer bulamadım. Yardımcı olursanız sevinirim.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 14:13
gönderen mulayim
Merhaba Uğur Bey,
Bu hata kodunu mesaj formatımda yanlış olduğunda alıyorum. Yaptığım aşamaları detaylı açıklamak istiyorum.
Öncelikle ascıı 7,e,1 9600 baudrate ayrlarını kullanmaktayım. D402 için com2 portundan rs485 modul ve mcu ile :01031192000158 mesajını yollayıp gelen ilk mesajda istediğim veriyi almaktayım. Ancak daha sonra plc veri göndermeye devam etmekte bu yüzden yeni sorgu gönderememekteyim. Bunun için yanlış yaptığım yerin mesajı kesememek olduğunu düşünüyorum. Standart olmamakla birlikte PLC bir süre sonra sürekli ":" verisi yollamaktadır. Gönderdim mesajda(:01031192000158) sona end bitlerini eklediğimde üstteki mesajımdaki hata kodunu almaktayım. Bunun için bir çözüm yolu bulmak istiyorum. yardımcı olur musunuz.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 14:14
gönderen Uğur
:01830775 cevabı bir hata mesajıdır. Yorumlaması için;
01 --> İstasyon numarası
83 --> Hata mesajı oluştu
07 --> Hatalı adres
Buradan anlamanız gereken gönderilen modbus sorgusunda okumaya veya yazmaya çalıştığınız adresin slave aygıtta olmadığını olmayan bir adresi okuyup yazmaya çalıştığınızı anlayabilirsiniz.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 14:17
gönderen Uğur
Sorgu kontrolsüz gerçekleşmemeli. Sorgu gönderip timeout olana dek portu cevap için dinlemelisiniz. Eğerki cevap vermez ise tekrar göndererek veri çakışmasının önüne geçmelisiniz. Timeout için genelde 200-300 ms kadar beklemek yeterli olacaktır.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 15:44
gönderen mulayim
Belirtiiğiniz gibi 200-300 ms sonra veri gelmesi durmuyor. Resimde görüldüğü gibi veri gelmesi dursa bile yeni sorguya cevap vermiyor.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 16:36
gönderen Uğur
Yukarıda deger olarak gelen veriler var modbus dışı veri basıyorsunuz gibi.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 16:54
gönderen mulayim
Yukarıda deger olarak gelen değerler PLC ilk RUN olduğunda gönderdiğim :01031192000158 mesajına cevap olarak geliyor resimde mevcut değil ancak ilk gelen mesaj istediğim değeri veriyor. Ancak PLC Stop Run yapmadan başka gönderdiğim mesaja PLC cevap vermiyor.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 17:01
gönderen Uğur
Verileri gönderen ardunio ise deger olarak gelen verileri gönderen PLC değildir. Siz anlamsız modbus dışı bir sürü veriyi PLC ye basıyorsunuz ve bu süreçte PLC buna cevap vermek yada anlamlımı diye karar vermekle meşgul olabilir. Siz öncelikle temiz bir modbus master altyapısını arduino içerisinde kurgulamalısınız. Bu aşamadan sonra PLC sorgularınız ile kilitlenmeyecektir. Sonunda 0A0D karakteri gönderilmez ise PLC timeout kadar portunu açık tutacak ve buda yeni cevap almasını engelleyecektir.
Arduino tarafında modbus master kullanımının düzgün gerçekleştirildiği örnekleri incelemenizi öneririm sorun o taraftaki uygun olmayan haberleşme yönetimidir.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 19 Eki 2022, 17:32
gönderen mulayim
Deger olarak tanımladığım değerler PLC tarafından gelmekte. Arduinodan yapılan işlem tek mesaj yollayıp port dinlemek. Resimde gönderdiğim mesaj ve PLC'den aldığım ilk mesajın istediğim mesaj olduğunu görmektesiniz. Sonra gelen veriler hakkında fikrim yok. Arduino master tekrar bakıcam. Ancak sorunun sadece MCU olduğuna emin değilim. Bu yüzden sizden yardım istemekteyim.
Re: delta plc ile ardunio haberleşme
Gönderilme zamanı: 20 Eki 2022, 10:21
gönderen Uğur
PLC deger şeklinde ASCII bir veriyi kendi başına üretmez. Bunu anlamak için PLC yi stop moda alıp aynı işlemi tekrar edebilirsiniz. ASCII veri PLC içerisinde özel RS komutu ile yazılım yapıldıysa bu komut gönderir ve bununda oluşması için sizin bu şekilde program yazmanız gerekir.