Goto page 1, 2 Next
E.N
Guest
Tue Nov 23, 2004 9:07 am
Witam.
Jestem początkowym programistą.
Mam urządzenie (miernik) z interfejsem RS485 oraz
pc z wbudowanym interfejsem RS485. Mam oprogramować komunikację pomiędzy
tymi urządzeniami (w języku c).
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest takie samo
jak w przypadku RS 232.
Proszę o potwierdzenie tej tezy.
pozdrawiam
GG
Piotr Gałka
Guest
Tue Nov 23, 2004 9:51 am
Użytkownik "E.N" <gm@gnas.pl> napisał w wiadomości
news:cnuun5$lcv$1@nemesis.news.tpi.pl...
Quote:
Witam.
Jestem początkowym programistą.
Mam urządzenie (miernik) z interfejsem RS485 oraz
pc z wbudowanym interfejsem RS485. Mam oprogramować komunikację
pomiędzy
tymi urządzeniami (w języku c).
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest
takie samo
jak w przypadku RS 232.
W RS232 są osobne tory w dwie strony, a tu jest jeden wspólny.
W RS485 ramki mogą się "zderzyć" i trzeba to jakoś rozwiązać.
Można wymyślić coś samemu, lub zastosować jakiś standard (nie znam).
P.G.
entroper
Guest
Tue Nov 23, 2004 9:55 am
"E.N" <gm@gnas.pl> wrote in message
news:cnuun5$lcv$1@nemesis.news.tpi.pl...
(...)
Quote:
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest
takie samo
jak w przypadku RS 232.
jesli to RS485 full duplex (2 pary), to bedzie tak samo, jesli jedna
para, a komunikacja ma zachodzic w dwie strony, wtedy trzeba
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
pozdrawiam
entrop3r
Michał
Guest
Tue Nov 23, 2004 10:17 am
Quote:
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest
takie samo
jak w przypadku RS 232.
jesli to RS485 full duplex (2 pary), to bedzie tak samo, jesli jedna
para, a komunikacja ma zachodzic w dwie strony, wtedy trzeba
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
Potwierdzam, to cholerne echo przytrzymalo mnie kilka dni w miejscu,
zanim rozpoznalem i rozwiazalem problem.
Jesli ktos chce kilka fotek sieci na RS485 mozna przejrzec tu:
http://www.michallo.ll.pl/RS485/index.htm
Pzd Michał
Quote:
pozdrawiam
entrop3r
Sebastian Bialy
Guest
Tue Nov 23, 2004 11:30 am
Michał wrote:
Quote:
Potwierdzam, to cholerne echo przytrzymalo mnie kilka dni w miejscu,
zanim rozpoznalem i rozwiazalem problem.
Jesli ktos chce kilka fotek sieci na RS485 mozna przejrzec tu:
http://www.michallo.ll.pl/RS485/index.htm
Stosowałeś jakiś popularny protokół, czy coś własnego ? Własnie szyke
sieć na RS485 i mam jeszcze pole manewru ;)
--
Sebastian Bialy - heby@poczta.onet.pl
GG
Guest
Tue Nov 23, 2004 12:05 pm
Można gdzieś poczytać o metodach rozwiązujących ten problem ???
Użytkownik "entroper" <entroper@CWD.spamerom.poczta.onet.pl> napisał w
wiadomości news:cnv0s1$l1$1@achot.icm.edu.pl...
Quote:
"E.N" <gm@gnas.pl> wrote in message
news:cnuun5$lcv$1@nemesis.news.tpi.pl...
(...)
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest
takie samo
jak w przypadku RS 232.
jesli to RS485 full duplex (2 pary), to bedzie tak samo, jesli jedna
para, a komunikacja ma zachodzic w dwie strony, wtedy trzeba
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
pozdrawiam
entrop3r
Michał
Guest
Tue Nov 23, 2004 1:41 pm
Quote:
Stosowałeś jakiś popularny protokół, czy coś własnego ? Własnie szyke
sieć na RS485 i mam jeszcze pole manewru
Protokół wlasny, nawet nie chcialo mi sie szukac czego co moglnym
przystosowac do swojej sieci. W ramce danych mam zapisana temeperature, stan
fotokomorek oraz sterowanie przekaznikiem.
Pzd Michał
Tomasz Sliwa
Guest
Tue Nov 23, 2004 4:13 pm
Witam
Quote:
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
Ja rozwiazalem to bardzo prosto. W momencie nadawania wylaczalem odbiornik.
Nie mam pdfa (max485) pod reka, ale chyba wystarczylo zewrzec wyprowadzenia
ENABLE nadajnika i odbiornika, bo uaktywniane sa (o ile dobrze pamietam -
projekt robilem prawie 3 lata temu) roznymi stanami logicznymi (FIXME).
Dzialalo tot bez zarzutu, nie mialem problemu z echem.
Pozdrawiam
Tomek
GG
Guest
Wed Nov 24, 2004 5:42 am
Czy problemy także wystepują gdy używamy jakiegoś popularnego protokołu
(Modbus, profibus) ?
Użytkownik "Tomasz Sliwa" <tomsliwaXXX@XXXsys.net.pl> napisał w wiadomości
news:cnvnrb$gj6$1@nemesis.news.tpi.pl...
Quote:
Witam
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
Ja rozwiazalem to bardzo prosto. W momencie nadawania wylaczalem
odbiornik.
Nie mam pdfa (max485) pod reka, ale chyba wystarczylo zewrzec
wyprowadzenia
ENABLE nadajnika i odbiornika, bo uaktywniane sa (o ile dobrze pamietam -
projekt robilem prawie 3 lata temu) roznymi stanami logicznymi (FIXME).
Dzialalo tot bez zarzutu, nie mialem problemu z echem.
Pozdrawiam
Tomek
Mariusz Dybiec
Guest
Wed Nov 24, 2004 5:39 pm
entroper wrote:
Quote:
"E.N" <gm@gnas.pl> wrote in message
news:cnuun5$lcv$1@nemesis.news.tpi.pl...
(...)
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest
takie samo
jak w przypadku RS 232.
jesli to RS485 full duplex (2 pary), to bedzie tak samo, jesli jedna
para, a komunikacja ma zachodzic w dwie strony, wtedy trzeba
zapewnic jakis mechanizm zwalniania magistrali. No i nadawane dane
beda wracac do odbiornika ("echo").
Jeśli full duplex to nie będzie RS485 tylko RS422. Jeśli jednak RS485
czyli 1 para to dzięki "sprzętowemu" zwalnianiu magistrali nie masz
echa. Jeśli pracuje nadajnik to odbiornik jest po tej stronie odłączony
( na wyjściu ustawiony na 1 ). Przełączenie odbiór-nadawanie jest albo
sterowane linią RTS albo następuje automatycznie przy pojawieniu się
bitu startu po stronie TTL przy pomocy prostego przerzutnika
monostabilnego. Wszystkie znane mi karty RS485/RS422 oraz konwertery
485-232 mają tak rozwiązane. Czasami to przełączanie powoduje, że
obetnie ci początek odpowiedzi jeśli Slave za szybko zacznie odpowiadać.
Ja robiąc obsługę w Slave musiałem zazwyczaj trochę opóźniać odpowiedż
bo pecet z kartą Advantecha nie zdążał.
--
Pozdrawiam
MD
Mariusz Dybiec
Guest
Wed Nov 24, 2004 5:45 pm
Piotr Gałka wrote:
Quote:
W RS232 są osobne tory w dwie strony, a tu jest jeden wspólny.
W RS485 ramki mogą się "zderzyć" i trzeba to jakoś rozwiązać.
Nie mogą jeśli to jest RS485 bo wg standardu musisz zastosować
Master-Slave. Slave nie może nadawać spontanicznie tylko jest odpytywany.
--
Pozdrawiam
MD
Andrzej Augustynowicz
Guest
Wed Nov 24, 2004 6:46 pm
Witam
Quote:
W RS232 są osobne tory w dwie strony, a tu jest jeden wspólny.
W RS485 ramki mogą się "zderzyć" i trzeba to jakoś rozwiązać.
Nie mogą jeśli to jest RS485 bo wg standardu musisz zastosować
Master-Slave. Slave nie może nadawać spontanicznie tylko jest odpytywany.
Moment, moment - RS485 definiuje TYLKO warstwe fizyczna.
Jesli uklad jest typu multimaster (a dlaczego nie ?) to moga wystapic
"kolizje". Zalozmy sytuacje, kedy master-slave skoncza wymiane danych
i inne mastery chca rozpoczac transmisje do swoich adresatow.
Z pewnoscia badaja zajetosc szyny transmisyjnej jednak nie mozna
wykluczyc ze decyzje o rozpoczceciu transmisji podejma w tym samym
czasie.
Oczywiscie mozna to rozwiazac poprzez wymiane "tokenow", przydzial
czasu itd. ale to juz inna bajka :)
Pozdrawiam
Andrzej
entroper
Guest
Wed Nov 24, 2004 8:19 pm
"Mariusz Dybiec" <mardyb@poczta.onet.pl> wrote in message
news:co2h1u$56c$1@atlantis.news.tpi.pl...
(...)
Quote:
Jeśli full duplex to nie będzie RS485 tylko RS422. Jeśli jednak
RS485
czyli 1 para to dzięki "sprzętowemu" zwalnianiu magistrali nie
masz
echa.
zalezy czy "sprzet" zwalnia

W gotowej karcie albo konwerterze
232/485 moze byc zrobione tak jak mowisz (w konwerterze nawet jest
to calkiem zrozumiale

), ale np. scalony driver we wlasnym
urzadzeniu mozesz podlaczyc roznie - uzywajac czegos do przelaczania
nadawanie/odbior lub nie. Lokalne echo natomiast wcale nie jest (jak
dla mnie) takie zle - mozna np. programowo sprawdzac kolizje w
systemie multimaster czy tez po prostu kontrolowac sprawnosc drivera
i linii.
pozdrawiam
entrop3r
Mariusz Dybiec
Guest
Thu Nov 25, 2004 12:14 am
Andrzej Augustynowicz wrote:
Quote:
Witam
W RS232 są osobne tory w dwie strony, a tu jest jeden wspólny.
W RS485 ramki mogą się "zderzyć" i trzeba to jakoś rozwiązać.
Nie mogą jeśli to jest RS485 bo wg standardu musisz zastosować
Master-Slave. Slave nie może nadawać spontanicznie tylko jest odpytywany.
Moment, moment - RS485 definiuje TYLKO warstwe fizyczna.
Jesli uklad jest typu multimaster (a dlaczego nie ?) to moga wystapic
"kolizje". Zalozmy sytuacje, kedy master-slave skoncza wymiane danych
i inne mastery chca rozpoczac transmisje do swoich adresatow.
Nie będę się upierał ale nie przypominam sobie żeby EIA/TIA-485
dopuszczało więcej niż jeden master. Na 75176 obciążonym 50ohm możesz
sobie rzeźbić dowolnie ale to nie oznacza, że efekt będzie zgodny z
RS485 czyli "Recommended Standard".
W tym przypadku gość ma dość prosty układ - miernik który pewnie nie
jest masterem i pc który może i powinien być masterem. Pisanie mu o
wersjach RS485 dwu i czteroprzewodowych o echach i kolizjach jakie muszą
towarzyszyć wersji 2 przewodowej wprowadza chaos pojęciowy.
--
Pozdrawiam
MD
Mariusz Dybiec
Guest
Thu Nov 25, 2004 12:29 am
E.N wrote:
Quote:
Witam.
Jestem początkowym programistą.
Mam urządzenie (miernik) z interfejsem RS485 oraz
pc z wbudowanym interfejsem RS485. Mam oprogramować komunikację pomiędzy
tymi urządzeniami (w języku c).
Mam pewne doświadczenia z RS232. Rozumiem, że przy
takich warunkach, oprogramowanie komunikacji (kod aplikacji) jest takie samo
jak w przypadku RS 232.
Proszę o potwierdzenie tej tezy.
Jeśli i miernik i karta ma rzeczywiście RS-485 to łączysz jedną parką.
Jeśli karta w komputerze ma automatyczne przełączanie nadawanie- odbiór
to tylko wysyłasz rozkaz do miernika a potem z bufora coma odczytujesz
odpowiedź. Karta powinna po wysłaniu automatycznie przełączyć się na
odbiór. Ale w starych kartach musisz sprawdzić czy ewentualnie zworkami
jest ustawiona prawidłowa prędkość transmisji ( bo od niej zależy
prędkość przełączania). Jeśli nie ma automatu to przełączasz linią RTS -
powinno być w dokumentacji karty. Karta powinna mieć wlutowane
terminatory - rezystory np 120 Ohm. Jeśli ta karta to Advantech to w
dokumentacji jest błędnie zaznaczone który rezystor jest od 485.
Jeśli miernik ma jednak RS422 a nie 485 to ustaw kartę na 422 ( pewnie
ma wybór) podłącz dwie parki i nie musisz o niczym myślec.
--
Pozdrawiam
MD
Goto page 1, 2 Next