Yorumları: 4
Konuları: 1
Kayıt Tarihi: 03-06-2021
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 0
Başlangıç
Arkadaşlar merhaba bir konuda yardımınıza ihtiyacım var şimdi maketi olan bir arkadaşım için teraziden gelen ağırlığı okuyacak bir windows uygulaması yazmaya çalışıyorum bağlantıda comportlib bileşenlerini kullanıyorum comportdatapacket bileşeni ile de veriyi alıyorum istediğim şekildede düzenlenmesini yapabiliyorum. Ancak bazı zamanlarda bağlantı kopması oluyor (kablo sorunları farklı com port seçimi gibi) işte bu durumda yazmış olduğum programın uyarı vermesini istiyorum (veri okunamadı yada hata) verinin tekrar gelmesi durumunda ise otomatik ben işlem yapmadan bağlanmasını istiyorum. bunu nasıl yapabilirim.
Yorumları: 53
Konuları: 3
Kayıt Tarihi: 23-04-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 221
Acemi
03-06-2021, Saat: 17:32
(Son Düzenleme: 03-06-2021, Saat: 17:33, Düzenleyen: ugorkem.)
büyük ihtimal bileşenin Events -> onDisconnect mutlaka vardır. bağlantı koptuğunda oradan uyarı verebilirsin.
cihaz aynı port/usb üzerinden bağlı olduğu sürece comport numarası değişmez.
belirli zaman aralıkları ile bağlantı kurmayı denersin. Bağlantı kurulduğunda Events -> onConnected tetiklenir.
Bağlantı koptuğu yada bağlantı kurulup kurulmadığını kontrol edebilirsin.
Not: Eğer bileşenin otomatik bağlantı seçeneği yok ise sen bağlantı kuruncaya (connect oluncaya) kadar veri gelmeyecektir.
Yorumları: 1.660
Konuları: 20
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 18.981
Üstad
03-06-2021, Saat: 21:21
(Son Düzenleme: 03-06-2021, Saat: 21:23, Düzenleyen: mrmarman.)
Bir öneri : Market'teki terazinin teknik dökümanlarından protokolü bir inceleyin.
* ping /pong tarzı status check opsiyonu vardır bir şekilde. seri port sonuçta.
* Cihaza bağlı olduğunuz sonucunu nasıl elde ediyorsanız o da olur.
* Projeniz açık olduğu müddetçe ( aralığın kaç saniye olacağına siz karar verin ) periyodik olarak sorsun cevap alırsa bağlantı sağlıklı, alamazsa uyarı versin.
Saygılarımla
Muharrem ARMAN
Yorumları: 261
Konuları: 19
Kayıt Tarihi: 16-11-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 491
Acemi
Ben TComPortDriver kütüphanesini kullanarak (Marco Conti'nin) RS232 haberleşmesi yapıyorum. Maalesef RS232 'de TCP/IP gibi bağlantı koptuğunda geri dönen bir event yok. mrmarman'ın dediği gibi sizin bir sorgu çalıştırıp belli zamanlarda teraziden veri alıp almadığınızı kontrol etmeniz gerekiyor.
Kullandığınız terazinin marka modeli nedir bilmiyorum ama ben BayKon markası ile haberleşmiştim. Onlarda devamlı veri gönderimi söz konusu. Bu durumda ürün teraziye girerken de çıkarken de veri gönderiyor. Yani sadece stabil olduğunda değil. Bu durumda doğru ağırlığı sizin algılamanız yada ortalamasını almanız lazım olabilir.
Kolay gelsin.
Yorumları: 1.660
Konuları: 20
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 18.981
Üstad
04-06-2021, Saat: 10:00
(Son Düzenleme: 04-06-2021, Saat: 10:02, Düzenleyen: mrmarman.)
Bu c# örneğinde de timer ile yeniden bağlantı kuruyor görüyorum. Yani bağlantı koptuğunu sadece yeniden bağlantı sağlanamazsa bağlantının sağlıklı olmadığını anlıyor.
Ayrıca hata var kısmını devre dışı bırakmışlar, sürekli bağlantı kurmaya çalışarak başarılı olana kadar tekrarlıyor.
Bu noktada terazideki biriken bir kısım veri topluca gelebilir. Gelen kümülatif verinin en sonuncusunu parse ederek değerlendirmek isteyebilirsiniz.
Örnekte de \r ile ifade edilen enter/return karakterinin sonuncusundan geriye doğru 6 karakteri okutulmuş.
99.999 gibi bir değer okunuyor olmalı.
Saygılarımla
Muharrem ARMAN