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.