Krzysztof_PODLEJSKI_.. - Instytut Maszyn, Napędów i Pomiarów
Transkrypt
Krzysztof_PODLEJSKI_.. - Instytut Maszyn, Napędów i Pomiarów
Nr 58 Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Politechniki Wrocławskiej Nr 58 Studia i Materiały Nr 25 2005 sieci przemysłowe, komunikacja międzysieciowa Krzysztof PODLEJSKI*, Krzysztof BRUNICKI ∗ F ZAGADNIENIE KOMUNIKACJI MIĘDZY SIECIAMI PRZEMYSŁOWYMI Współczesne systemy pomiarowo-kontrolne, automatyki przemysłowej, sterowania, produkcji, budownictwa inteligentnego i inne budowane są z wykorzystaniem sieci przemysłowych nazywanych także standardami przemysłowymi. Z różnych powodów powstało wiele odmiennych sieci, często pracujących w tych samych obszarach zastosowań. Standardy te były projektowane jako niezależne, spójne rozwiązania z własnymi protokołami komunikacyjnymi i zdefiniowaną warstwą fizyczną, co utrudniało a często uniemożliwiało, wymianę danych między sieciami. Aktualnie obserwuje się dwie drogi rozwoju sieci przemysłowych. Pierwsza określa ekspansję znanych sieci w nowe obszary zastosowań poprzez tworzenie odpowiednich aplikacji i odmian standardów. Druga polega na szukaniu rozwiązań umożliwiających komunikację między różnymi sieciami przemysłowymi. Ten kierunek działań wymaga rozwiązania problemów wynikających, między innymi, z niekompatybilności protokołów komunikacyjnych różnych sieci przemysłowych. W artykule przedstawiono zagadnienie konwersji ramek protokołów komunikacyjnych, pomiędzy wybranymi sieciami przemysłowymi, symulowanymi komputerowo, na poziomie warstwy łączenia danych modelu ISO/OSI. 1. ZASADY KOMUNIKACJI W SIECIACH KOMPUTEROWYCH Siedmiowarstwowy model odniesienia ISO/OSI jest podstawą organizowania warstwowej struktury protokołów komunikacyjnych. Zadaniem każdej z warstw jest udostępnianie usług kolejnej warstwie. Udostępnianie to ma charakter szeregowy. Usługi to zbiory określonych funkcji. Zapis zależności między warstwami ułatwia tzw. Nnotacja [11]. W skrócie można powiedzieć, że efektem procesu przesuwania się kolejno po warstwach jest rozszerzanie pakietu danych przez dodatkowe informacje, np. nagłówki, końcówki zawierające informacje pomocnicze: sumy kontrolne, dane sterujące, szczegóły adresowania i inne. Poszczególne warstwy, począwszy od warstwy najniższej, noszą nazwy: fizyczna, łączenia danych, sieciowa, transportowa, sesji, __________ ∗ Politechnika Wrocławska, Instytut Maszyn, Napędów i Pomiarów Elektrycznych, 50-370 Wrocław, ul. Smoluchowskiego 19, [email protected] prezentacji i aplikacji. Na rys.1 przedstawiono wymianę danych pomiędzy oddzielnymi sieciami komputerowymi. Do warstwy fizycznej dołączone są bezpośrednio urządzenia i jest ona ściśle związana z medium transportowym (kable współosiowe, skrętka, światłowód, fale radiowe, podczerwień i inne) o określonych standardach (interfejsach). Głównymi zadaniami warstwy łącza danych są: kontrola nad warstwą fizyczną, detekcja i korekta błędów transmisji, kompletowanie ramek, rozpoznanie adresata. Podstawową jednostką informacji na tym poziomie jest ramka (frame) czyli sformatowany, według ustalonych reguł, ciąg bitów. Rys. 1.Sieci komputerowe w odniesieniu do modelu ISO/OSI Fig. 1. Computer networks in reference to ISO/OSI model Wymiana danych w tych dwóch warstwach, między sieciami opartymi na tym samym protokole komunikacyjnym dokonywana jest za pomocą mostów i praktycznie nie stanowi żadnych trudności. Natomiast wymiana danych między sieciami różnych standardów, np. Ethernet z Token Ring, wymaga konwersji ramek. Do tego celu stosowane są specjalne bramy (gateway). Sieci lokalne wykorzystujące protokoły warstw 3 i 4 umożliwiają realizację komunikacji międzysieciowej (routing). Na tej podstawie budowane są sieci rozległe. Warstwę 3 w modelu sieci TCP/IP, nazywa się warstwą międzysieciową. Zadaniem warstwy 4 jest dokładne adresowanie (stanowiące rozszerzenie adresowania w warstwie 3) i przesyłanie danych między dwoma systemami (urządzeniami końcowymi sieci). Warstwa ta rozpoczyna, obsługuje, ponawia i kończy transmisje. Warstwa sesji jest rzadko spotykana w osobnej implementacji a jej zadania przejmują warstwy wyższe. Podobnie jest z warstwą prezentacji, której główne zadanie to definiowanie struktury i składni danych. W warstwie aplikacji zdefiniowane są funkcje dotyczące komunikacji pomiędzy sieciami. W sieciach komputerowych TCP/IP na tym poziomie znajdują się aplikacje poczty elektronicznej (SMPT, POP3), grup dyskusyjnych, protokoły komunikacyjne jak TELNET, SSH czy FTP, interfejsy baz danych i inne. Warstwa aplikacyjna występuje w zdecydowanej większości sieci przemysłowych, często zastępując warstwy od 3 do 6. 2. WYMIANA DANYCH MIĘDZY WYBRANYMI SIECIAMI PRZEMYSŁOWYMI Sieci przemysłowe z punktu widzenia komunikacji międzysieciowej, różnią się od sieci komputerowych. W sieciach przemysłowych ważna jest nie tylko niezawodność, ale i czas przesyłania informacji, szczególnie o charakterze priorytetowym (alarmowym). Kompatybilność międzysieciowa miała tutaj drugorzędne znaczenie a najczęściej nie była brana pod uwagę przez projektantów poszczególnych standardów. Problem ten był dostrzegany od początku wprowadzania sieci przemysłowych w różne obszary zastosowań [1,2,3,4] i jest aktualny do dzisiaj, pomimo podjętych prób jego rozwiązania [5,6, 7,9,12]. Wiele sieci wykorzystuje na ogół jedynie warstwy fizyczną, łącza danych i aplikacyjną modelu OSI (np. MODBUS, PROFIBUS, CAN).Pozostałe warstwy nie występują lub ich zadania realizuje warstwa aplikacyjna. Brak warstwy 3 uniemożliwia a przynajmniej utrudnia, przekazywanie danych między sieciami. Występują jednak sieci o rozbudowanej strukturze warstwowej jak Instabus EIB czy LonWorks. Protokół LonWorks (LonTalk) jest hermetyczny, co oznacza zastosowanie oryginalnego oprogramowania zaimplementowanego w sterowniku sieci (Neuron Chip). Podobnie jest w sieci EIB, chociaż w tym przypadku możliwe jest przesyłanie danych za pomocą protokołu IP poprzez Ethernet a nawet dowolną inną sieć wykorzystującą protokół IP. Duże nadzieje związane są z wykorzystaniem Ethernetu i protokołu IP do integracji sieci przemysłowych. Aktualnie dostępne są produkty sygnowane przez różne firmy umożliwiające komunikację Ethernetem. Jednak opóźnienia czasowe, występowanie kolizji powodują ostrożność w jego wykorzystaniu. Inną próbą rozwiązania problemu jest opracowanie otwartego standardu IEEE 1451 [8] dla inteligentnych czujników pomiarowych. Warto tutaj zaznaczyć, że stosowane są różne wersje sieci działające na podstawie tych samych protokołów komunikacyjnych. W przy- padku sieci PROFIBUS [10] wyodrębnione są trzy oddzielne sieci: DP, PA, FMS ale wszystkie mają wspólny protokół warstwy liniowej. Różnią się zastosowaną specyfikacją komunikatów magistralowych i, w przypadku PA, warstwą fizyczną (rys. 2). Rys. 2. Profibus w odniesieniu do modelu ISO/OSI Fig. 1 Profibus in reference to ISO/OSI model Do łączenia sieci DP i PA potrzebny jest tylko most fizyczny bez operacji konwersji pakietu danych. Podobna sytuacja występuje w sieci CAN, mamy tutaj rodzinę CANOpen, CANKingdom, DeviceNet, SDS i PCAL. Są to sieci różnych producentów. Zastosowany protokół dotyczy warstwy łącza danych (rys.3) a połączenie fizyczne oddzielnych sieci jest kwestią techniczną. Rys. 3. CAN w odniesieniu do modelu ISO/OSI Fig.3. CAN in reference to ISO/OSI model Różnice na poziomie warstwy aplikacji są dość znaczne, ale wymiana danych w ramach rodziny CAN, sprowadza się do odpowiedniej interpretacji pól danych i identyfikatorów. Powszechnie stosowany standard MODBUS oparty jest w zasadzie na warstwie aplikacyjnej (rys.4). i z tego powodu daje się łatwo integrować z innymi sieciami. Łączenie tej sieci, wyposażonej w interfejsy szeregowe z implementacją na protokół TCP, umożliwia scalanie sieci fizycznych z wirtualnymi lub komunikację z sieciami odległymi. Sprzęganie sieci MODBUS z PROFIBUS DP możliwe jest w dwojaki sposób. Jest to połączenie jednostki master DP do jednostki slave MODBUS lub odwrotnie. Oba protokoły sieci oparte są o zasadę mono-master. Odpowiedni most widoczny jest, od strony sieci z węzłem nadrzędnym, jako element pasywny a od strony sieci z elementem pasywnym, jako element nadrzędny. Most dla sieci CAN jest najczęściej widoczny jako urządzenie pasywne, natomiast po stronie MODBUS pracuje jako master. Odwrotna komunikacja też jest możliwa, ale praktycznie ogranicza się do jednego elementu sieci CAN. Ograniczenie to nie występuje dla mostów przezroczystych, które stosuje się w sieciach wykorzystujących zasadę rozgłaszania komunikatów. Rys. 4. Modbus w odniesieniu do modelu ISO/OSI Fig. 4. Modbus in reference to ISO/OSI model 3. ZASADY WIRTUALNEJ KOMUNIKACJI MIĘD ZY WYBRANYMI SIECIAMI NA POZIOMIE WARSTWY ŁĄCZA DANYCH Przedstawiony na rys.5 układ składa się z trzech wirtualnych sieci (CAN, PROFIBUS, MODBUS) ze stacjami i mostu. Wszystkie te elementy traktowane są jako obiekty logiczne. Stacje sieciowe komunikują się tylko w obrębie własnych sieci. Magistrale pośredniczą w przesyłaniu ramek między stacjami i do mostu, który za pomocą konwerterów zmienia formaty ramek i przekazuje je do innych sieci. Modelowanie działania sieci CAN, na poziomi warstwy łącza danych, ułatwia zasada działania magistrali oparta o równodostępność modułów. Rozsyłanie komunikatu reprezentowane jest w programie przez rozsyłanie rekordu danych między obiektami. Sekwencyjność pracy programu komputerowego zapewnia mechanizm zbliżony w działaniu do arbitrażu stosowanego w CAN. Symulacja na poziomie warstwy 2 umożliwia współdziałanie mostu ze wszystkimi typami sieci opartymi o ten standard. Rys. 5. Schemat logiczny symulowanego układu Fig. 5. Logical scheme of the simulated system Przyjęto modelowanie wersji CAN 2.0A, która różni się od wersji CAN 2.0B jedynie wielkością pola identyfikatora i nie ma większego znaczeni dla poprawności symulacji. W przypadku sieci PROFIBUS modelowana jest tylko wersja DP/PA. Wersja FMS wymaga uwzględnienia specyficznych parametrów czasowych, co wyraźnie komplikuje projektowanie i działanie wirtualnego rozwiązania. Jednak z punktu widzenia protokołu komunikacyjnego warstwy liniowej, wirtualny most może być zastosowany do wszystkich wersji tego standardu. Sieć MODBUS charakteryzuje prosty protokół odpytywania, pojedyncze urządzenie typu master i jeden format ramki. Zastosowano format RTU ze względu na jego powszechne wykorzystanie, w przeciwieństwie do formatu ASCII. Każdy z trzech obiektów reprezentujących sieci wyposażony jest w funkcję zakłóceń. Funkcja ta może generować błędy zdefiniowane przez użytkownika lub przypadkowe. 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. 4. STRUKTURA I ZASADA DZIAŁANIA MOSTU Z KONWERSJĄ RAMEK Most dla sieci jest przezroczysty, co oznacza, że nie jest widziany jako węzeł sieci. Podstawowymi elementami mostu są konwertery ramek, które realizują trzy zasadnicze zadania: sprawdzają poprawność ramki, określają sieć docelową, interpretują i tłumaczą zawartość pól ramki.. Poprawność ramki oceniana jest na podstawie sprawdzenia kodu CRC. Algorytm wyznaczania obiektu docelowego jest podobny we wszystkich trzech konwerterach i polega na sprawdzeniu adresu docelowego ramki. Adresy zorganizowane są w postaci odpowiednich pól, list i identyfikatorów zapewniających poprawność określenia miejsca docelowego zgodnie z wymaganiami 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. Most może pracować w czterech podstawowych układach: aktywności wszystkich konwerterów, podrzędności sieci PROFIBUS i MODUS względem CAN, nadrzędności sieci MODUS wobec pozostałych oraz podrzędności sieci CAN w stosunku do PROFIBUS i MODUS. W obrębie każdego układu pracy zdefiniowano trzy „bramy” do wymiany danych i określono kierunki komunikacji, oznaczające połączenia między sieciami, z których, jedna jest nadawcą a druga odbiorcą informacji. Dodatkowo, wyodrębniono dwa kierunki komunikacji wewnątrz danej sieci, różniące się typem elementu źródłowego (master lub slave). Oznacza to, że wszystkich kierunków komunikacji, wynikających z konfiguracji mostu i sieci jest dwanaście. Pierwszy układ pracy przedstawiono na rys.6. Występuje tutaj sześć z możliwych dwunastu kierunków komunikacji. Sieć PROFIBUS (master) pełni rolę nadrzędną względem sieci MODUS, podobnie jak sieć CAN, która z kolei może być podrzędna urządzeniu master sieci PROFIBUS. Istotnym zagadnieniem w każdym z układów pracy, jest odpowiednie zdefiniowanie pól adresów dla każdego z konwerterów mostu i urządzeń wewnątrz każdej sieci. Oznacza to, że CAN ma dostęp do innego pola adresów sieci MODBUS, niż PROFIBUS. Most rozróżnia, do którego, urządzenia master przyporządkowany jest dany slave, za pomocą adresu ramki odpowiedzi. Przykładowo, kierunek komunikacji master CAN do MODBUS polega na wysłaniu komunikatu o identyfikatorze należącym do pola adresów wyjściowych CAN, standardowo rozpoczynających się od wartości 200. Most dokonuje konwersji komunikatu na ramkę „request” MODBUS i zamienia identyfikator, na odpowiadający mu adres w polu adresów przeznaczonych dla sieci CAN. Pole to zaczyna się od wartości 80. Podobna zasada wykorzystana jest w pozostałych układach pracy mostu. Rys. 6. Schemat układu pracy mostu Fig. 6. A scheme of the system of functioning of the bridge 5. PODSUMOWANIE Dynamiczny rozwój sieci przemysłowych związany jest z problematyką komunikacji między tymi sieciami. W artykule przedstawiono to zagadnienie w odniesieniu do sieci komputerowych. Wskazano na dwie wyróżniające się tendencje. Pierwsza to rozszerzanie się obszaru wspólnego zastosowań poszczególnych sieci i ich odmian. Druga to podejmowanie prób współdziałania między sieciami. Zaprezentowano model komunikacji między sieciami MODBUS, CAN i PROFIBUS na poziomie warstwy łącza danych modelu ISO/OSI. Model zawiera trzy sieci i most z konwerterami ramek charakterystycznych dla każdego z trzech protokołów komunikacyjnych. Konwertery pełnią funkcję dwukierunkowych bram. Jako metodę dostępu elementów jednej sieci do elementów innej sieci wykorzystano określone przestrzenie adresowe (pola adresów). Model ten zrealizowano wirtualnie. Umożliwia prowadzenie szeregu doświadczeń, w tym, symulowanie zakłóceń w transmisji danych. LITERATURA [1] BORKOWSKI D., Różnorodność i próby ujednolicenia przemysłowych systemów pomiarowokontrolnych, http://zm219.zmet.agh.edu.pl [2] MICHTA E., ADAMSKI A., Protokoły komunikacyjne przemysłowych systemów pomiarowo kontrolnych, Politechnika Zielonogórska, 1997 [3] MICHTA E., Modele komunikacyjne sieciowego systemu pomiarowo-kontrolnego, Zielona Góra, Wydawnictwo Politechniki Zielonogórskiej, 2000. [4] MIELCZAREK W., Szeregowe interfejsy cyfrowe, Gliwice, Helion, 1994 [5] PLUCIŃSKA M., Interfejsy komunikacyjne dla czujników inteligentnych, http://imm.org.pl/biuletyn/file0003.htm [6] ZIELIŃSKI B., Bezprzewodowe sieci komputerowe, Gliwice, Helion, 2000. [7] http://www.eko-aut.net.pl [8] http://www.ieee.1451.nist.gov . [9] http://www.lumel.com.pl [10] http://www.profibus.com . [11] http://www.iso.org [12] http:// www.sinoptic.com.pl HU U HU UH HU U HU UH HU U THE PROBLEM OF COMMUNICATION BETWEEN INDUSTRIAL NETWORKS A method of communication between industrial networks on the level of the data link, of the model ISO/OSI is described in the article. Networks CAN, PROFIBUS and MODBUS were selected. A functioning of the networks and the bridge making frame conversion has been modelled. In the virtual presentation the bridge works in four basic configurations enabling univocal detection of the kind of the network and correct frame conversion. Computer simulation makes it possible to realize numerous experiences relate to data exchange between the selected networks.