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.

Podobne dokumenty