[ mish_ns @ 08.01.2012. 11:10 ] @
Pozdrav svima i srećna Nova Godina :)

Interesuje me RS232 komunikacija u vb.net-u. Za prenos podataka sam koristio samo pin2 i pin3 tj. Rx i Tx linije plus GND (pin5). (ništa drugo nisam vezao)

E sad kada prozivam neki uređaj šaljem adresu tog uređaja sa računara na liniju npr. 01. Tada od recimo 10 uređaja prvi(01) mi odgovara sa nekim ascii karakterima npr. s10234s20265.

Međutim ja kad šaljem to na port SerialPort.Write("01") dobijam odgovor 01s10234s20265, pa me interesuje zašto dobijam i ono što sam ustvari poslao?
Tj. kada pošaljem 01 zašto ne dobijem samo s10234s20265?

HVALA
[ Dusan Kondic @ 08.01.2012. 11:49 ] @
Pomenuta tri pina su ti dovoljna ako ne koristiš hanshake. Takva vrsta komunikacije je i najčešća u praksi.
Serijsku komunikaciju sa više uređaja preko RS232 nije moguće izvesti. Za to se koristi RS485 što je verovatno slučaj kod tebe, jer tada moraš da pošalješ adresu uređaja da bi isti znao da upravo on treba da se odazove. RS232 se koristi samo za komunikaciju između dva uređaja.
Pogledaj pažljivije formate komandi koje uređaji sa kojima komuniciraš prihvataju. Predpostavljam da se tebi u stvari niko i ne odaziva nego ti se komanda koju si poslao vraća kao broadcast. Dakle niko je nije prepoznao i zbog toga niko na nju nije odgovorio.
Proveri ovo pa da vidimo šta dalje.
Pozdrav.
[ mish_ns @ 08.01.2012. 17:49 ] @
Potpuno si u pravu.
Zaboravio sam da napomenem da komunikacija ide preko RS232-485 konvertora. Pa se na njega kače uređaji.
Radio sam i komunikaciju sa tač panelom direktno sa uređajima i kad pošaljem adresu uređaj koji je prozvan mi
odgovori sa odgovarajućim ascii karakterima.

Ovde sad imam situaciju da šaljem adresu sa PC-ja preko konvertora do prozvanog uređaja...koji treba da odgovori
sa određenim nizom karaktera. To sve radi ok, ali me interesuje zašto dobijem kao povratnu poruku ono što šalje
PC plus ono što šalje uređaj uređaj.
Iz prvog primera:

Kada PC šalje 01 na liniju, dobija odgovor 01s10234s20265.
Zašto ne dobije samo ovo: s10234s20265 ?




[ Dusan Kondic @ 08.01.2012. 20:29 ] @
Znači šalje odgovor. Odlično. Pogledaj dokumentaciju za komunikaciju i pogledaj format odgovora, verovatno je programiran da šalje takav odgovor. Probaj i neke druge komande.
Može da se desi da dokumentacija baš i ne odgovara onome što ti mikrokontroler uređaja vraća ali ni to nije neki veliki problem. Analiziraj odgovore. Ova neslaganja se dešavaju npr. kada se u mikrokontroler ubaci noviji firmware.
Mislim da ti sve radi kako treba.
To što ti uređaj uz odgovor vraća i svoju adresu je odlično jer tako možeš da znaš ko ti je odgovorio u slučajevima kada pošalješ više istih komandi različitim uređajima u kratkom periodu.
[ mish_ns @ 09.01.2012. 06:02 ] @
OK...Čisto me zanimalo jer kad radim sa tač panelom koji imaugrađen rs485 kao odgovor ne dobijam i adresu, i sad kad sam krenuo da radim aplikaciju vidim da mi se vraca i adresa. :)
Ali ok, verovatno je do samog kontrolera.

Hvala