ele mid
Guest
Sun Sep 26, 2004 11:25 am
Potrzebuję uruchomić system z magistralą rs 458.
Potrzebuję 4 matery i 1 slave.
Jakie problemy napotkam? Czy powyższa konfiguracja jest możliwa?
Jak uniknąć kolizji masterów?
Gdyby ktoś znał dobre strony i materiały, w których na prawdę dobrze, w
sposób konkretny, wytłumaczono protokół RS 232 i pochodne, podrzućcie linki
i informacje.
Z góry dzięki.
pzdr
Mariusz
neuron
Guest
Sun Sep 26, 2004 2:56 pm
Quote:
Potrzebuję uruchomić system z magistralą rs 458.
Potrzebuję 4 matery i 1 slave.
Jakie problemy napotkam? Czy powyższa konfiguracja jest możliwa?
Jak uniknąć kolizji masterów?
co to znaczy 4 mastery ? Zapewne chodzi o to ze wiecej niz jedno z 4
urzadzen jednoczesnie przelaczy sie w tryb nadawania.
Jesli tak to proponuje nastepujace rozwiazanie:
slave wysyla cyklicznie pakiet synchronizujacy z numerami masterow - teraz1
teraz2 teraz3 teraz4 teraz1 teraz2 itd
z okienkami czasowymi na odpowiedz mastera.
Jesli master ma cos do nadania (np rzadanie danych ) to czeka na pakiet
terazty i nawiauje lacznosc ze slavem - a ten dopuki
nie skonczy z nim gadac nie wysyla zachet dla innych masterow.
Teoretycznie to slave bedzie masterem - jednak praktycznie to pozostali beda
sterowac transmisja - ale w wyznaczonym przez
slave czasie. Takie rozwiazanie wydaje mi sie najprostsze i najmniej
nararzone na konflikty.
wojtek
----------------------------------------------------------------------------
-------
GolemSLR - system licząco rejestrujący.
Nowy wymiar systemów SCADA
www.neuron.com.pl
Marcin Stanisz
Guest
Sun Sep 26, 2004 6:15 pm
On Sun, 26 Sep 2004 14:25:31 +0200, ele mid wrote:
Quote:
Jakie problemy napotkam? Czy powyższa konfiguracja jest możliwa?
No hay problemo ;-)
Quote:
Jak uniknąć kolizji masterów?
Proponuję "token passing". Master nr 1 ma głos po resecie. Robi, co
chce. Po zrobieniu przesyła charakterystyczny pakiet (ów żeton
właśnie) do mastera nr 2. Teraz master 2 ma głos. Po zakończeniu
działań przesyła żeton do mastera nr 3. Ad libitum al fine ;-)
Dla uniknięcia sytuacji, że któryś master się zwiesił, stosuje się
time-out.
Pozdrawiam
--
Marcin Stanisz
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
J.F.
Guest
Sun Sep 26, 2004 9:26 pm
On Sun, 26 Sep 2004 21:15:26 +0200, Marcin Stanisz wrote:
Quote:
Jak uniknąć kolizji masterów?
Proponuję "token passing". Master nr 1 ma głos po resecie. Robi, co
chce. Po zrobieniu przesyła charakterystyczny pakiet (ów żeton
właśnie) do mastera nr 2. Teraz master 2 ma głos. Po zakończeniu
działań przesyła żeton do mastera nr 3. Ad libitum al fine ;-)
Dla uniknięcia sytuacji, że któryś master się zwiesił, stosuje się
time-out.
Po timeoucie masz:
-kilka krazacych tokenow,
-problem jak rozwiazac problem kolizji :-)
J.
ziel
Guest
Sun Sep 26, 2004 11:08 pm
On Behalf Of J.F.
Quote:
Po timeoucie masz:
-kilka krazacych tokenow,
-problem jak rozwiazac problem kolizji :-)
W/g mnie problem postawiony na głowie.
Jest jeden master i kilka slave.
Po zezwoleniu od Master, Slave wysyła swoje dane.
Natomiast w trybie multimaster były tokeny adresowane
plus time-out.
Tzn. w przypadku zwisu poprzednika lub przerwie na linni
po odczekaniu stosownej chwili ciszy na linni slave generował
tokena rejestracji_w_systemie. Krążące tokeny powinne ginąć
po dojściu do swego nadawcy.
pzdr
Artur
--
Archiwum grupy:
http://niusy.onet.pl/pl.misc.elektronika
neuron
Guest
Mon Sep 27, 2004 7:05 am
Quote:
W/g mnie problem postawiony na głowie.
Jest jeden master i kilka slave.
Po zezwoleniu od Master, Slave wysyła swoje dane.
Niekoniecznie. Tak naprawde nie wiemy nadal co chce pytacz osiagnac.
Przyzwyczailismy sie do konfiguracji sieci pomiarowej - master odebiera dane
ze slave'ow lub
przekazuje im polecenia. A co jesli tzw slave ma wykonywac polecenia od
swobodnie podlaczanych / odlaczanych
urzadzen ? Wtedy do rozpatrywania konfliktow dochodzi jeszczse problem
wyznaczania mastera masterow :)
Kiedys probowalem zaglebic sie troszeczke w budowe profibusa (troszeczke
mniej niz troszeczke

) i jesli dobrze
zrozumialem to tam jeden z masterow przejmuje na siebie obowiazek
synchronizacji sieci rozsylajac odebierany
przez wszystkie urzadzenia pakiet ktory mowi - od teraz zaczyna sie okienko
czasowe. I odbiorcy odliczaja czas
dzielac je na 4 czesci - kazda do czego innego. Ale takie rozwiazania
wymagaja sprzetowej budowy srednich warstw
protokolu.
Po nocnym przemysleniu dla ograniczonej ilosci masterow i jednego slave
najbardziej rozsadna wydaje mi sie moja poprzednia propozycja. Tym bardziej
ze jest w miare prosta do zaimplementowania.
wojtek
--
----------------------------------------------------------------------------
-------
GolemSLR - system licząco rejestrujący.
Nowy wymiar systemów SCADA
www.neuron.com.pl
J.F.
Guest
Mon Sep 27, 2004 1:18 pm
On 27 Sep 2004 02:08:25 +0200, ziel wrote:
Quote:
On Behalf Of J.F.
Po timeoucie masz:
-kilka krazacych tokenow,
-problem jak rozwiazac problem kolizji :-)
W/g mnie problem postawiony na głowie.
Jest jeden master i kilka slave.
Jest odwrotnie - kilka masterow, jeden slave :-)
Quote:
Natomiast w trybie multimaster były tokeny adresowane
plus time-out.
Warto przeczytac jak to robil ethernet.
Quote:
Tzn. w przypadku zwisu poprzednika lub przerwie na linni
po odczekaniu stosownej chwili ciszy na linni slave generował
tokena rejestracji_w_systemie. Krążące tokeny powinne ginąć
po dojściu do swego nadawcy.
Proponujesz zeby slave odzywal sie nie pytany ?
No to dochodzi jeszcze jeden kolidujacy komputer :-)
J.
ele mid
Guest
Mon Sep 27, 2004 3:44 pm
Quote:
Proponujesz zeby slave odzywal sie nie pytany ?
No to dochodzi jeszcze jeden kolidujacy komputer
Slave jest urządzeniem wykonawczym, interpretującym i wykonującym polecenie
mastera, a po wykonaniu zadania zwraca potwierdzenie. Do slave'a ma dostęp
kilka masterów.
pzdr
Mariusz
ziel
Guest
Mon Sep 27, 2004 9:28 pm
On Behalf Of ele mid
Quote:
a po wykonaniu zadania zwraca potwierdzenie. Do slave'a ma dostęp
kilka masterów.
To już wyższa szkoła jazdy.
Wypadałoby zapewnić, żeby mastery nie wysyłały preciwstawnych
rozkazów. ;-)
pzdr
Artur
--
Archiwum grupy:
http://niusy.onet.pl/pl.misc.elektronika
ziel
Guest
Mon Sep 27, 2004 9:28 pm
On Behalf Of J.F.
Quote:
W/g mnie problem postawiony na głowie.
Jest jeden master i kilka slave.
Jest odwrotnie - kilka masterow, jeden slave
[...]
Warto przeczytac jak to robil ethernet.
Eterneta na cztery małe procki? '

Quote:
Proponujesz zeby slave odzywal sie nie pytany ?
No to dochodzi jeszcze jeden kolidujacy komputer
Moje tak gadają.

Master raz na minutę robi 2 sekundy ciszy, aby nowe mogły
zarejestrować się w systemie. W przypadku zawieszenia
się mastera, slave próbują na wszelki wypadek nawiązać
połaczenie - jeśli nie dojdzie do skutku
przechodzą w tryb awaryjny.
Jest jeden mały wyjątek.
W przypadku sleva z INT. Ma prawo zrobić kolizję.
W takim wypadku master ogłasza chwilę ciszy i czeka
na zgłoszenie INT. Tego w ethernecie nie ma

.
pzdr
Artur
--
Archiwum grupy:
http://niusy.onet.pl/pl.misc.elektronika