Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Nr 59 Politechniki Wrocławskiej Nr 59 Studia i Materiały Nr 26 2006 Andrzej KAŁWAK *, Krzysztof PODLEJSKIF przemysłowe sieci kontrolno-pomiarowe, komunikacja międzysieciowa 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:, i ), 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, andrzej.kalwak@pwr.wroc.pl, krzysztof.podlejski@pwr.wroc.pl
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 na ramki sieci i odwrotnie. Z punktu widzenia poszczególnych sieci most jest przezroczysty (rys.1.) i nie jest węzłem sieci. Profibus Brama - odrzucanie niestandardowych pakietów Modbus ruoting_profibus master_profibus adres_mastera_profibus profibus_tłumacz_rtu ruoting_modbus master_modbus 60, 60, 61, Niestandardowe ramki SD1 SD3 61, 62, Dzielenie pakietów Modbus na pakiety Profibus 62, 80, 81, 82,......, rtu_tłumacz_profibus..., 80, 81, 82,... master po stronie master po stronie sieci Profibus sieci can_tłumacz_profibus Wy Symulacja pola funkcji Profibus Niestandardowe ramki SD1 SD3 dzielenie pakietów Profibus na pakiety profibus_tłumacz_can We master po stronie sieci Profibus Brama - master po stronie sieci odrzucanie niestandardowych pakietów kontrola RTR profibus 300,301, 302,... ruoting_can master_can 400,401, 402,... 100,101, 102,... 200,201, 202,... master po stronie master po stronie sieci sieci Modbus Wy can_tłumacz_rtu Symulacja pola funkcji Modbus We Dzielenie pakietów Profibus na pakiety master po stronie sieci rtu_tłumacz_can Brama - master po stronie sieci Modbus 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 występuje rodzimy master, w sieci nie ma elementu nadrzędnego. Sieć jest nadrzędna w stosunku do i podrzędna dla sieci. Można tutaj wyróżnić sześć kierunków komunikacji (z dwunastu możliwych). Pierwszy kierunek określa sytuację, w której element master sieci wysyła ramkę żądania ( request ) do elementu slave sieci. Kolejny kierunek komunikacji to odpowiedź ( response ) elementu slave ramką do master.. Poprawność komunikacji zapewnia zdefiniowanie puli adresów dla tych dwóch kierunków. Następne dwa kierunki komunikacji wynikają z nadrzędności sieci w stosunku do sieci. ma dostęp do elementów slave w innej puli adresów niż. W tej komunikacji master wysyła komunikat o identyfikatorze należącym do określonej puli adresów wyjściowych. Most dokonuje konwersji komunikatu na ramkę request. 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. 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ć może być podrzędna w stosunku do sieci, bo zastosowana zasada peer to peer umożliwia dostęp dowolnego
z master Profibus (z master Modbus) do adresy_profibus (do adresy_modbus) do master Profibus (do master Modbus) master_profibus=true z adresy_profibus (z adresy_modbus) master_modbus=false z master Profibus (z modułów ) do can_profibus_we do master Profibus (do modułów ) z can_peofibus_wy do adresy_can (do modułów ) z can_modbus_wy (z master Modbus) master_can=modbus z adresy_can (z modułów ) do can_modbus_we (do master Modbus) Rys.2. Schemat układu A pracy mostu Fig.2. Bridge A operating diagram zewnętrznego mastera do modułów sieci. 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ć jest nadrzędna względem sieci i, 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ń (master), (master), (master) i (master). 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 i 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 ) most nadaje komunikatom identyfikatory od numeru 300. master_profibus=false master_modbus=false z adresy_can (z modułów ) do can_profibus_we (do master Profibus) do adresy_can (do modułów ) z can_profibus_wy (z master Profibus) do master Modbus (do modułów ) z can_modbus_wy master_can=obecny z master Modbus (z modułów ) do can_modbus_wy 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 znajduje się rodzimy master i ta sieć jest nadrzędna dla dwóch pozostałych. Sieć jest nadrzędna tylko dla sieci, w której element master nie występuje (rys.4). pracuje podobnie jak w układzie A z tą różnicą, że master sieci może kontrolować część modułów. Elementy slave o adresach z puli bramy - komunikują się za pomocą kierunku (master) i (master). Natomiast elementy slave o adresach zdefiniowanych dla puli bramy - wymieniają dane w kierunkach (master) oraz (master). W tym przypadku standardowe adresy bramy są takie same i po obu stronach (, ) rozpoczynają się od wartości 60.
do adresy_modbus (do adresy_profibus) z adresy_modbus (z adresy_profibus) z master Modbus (z master Profibus) do master Modbus (do master Profibus) z adresy_can (z modułów ) do can_profibus_we (do master Profibus) master_profibus=false do adresy_can (do modułów ) z can_profibus_wy (z master Profibus) master_modbus=true do master Modbus (do modułów ) z can_modbus_wy master_can=profibus SLVE z master Modbus (z modułów ) do can_modbus_wy 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ę -, 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ą (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 i. W układzie D pracy mostu występują cztery kierunki komunikacji: (master), (master), (master) i (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. master_profibus=true master_modbus=true z master Profibus (z modułów ) do can_profibus_we do master Profibus (do modułów ) z can_peofibus_wy master_can=brak do master Modbus (do modułów ) z can_modbus_wy z master Modbus (z modułów ) do can_modbus_we W sieci mogą znajdować się węzły nadrzędne nadające jednak pakiety tylko w obrąbie sieci 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, ) 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, and networks communication. Conversions of data (frames) between networks is currying out into bridge gateways.