Ethernet Przemysłowy (część 3 z 4): Modbus TCP i Sercos III
Redakcja serwisu print
W poprzednich częściach artykułu na temat Ethernetu przemysłowego omówiliśmy sieci Profinet, Ethernet/IP, EtherCAT i Ethernet Powerlink. W niniejszej koncentrujemy się na dwóch: Modbus TCP i Sercos III.
Czytaj również: Poprzednie części tematu miesiąca poświęconego ethernetowi przemysłowemu
Ethernet Przemysłowy – Modbus w wersji TCP
Popularność standardu komunikacji przemysłowej Modbus, który promowany był głównie przez firmę Schneider Electric, była na tyle duża, że gdy na rynku zaczął pojawiać się Ethernet przemysłowy oparty na pomysłach różnych firm zajmujących się automatyką przemysłową, było dosyć oczywiste że także i Modbus uzyska implementację ethernetową. I faktycznie tak się stało.
Zdecydowano, że aby zachować jak najlepszą kompatybilność wsteczną, zasady transmisji typowe dla Modbusa zostaną przeniesione do sieci nazwanej mianem Modbus TCP i przystosowane do zgodności z wymaganiami klasycznego Ethernetu. W praktyce, w sieci Modbus TCP, pakiety Modbus RTU są transmitowane po uprzednim opakowaniu nagłówkami typowymi dla protokołu komunikacyjnego TCP/IP i przesyłane siecią ethernetową zamiast łączami szeregowymi.
Przy okazji zrezygnowano z adresowania stosowanego w oryginalnej wersji standardu i zastąpiono je adresami IP. Pakiety pozbawiono też stosowanej dotąd sumy kontrolnej, ale całość wzbogacono o rozszerzony nagłówek „MBA” (Modbus Application Protocol Header), w którym zawarto cztery pola: identyfikatora transakcji, identyfikatora protokołu, rozmiaru wiadomości i identyfikatora urządzenia.
Ponieważ transmisja w sieci Modbus TCP wymaga rozróżnienia urządzeń nadrzędnych i podrzędnych, a komunikacja prowadzona jest za pomocą pakietów TCP/IP, pole identyfikatora transmisji służy do rozpoznania, do którego zapytania urządzenia nadrzędnego pasuje dana odpowiedź. Pole rozmiaru wiadomości służy obsłudze podziału transmitowanych danych na pakiety TCP/IP, a pole identyfikatora urządzenia pozwala łatwo adresować końcówki sieci obsługujące jedynie klasyczną wersję Modbusa, oczywiście poprzez zastosowanie odpowiednich bramek.
TCP zamiast UDP
Pewne wątpliwości może budzić zasadność wykorzystania pakietów protokołu TCP, a nie UDP, znacznie częściej stosowanego w implementacjach Ethernetu przemysłowego. Okazuje się, że twórcom Modbus/TCP zależało na zaletach związanych z kontrolą połączenia nawiązywanego przy użyciu protokołu TCP. Umożliwia to znacznie bardziej zaawansowane nadzorowanie transmisji i w gruncie rzeczy zwiększa jej niezawodność oraz pozwala na wygodne stosowanie takich mechanizmów, jak złożone zapory sieciowe.
Sercos III – Ethernet Przemysłowy i sieć trzeciej generacji
Sieć Sercos III została opracowana przez grupę Sercos International jako magistrala do wymiany danych pomiędzy szybkimi, cyfrowymi urządzeniami automatyki przemysłowej. Stworzono ją w oparciu o doświadczenia z sieciami Sercos I i Sercos II, dzięki czemu uzyskano rygory pracy czasu rzeczywistego, ale zaimplementowano też mechanizmy klasycznego Ethernetu.
Podstawową topologią stosowaną w sieci Sercos III jest magistrala, ale zalecane jest bezpośrednie połączenie ze sobą krańcowych urządzeń, tak aby uzyskać topologię pierścienia, która zapewnia redundancję i zwiększa niezawodność transmisji. Komunikacja odbywa się w trybie Master/Slave, w której w każdym cyklu czasu rzeczywistego urządzenie nadrzędne rozpoczyna odpytywanie, a po uzyskaniu odpowiedzi zakańcza cykl. Długość cyklu określana jest przez użytkownika w zakresie od 21,25 µs do 65 ms i odpowiada opóźnieniu występującemu w sieci.
Dane mogą być przesyłane za pomocą dwóch rodzajów „telegramów”: MDT i AT, które mają swoje stałe miejsce w czasie przeznaczonym na komunikację ściśle deterministyczną. Pozostały czas może zostać przeznaczony na transmisję innych danych – np. za pomocą pakietów IP. Dobór czasu trwania cyklu pozwala więc nie tylko ograniczyć ilość danych przesyłanych w jednym cyklu w ramach komunikacji czasu rzeczywistego, ale też pozwala w pewien sposób ustalić, jak dużo czasu pozostaje na przesył zwykłych pakietów ethernetowych.
Synchronizacja, adresowanie i przewody
Synchronizacja komunikacji czasu rzeczywistego sprowadza się do odmierzania czasu pomiędzy kolejnymi początkowymi pakietami MST, umieszczonymi na początku telegramów MDT, które rozpoczynają cykle transmisji czasu rzeczywistego. Ciekawie rozwiązana jest natomiast adresacja. Urządzenia ethernetowej sieci przemysłowej Sercos III nie muszą bowiem obsługiwać protokołu IP. Wystarczy, że wspierają własne adresowanie, na które składa się liczba z zakresu od 1 do 511 i mają adres MAC.
Warto też dodać, że Sercos III obsługuje nie tylko miedziane przewody ethernetowe, zgodne ze standardem 100Base-TX, ale także światłowody 100Base-Fx. Zastosowanie tych drugich pozwala na uniknięcie wpływu nawet bardzo silnych zakłóceń elektromagnetycznych, typowych dla hal fabrycznych.
W kolejnej części omówimy Ethernet Przemysłowy w postaci sieci CC-Link.
Keywords
ethernet, Ethernet przemysłowy, IP, Modbus, Sercos, sieci przemysłowe, TCP