wirtualny most do komunikacji międzysieciowej

Transkrypt

wirtualny most do komunikacji międzysieciowej
Nr 59
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych
Politechniki Wrocławskiej
Nr 59
Studia i Materiały
Nr 26
2006
przemysłowe sieci kontrolno-pomiarowe,
komunikacja międzysieciowa
Andrzej KAŁWAK*, Krzysztof PODLEJSKI ∗
F
WIRTUALNY MOST DO KOMUNIKACJI MIĘDZYSIECIOWEJ
Przemysłowe sieci kontrolno-pomiarowe są stosowane w wielu dziedzinach. Ich stale rosnąca
funkcjonalność sprawia., że potencjalne obszary zastosowań pokrywają się. Znanych jest wiele różnych sieci, które są stosowane w tych samych dziedzinach. Możliwość wymiany informacji między
różnymi sieciami tworzy warunki do budowy rozproszonych sieci kontrolno-pomiarowych nadzorowanych z wysokiego poziomu informatycznego. Jednym z promowanych rozwiązań jest zastosowanie funkcji, jakie oferuje Ethernet przemysłowy. Druga propozycja to standard IEEE 1451 [8]. W artykule przedstawiono układ do konwersji danych trzech wybranych standardów sieciowych na
poziomie łącza danych modelu ISO/OSI. Układem tym jest most wyposażony w trzy bramy pełniące
funkcje translatora danych. Scharakteryzowano cztery podstawowe rodzaje pracy mostu, który został
wykonany w formie wirtualnej i umożliwia prowadzenie eksperymentów dotyczących komunikacji
międzysieciowej.
1. WPROWADZENIE
Kompatybilność danych i protokołów komunikacyjnych między poszczególnymi
sieciami nie była brana pod uwagę przy projektowaniu różnych standardów. Problem
ten jest aktualny do dzisiaj, pomimo podjętych prób jego rozwiązania [1, 2, 3, 4, 5, 7,
10]. Komunikacja międzysieciowa może być rozwiązana w różny sposób, zależny od
występowania poszczególnych warstw modelu ISO/OSI w sieciach. W przypadku
warstwy łącza danych możliwe jest zastosowanie kilku niezależnych układów (w proponowanym rozwiązaniu dla trzech sieci: CAN, PROFIBUS i MODBUS), które utworzą logiczną strukturę trójkąta. Takie rozwiązanie, chociaż przejrzyste, wymaga zastosowania trzech niezależnych mostów i jest nieracjonalne przy technicznej realizacji a
także problematyczne przy konfigurowaniu mostów. Drugie rozwiązanie to zastosowanie jednego mostu, pracującego w układzie gwiazdy, wyposażonego w bramy kie__________
∗
Politechnika Wrocławska, Instytut Maszyn, Napędów i Pomiarów Elektrycznych, 50-370 Wrocław,
ul. Smoluchowskiego 19, [email protected], [email protected]
rujące pakiety danych z jednej sieci do dwóch pozostałych, działające w oparciu o
procedury tłumaczące ramki danych między poszczególnymi sieciami. Takie podejście nie jest spotykane w sieciach komputerowych i ma charakter oryginalny. W publikacji [6] przedstawiono ogólne zasady wymiany danych pomiędzy wybranymi sieciami kontrolno-przemysłowymi. Podkreślono różnicę w stosunku do sieci
komputerowych, szczególnie w zakresie niezawodności i wagi poszczególnych komunikatów (np. sytuacje alarmowe o najwyższym priorytecie) oraz opisano ogólną strukturę i zasadę działania mostu z konwersją ramek. Most lub mostek (ang. bridge) jest
urządzeniem stosowanym w sieciach komputerowych na poziomie warstwy łącza
danych decydującym o przesyłaniu ramek danych, ale nie pełni funkcji konwersji
ramek różnych typów. Proponowany most, logicznie, zbudowany jest z trzech bram
wyposażonych (przykładowo) w dwie funkcje konwersji ramki sieci CAN na ramki
sieci MODBUS i odwrotnie. Z punktu widzenia poszczególnych sieci most jest przezroczysty (rys.1.) i nie jest węzłem sieci.
Brama
PROFIBUS- MODBUS
Profibus
Modbus
odrzucanie niestandardowych pakietów
ruoting_profibus
master_profibus
adres_mastera_profibus
80, 81, 82, ...
RTR=0
master po stronie
sieci Profibus
profibus_tłumacz_rtu
60,
61,
62,
... ,
Dzielenie pakietów Modbus na pakiety Profibus
rtu_tłumacz_profibus
CAN
RTR=1
master po stronie
sieci CAN
can_tłumacz_profibus
Wy
300,301,
302, ...
Symulacja pola funkcji Profibus
RTR=1
master po stronie
sieci Profibus
We
RTR=0
master po stronie
sieci CAN
Brama
PROFIBUS - CAN
odrzucanie niestandardowych pakietów
kontrola RTR profibus
RTR=1
master po stronie
sieci CAN
Wy
400,401,
402, ...
80, 81, 82, ...
RTR=0
master po stronie
sieci Modbus
can_tłumacz_rtu
Symulacja pola funkcji Modbus
ruoting_can
master_can
Niestandardowe ramki SD1 SD3
dzielenie pakietów Profibus na pakiety CAN
profibus_tłumacz_can
100,101,
102, ...
ruoting_modbus
master_modbus
60,
61,
62,
... ,
Niestandardowe ramki SD1 SD3
Dzielenie pakietów Profibus na pakiety CAN
200,201,
202, ...
We
rtu_tłumacz_can
RTR=0
master po stronie
sieci CAN
RTR=1
master po stronie
sieci Modbus
Brama
MODBUS - CAN
odrzucanie niestandardowych pakietów
kontrola RTR modbus
Rys.1. Schemat komunikacji międzysieciowej
Fig.1. Internetwork communication diagram
Niniejsza publikacja przedstawia zasadnicze układy pracy mostu. Podstawowymi
elementami mostu są bramy czyli konwertery ramek, które realizują trzy zasadnicze
zadania: sprawdzają poprawność ramki, określają sieć docelową, interpretują i tłumaczą zawartość danych ramki. Algorytm wyznaczania obiektu docelowego jest podobny we wszystkich trzech konwerterach i polega na sprawdzeniu adresu docelowego
ramki. Adresy zorganizowane są w postaci określonych pul (zbiorów), list i identyfikatorów zapewniających poprawność określenia miejsca docelowego zgodnie z wy-
maganiami poszczególnych standardów. Procedura tłumaczenia ramki jest skomplikowana i zależna od wielu parametrów mostu oraz zawartości poszczególnych pól
ramki. Dla poprawnej komunikacji międzysieciowej konieczne jest zastosowanie dodatkowego algorytmu, który jednoznacznie określi możliwość dostępu do sieci docelowych. W opisywanym rozwiązaniu zastosowano algorytm oparty na znajomości
struktur logicznych sieci dołączonych do mostu. Każdej z trzech sieci przyporządkowano grupy parametrów, zaimplementowanych w moście, które jednoznacznie określają możliwość konwersji pomiędzy formatami ramek.
2. UKŁADY PRACY MOSTU
W każdym z czterech układów pracy mostu występują trzy bramy pośredniczące w
wymianie danych pomiędzy dwoma sieciami ze zdefiniowanymi kierunkami komunikacji. Z punktu widzenia zarządzania przepływem informacji między sieciami należy
określić element nadrzędny (master). Możliwe są dwa przypadki: element nadrzędny(„rodzimy master”) występuje w danej sieci („sieć nadrzędna”) lub element nadrzędny („zewnętrzny master”) występuje w innej sieci. Sieć nadzorowana przez „zewnętrzny master” jest „siecią podrzędną”.
2.1. PRACA MOSTU W UKŁADZIE „A”
W tym układzie pracy (rys.2) aktywne są wszystkie bramy mostu. W sieci
PROFIBUS występuje „rodzimy master”, w sieci MODBUS nie ma elementu nadrzędnego. Sieć CAN jest nadrzędna w stosunku do MODBUS i podrzędna dla sieci
PROFIBUS. Można tutaj wyróżnić sześć kierunków komunikacji (z dwunastu możliwych). Pierwszy kierunek określa sytuację, w której element master sieci PROFIBUS
wysyła ramkę żądania („request”) do elementu slave sieci MODBUS. Kolejny kierunek komunikacji to odpowiedź („response”) elementu slave ramką do master
PROFIBUS. . Poprawność komunikacji zapewnia zdefiniowanie puli adresów dla tych
dwóch kierunków. Następne dwa kierunki komunikacji wynikają z nadrzędności sieci
CAN w stosunku do sieci MODBUS. CAN ma dostęp do elementów slave w innej
puli adresów niż PROFIBUS. W tej komunikacji master CAN wysyła komunikat o
identyfikatorze należącym do określonej puli adresów wyjściowych. Most dokonuje
konwersji komunikatu na ramkę „request” MODBUS. Komunikacja w przeciwnym
kierunku sprowadza się do odwrotnej konwersji ramki na postać komunikatu. Komunikat nadawany jest z identyfikatorem odpowiadającym adresowi z określonej puli
adresów wejściowych CAN. W przypadku długich pól danych dokonywany jest podział ramki na kilka kolejnych komunikatów o tych samych identyfikatorach. W opisywanym układzie pracy sieć CAN może być podrzędna w stosunku do sieci
PROFIBUS, bo zastosowana zasada „peer to peer” umożliwia dostęp dowolnego
PROFIBUS
MODBUS
do adresy_profibus
(do adresy_modbus)
MASTER
do master Profibus
(do master Modbus)
z adresy_profibus
(z adresy_modbus)
SLAVE
master_profibus=true
master_modbus=false
SLAVE
SLAVE
PROFIBUS
do can_profibus_we
(do adresy_can)
z can_peofibus_wy
(z adresy_can)
z can_modbus_wy
(z master Modbus)
z adresy_can
(z modułów CAN)
SLAVE
MASTER
do adresy_can
(do modułów CAN)
RTR=1
RTR=0
SLAVE
RTR=1
MASTER
z master Profibus do master Profibus
(z modułów CAN) (do modułów CAN)
CAN
RTR=0
z master Profibus
(z master Modbus)
do can_modbus_we
(do master Modbus)
master_can=modbus
SLAVE
PROFIBUS
CAN
Rys.2. Schemat układu „A” pracy mostu
Fig.2. Bridge „A” operating diagram
„zewnętrznego mastera” do modułów sieci CAN. Występują tutaj kierunki komunikacji analogiczne do wcześniej opisanych.
2.2. PRACA MOSTU W UKŁADZIE „B”
W układzie „B” pracy mostu sieć CAN jest nadrzędna względem sieci PROFIBUS
i MODBUS, w których nie występują elementy master. W konsekwencji brama między tymi sieciami jest nieaktywna (rys.3). Komunikacja międzysieciowa odbywa się
w postaci połączeń CAN(master)►PROFIBUS, CAN(master)◄PROFIBUS,
CAN(master)►MODBUS i CAN(master)◄MODBUS. Wymiana danych zorganizowana jest jak w układzie „A”, to znaczy w oparciu o zdefiniowane pule adresów
i konwersji komunikatu z identyfikatorem na odpowiednią ramkę. Na przykład dla
komunikacji między sieciami CAN i PROFIBUS komunikaty o identyfikatorach należących do puli adresów wyjściowych rozpoczynają się od adresu 400. Odbierając
ramki od elementów slave (w sieci PROFIBUS) most nadaje komunikatom identyfikatory od numeru 300.
MODBUS
PROFIBUS
master_profibus=false
master_modbus=false
z can_profibus_wy
(z master Profibus)
z can_modbus_wy
(z adresy_can)
z master Modbus
(z modułów CAN)
RTR=1
SLAVE
do master Modbus
(do modułów CAN)
RTR=0
MASTER
do can_profibus_we
(do master Profibus)
RTR=1
do adresy_can
(do modułów CAN)
RTR=0
SLAVE
z adresy_can
(z modułów CAN)
SLAVE
CAN
MASTER
SLAVE
CAN
do can_modbus_wy
(do adresy_can)
master_can=obecny
CAN
Rys.2. Schemat układu „B” pracy mostu
Fig.2. Bridge „B” operating diagram
2.3. PRACA MOSTU W UKŁADZIE „C”
W tym układzie aktywne są trzy bramy mostu. W sieci MODBUS znajduje się „rodzimy master” i ta sieć jest nadrzędna dla dwóch pozostałych. Sieć CAN jest nadrzędna tylko dla sieci PROFIBUS, w której element master nie występuje (rys.4). CAN
pracuje podobnie jak w układzie „A” z tą różnicą, że master sieci MODBUS może
kontrolować część modułów CAN. Elementy slave o adresach z puli bramy
PROFIBUS-CAN komunikują się za pomocą kierunku CAN(master)◄PROFIBUS i
CAN(master)►PROFIBUS. Natomiast elementy slave o adresach zdefiniowanych dla
puli
bramy
MODBUS-PROFIBUS
wymieniają
dane
w
kierunkach
MODBUS(master)►PROFIBUS oraz MODBUS(master)◄PROFIBUS. W tym przypadku standardowe adresy bramy są takie same i po obu stronach (MODBUS,
PROFIBUS) rozpoczynają się od wartości 60.
PROFIBUS
MODBUS
z master Modbus
(z master Profibus)
MASTER
do master Modbus
(do master Profibus)
SLAVE
master_profibus=false
SLVE
MODBUS
z can_profibus_wy
(z master Profibus)
SLAVE
do master Modbus
(do modułów CAN)
RTR=0
MASTER
do can_profibus_we
(do master Profibus)
RTR=1
do adresy_can
(do modułów CAN)
RTR=0
z adresy_can
(z modułów CAN)
SLAVE
master_modbus=true
SLAVE
SLAVE
CAN
z can_modbus_wy
(z adresy_can)
z master Modbus
(z modułów CAN)
RTR=1
z adresy_modbus
(z adresy_profibus)
MASTER
do adresy_modbus
(do adresy_profibus)
do can_modbus_wy
(do adresy_can)
master_can=profibus
SLAVE
MODBUS
CAN
Rys.2. Schemat układu „C” pracy mostu
Fig.2. Bridge „C” operating diagram
2.4. PRACA MOSTU W UKŁADZIE „D”
Konfiguracja tego układu pracy eliminuje możliwość bezpośredniej wymiany pakietów przez bramę PROFIBUS-MODBUS, podobnie jak w układzie „B” pracy mostu. Różnica, między tymi układami, polega na występowaniu „rodzimych masterów”
w obu tych sieciach. Możliwa jest natomiast komunikacja między tymi sieciami drogą
pośrednią poprzez bramy łączące je z siecią CAN (rys.5), która nie zawiera elementów
nadrzędnych wysyłających komunikaty do innych sieci ale może zawierać elementy
inicjujące transmisję wewnątrz własnej sieci. Elementy te pozbawione są możliwości
generowania komunikatów o identyfikatorach z pul adresów wejściowych i wyjściowych przyporządkowanym sieciom MODBUS i PROFIBUS. W układzie „D” pracy
mostu występują cztery kierunki komunikacji: PROFIBUS(master)►CAN,
PROFIBUS(master)◄CAN, MODBUS(master)►CAN i MODBUS(master)◄ Dla
obu rodzajów błędów można określić prawdopodobieństwo ich wystąpienia. Funkcja
zakłócająca może być wprowadzana dla wybranych pół ramki.
PROFIBUS
MODBUS
master_profibus=true
master_modbus=true
z can_modbus_wy
(z adresy_can)
RTR=1
z master Modbus
(z modułów CAN)
MASTER
do master Modbus
(do modułów CAN)
SLAVE
z can_peofibus_wy
(z adresy_can)
CAN
RTR=0
SLAVE
RTR=0
RTR=1
MASTER
z master Profibus do master Profibus
(z modułów CAN) (do modułów CAN)
do can_profibus_we
(do adresy_can)
SLAVE
SLAVE
PROFIBUS
SLAVE
do can_modbus_we
(do adresy_can)
master_can=brak
SLAVE
PROFIBUS
CAN
SLAVE
MODBUS
W sieci mogą znajdować się węzły nadrzędne
nadające jednak pakiety tylko w obrąbie sieci CAN
Rys.2. Schemat układu „D” pracy mostu
Fig.2. Bridge „D” operating diagram
3. PODSUMOWANIE
Procedura transmisji ramki miedzy sieciami oparta jest na trzech podstawowych
zadaniach: sprawdzenie poprawności ramki, wyznaczenie docelowej sieci i tłumaczeniu ramki. Sprawdzenie poprawności ramki polega na obliczaniu kodu CRC i ocenie
jego wartości. Wyznaczanie docelowej sieci realizowane jest przez sprawdzanie adresu docelowego ramki. Most wyposażony jest w zdefiniowane pule adresów przyporządkowane poszczególnym sieciom. Pule adresowe są „oknami”, przez które dana
sieć „widzi” elementy innej sieci. Tłumaczenie ramki jest procedurą najbardziej zaawansowaną. Koniczna jest interpretacja typu ramki („request” lub „response”), ustawienie odpowiedniej wartości bitu zdalnej transmisji RTR (wysyłanie od elementu
master, RTR=1) a także zastosowanie dodatkowego algorytmu definiującego parametry mostu bezpośrednio i pośrednio związanych z sieciami. Opisane układy pracy w
wyczerpujący sposób umożliwiają szeroką symulację komunikacji między zaproponowanymi sieciami. Most został zrealizowany programowo dla środowiska
WINDOWS z przeznaczeniem do laboratorium dydaktycznego.
LITERATURA
[1] BORKOWSKI D., Różnorodność i próby ujednolicenia przemysłowych systemów pomiarowo-kontrolnych, http://zm219.zmet.agh.edu.pl
[2] MICHTA E., ADAMSKI A., Protokoły komunikacyjne przemysłowych systemów pomiarowo kontrolnych, Zielona Góra, 1997
[3] MICHTA E., Integracja sieci komputerowych a sieciami przemysłowymi, Materiały konferencyjne Seminarium ZielMAN’1999, Zielona Góra, 1999
[4] MICHTA E., Modele komunikacyjne sieciowego systemu pomiarowo-kontrolnego, Zielona Góra, Wydawnictwo Politechniki Zielonogórskiej, 2000.
[5] PLUCIŃSKA M., Interfejsy komunikacyjne dla czujników inteligentnych,
http://imm.org.pl/biuletyn/file0003.htm
[6] K. Podlejski, K. Brunicki., Zagadnienie komunikacji miedzy sieciami przemysłowymi,
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Politechniki Wrocławskiej, Wrocław, 2005.
[7] J. Truchard., Systemy kontrolno-pomiarowe w przedsiębiorstwach 21. wieku, „Napędy i
Sterowanie”, wrzesień, 2001.
[7] WWW.
[8] http://www.ieee.1451.nist.gov.
[9] http://profibus.org.
[10] http://ethernet.industrial-networking.com
VIRTUAL BRIDGE FOR INTERNETWORK COMMUNICATION
The paper presents results four typical systems bridge operation for PROFIBUS, MODBUS and
CAN networks communication. Conversions of data (frames) between networks is currying out into
bridge gateways.

Podobne dokumenty