RS-232 Sniffer: Seri porttan haberleşen bir cihazın trafiğini dinlemek

emrah_

Üye
Katılım
16 Ara 2007
Mesajlar
631
Puanları
1
Python ile yazılmış bu program seri porttan haberleşen iki cihaz arasındaki trafiği dinlemeye yaramaktadır. Cihazlardan biri, birinci seri porta, diğeri ikinci seri porta takılır. Sonra program çalıştırılır. Cihazlar, hattın dinlenmesinden etkilenmez ve normal çalışmasına devam eder.

Bu programı, haberleşme protokolünü bilmediğim iki cihazın nasıl haberleştiğini çözmek için yazdım. Benzer bir problemi olanların işine yarayabilir.

RS-232 Sniffer
 
Portmon çok güzel bir program, daha önce bir cihazın protokolünü kullanmak için denemiştim çok işe yarıyor.
 
moosty ' Alıntı:
Portmon çok güzel bir program, daha önce bir cihazın protokolünü kullanmak için denemiştim çok işe yarıyor.

ARKADAŞLAR SİZ BURDA YAZINCA SORUNUMLA ALAKALI OLABİLİR DİYE BURDA SORMAK İSTEDİM

BİR CİHAZIN ÖLÇTÜĞÜ VERİLERİ RS-232 İLE ALIP PLC Scada'DA GÖSTERMEK İSTİYORUM AMA BU NASIL YAPILIR?

PORTMON İLE CİHAZIN GÖNDERDİĞİ BİLGİLERİN FORMATINI PLC İLE DEĞİŞTİREREK SCADA'DA GÖSTEREBİLİRMİYİM?

ÖRNEĞİN CİHAZ KONSANTRASYON ÖLÇÜYOR VE BİLGİLER H2O %5 GİBİ Bİ FORMATTA GELİYOR OLSUN
 
Merhaba,

Portmon bilgisayar ve ona seri porttan bağlı cihaz(lar) arası haberleşmeleri yakalayıp text dosyaya kaydediyor.

Bu nednele bu bilgileri canlı olarak portmon ile yakalaman çok zor, portmon un yazdığı dosyayı sürekli okuman gerekir.

Bunun yerine cihazın takıldığı portun Rx inden paralel bir kablo daha çekip bir başka seri porttan dinlemek daha kolay olacaktır.

SCADA programları ile özel iletişim protokolleri yazılabiliyor mu bilmiyorum, bunu SCADA yerine kendi yazacağın bir uygulama ile geliştirmek daha basit ve çok daha hızlı olabilir. SCADA uygulamaları genellikle PLC ler ile haberleşebilecek protokol kütüphanelerine sahiptir ama standart dışı protokole sahip cihazlar ile uyumlu çalışamayabilirler.

Eğer bahsettiğin gibi H20 %5 gibi basit bir protokole sahipse bilgisayarda bunun için bir uygulama geliştirmek çok kolay. VB, Delphi gibi herhangi bir programlama ortamı kullanılabilir.

VB için MSComm bileşeni, Delphi için TCommPort bileşeni kullanılması gerekir.

Saygılarımla,
 

çok teşekkür ederim, evet potmon işe yarar gibi görünse de PL'nin sürekli dosyadan okuyup stringleri update etmesi zor olsa gerek

ama şu da var ki benim için VB ya da Delphi olayı tam bir soru işareti..

bu konuyu en iyisi PLC firmasına sorayım belki bir donanım ya da yazılım eklentisiyle RS'den gelen verileri işlemek mümkündür
 
Siemens i çok iyi bilmiyorum, ama OMRON ile TXD - RXD komutları ile seri port iletişimi yapmak mümkün.

Seri porttan bilgiler gönderen cihazın gönderdiği bilgiler ile ilgili bir kayıt var mı? Eğer sürekli bilgi gönderen bir yapıdaysa Hyper Terminal ile bu bilgileri kaydedebilirseniz sizin için ufak bir program hazırlayabilirim VB ile.

VB çok daha kolay, VB yi biraz öğrenirseniz VBA (Office Macro) ile bu verileri direk Excel ya da Word e aktarabilirsiniz örneğin. MSComm komponentini daha önce Excel ile kullandım, problemsiz bir şekilde çalışıyor.

Excel de yapıp Excel in grafik imkanlarını da kullanabilirsiniz VB ile. Dediğim gibi, eğer Hyper Terminal ile yakalanmış örnek bir dosya gönderirseniz size bu verileri direk Excel e atan bir şey de yapabilirim, Excel de hücrelere atsam işinizi görür mü?
 

Bu defa da Scada'nın Excel'deki verileri okuyup arayüze aktarması gerek ama o halledilebilir heralde bi şekilde, işin zor kısmı Excel'e çekmek..

Bu hyperterminal kısmını araştırayım, cihazın veri gönderimini öğreneyim size bilgi vereyim.

İlginiz için tekrar teşekkür ederim.
 
Merhaba,

SCADA ile text dosyadan okumak daha kolay olabilir, küçük bir Visual Basic programı ile sürekli text dosyaya atarsak SCADA o dosyayı sürekli okuyarak alabilir muhtemelen.

Örneğin VB programı 5 saniyede 1 bir dosyaya seri porttan gelen bilgileri yazmayı dener, SCADA da yine 5 saniyede bir okumayı dener. SCADA ile EXCEL den okumak zor olabilir. Excel dememin nedeni, EXCEL de de grafik gösteriminin güzel olması, örneğin hücrelere sürekli olarak veri aktarıldığında bu hücrelerdeki verilerin grafik ile gösterilmesi durumunda Excel grafikleri de sürekli güncelleniyor, örneğin derişim yüzdeleri için bir de pasta grafik yaptığınızı düşünün, Excel açık olduğu sürece anlık olarak grafik de değişecektir.

Bunu SCADA ile göstermek zorunlu mu? Eğer amaç sadece ekranda göstermekse VB programı zaten seri porttan gelen bilgileri okuyor olacak, o da gösterebilir. Verilerin formatını bilmiyorum ama gerekirse grafik de gösterilebilir, hatta geçmişe yönelik sorgulama için tarih - saat bazlı kayıt tutulabilir VB ile.

Eğer SCADA ile göstermek zorunluysa sürekli güncellenen text dosya ile SCADA ya bilgi göndermek daha kolay.
 

SCADA'da olması proje izlenebilirliği için gerekli, son durumda SCADA'da görünmesi gerek ama geçiş aşamasında ilk etapta VB de kullanılabilir. Peki sonra .txt dosyadan SCADA nasıl veri işleyecek ve gösterecek bu defa SCADA içinde mi VB kod gerek yoksa PLC yazılımıyla uygulanabilecek böyle bir yöntem var mı?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…