
omówiliśmy, jak działają szyny i protokoły w automatyzacji przemysłowej. Tym razem skupimy się na nowoczesnych rozwiązaniach roboczych: przyjrzymy się, jakie protokoły są stosowane w systemach na całym świecie. Zbadamy technologie niemieckich firm Beckhoff i Siemens, austriackiej B&R, amerykańskiej Rockwell Automation i rosyjskiej Fastwel. Przyjrzymy się także uniwersalnym rozwiązaniom, które nie są związane z konkretnym producentem, takim jak EtherCAT i CAN.
Na końcu artykułu znajdzie się tabela porównawcza z charakterystykami protokołów EtherCAT, POWERLINK, PROFINET, EtherNet/IP i ModbusTCP.
Nie uwzględniliśmy w przeglądzie protokołów PRP, HSR, OPC UA i innych, ponieważ na Habrze już są doskonałe artykuły naszych inżynierów, które zajmują się opracowaniem systemów automatyki przemysłowej. Na przykład, i .
Na początek zdefiniujmy terminologię: Industrial Ethernet = sieć przemysłowa, Fieldbus = szyna polowa. W rosyjskiej automatyce przemysłowej zdarza się zamieszanie w terminologii dotyczącej szyny polowej i przemysłowej sieci dolnego poziomu. Często te terminy są łączone w jedno rozmyte pojęcie „poziom dolny”, które jest określane zarówno jako szyna polowa, jak i szyna dolnego poziomu, chociaż w rzeczywistości może to nie być szyna w ogóle.
Dlaczego tak?Tego rodzaju zamieszanie najprawdopodobniej wynika z faktu, że w wielu nowoczesnych kontrolerach połączenie modułów wejścia-wyjścia często realizowane jest za pomocą panelu zbiorczego (ang. backplane) lub fizycznej szyny. Oznacza to, że używane są pewne złącza szynowe i złącza, aby połączyć kilka modułów w jeden węzeł. Te węzły mogą być z kolei połączone między sobą zarówno siecią przemysłową, jak i szyną polową. W zachodniej terminologii jest wyraźny podział: sieć — to sieć, szyna — to szyna. Pierwsze określane jest terminem Industrial Ethernet, drugie — Fieldbus. W artykule dla tych pojęć proponuje się używanie terminów „sieć przemysłowa” i „szyna polowa” odpowiednio.
Standard sieci przemysłowej EtherCAT, opracowany przez firmę Beckhoff
Protokół i przemysłowa sieć EtherCAT to z pewnością jeden z najszybszych obecnie sposobów przesyłania danych w systemach automatyki. Sieć EtherCAT jest skutecznie stosowana w rozproszonych systemach automatyzacji, gdzie współpracujące węzły są rozrzucane na dużą odległość.
Protokół EtherCAT wykorzystuje standardowe ramki Ethernet do przesyłania swoich telegramów, dzięki czemu zapewnia zgodność z każdym standardowym sprzętem Ethernet, a w zasadzie odbiór i przesyłanie danych mogą być zorganizowane na dowolnym kontrolerze Ethernet, przy odpowiednim oprogramowaniu.

Kontroler Beckhoff z zestawem modułów we/wy. Źródło:
Specyfikacja protokołu jest otwarta i dostępna, ale tylko w ramach stowarzyszenia do prac rozwojowych — EtherCAT Technology Group.
Tak działa EtherCAT (widok hipnotyzujący, jak gra Zuma Inca):

Wysoka prędkość wymiany w tym protokole — mówimy tu o jednostkach mikrosekund — została osiągnięta dzięki temu, że projektanci zrezygnowali z wymiany za pomocą telegramów wysyłanych bezpośrednio do konkretnego urządzenia. Zamiast tego do sieci EtherCAT kierowany jest jeden telegram, adresowany do wszystkich urządzeń jednocześnie, każdy z podrzędnych węzłów zbierania i przesyłania informacji (często nazywanych UСO — urządzenie komunikacyjne z obiektem) pobiera w locie te dane, które były mu przeznaczone, i wstawia do telegramu dane, które jest gotowe udostępnić do wymiany. Następnie telegram jest wysyłany do następnego podrzędnego węzła, gdzie odbywa się ta sama operacja. Przechodząc przez wszystkie UСO, telegram wraca do głównego kontrolera, który na podstawie uzyskanych od podrzędnych urządzeń danych, realizuje logikę sterowania, znowu współdziałając za pomocą telegramu z podrzędnymi węzłami, które wydają sygnał sterujący do sprzętu.
Sieć EtherCAT może mieć dowolną topologię, ale w zasadzie zawsze będzie to pierścień — z powodu użycia trybu pełnodupleksowego i dwóch gniazd Ethernet. W ten sposób telegram zawsze będzie przesyłany kolejno do każdego urządzenia w sieci.

Schematyczne przedstawienie sieci EtherCAT z kilkoma węzłami. Źródło:
Nawiasem mówiąc, specyfikacja EtherCAT nie zawiera ograniczeń poziomu fizycznego 100Base-TX, dlatego implementacja protokołu jest możliwa na podstawie linii gigabitowych i optycznych.
Otwarte przemysłowe sieci i standardy PROFIBUS/NPT firmy Siemens
Niemiecki koncern Siemens jest od dawna znany ze swoich programowalnych kontrolerów logicznych (PLC), które są używane na całym świecie.
Wymiana danych między węzłami zautomatyzowanego systemu zarządzanego przez sprzęt Siemens odbywa się zarówno przez magistralę polową zwaną PROFIBUS, jak i w sieci przemysłowej PROFINET.
Magistrala PROFIBUS korzysta ze specjalnego dwuzylindrowego kabla z wtykami DB-9. U Siemensa jest on fioletowy, ale w praktyce spotkaliśmy również inne :). Aby połączyć kilka węzłów, wtyk może łączyć dwa kable. Ma również przełącznik dla rezystora terminacyjnego. Rezystor terminacyjny musi być włączony na końcowych urządzeniach sieci, co sygnalizuje, że jest to pierwsze lub ostatnie urządzenie, a po nim już nic nie ma, tylko mrok i pustka (wszystkie rs485 tak działają). Jeśli w rezystor włączony na pośrednim złączu, to kolejny odcinek zostanie wyłączony.

Kabel PROFIBUS z wtykami. Źródło:
W sieci PROFINET używa się odpowiednika skrętki, zazwyczaj z wtykami RJ-45, kabel jest malowany na zielono. Jeśli topologia PROFIBUS to magistrala, to topologia sieci PROFINET może być dowolna: zarówno pierścień, gwiazda, drzewo, czy wszystko razem.

Kontroler Siemens z podłączonym kablem PROFINET. Źródło: w3.siemens.com
Istnieje kilka protokołów transmisji w magistrali PROFIBUS i w sieci PROFINET.
Dla PROFIBUS:
- PROFIBUS DP — implementacja tego protokołu zakłada komunikację z zdalnymi urządzeniami podrzędnymi, w przypadku PROFINET odpowiednikiem tego protokołu jest PROFINET IO.
- PROFIBUS PA — zasadniczo jest to ten sam PROFIBUS DP, tylko używany w wykonaniach wybuchobezpiecznych do transmisji danych i zasilania (odpowiednik PROFIBUS DP o innych właściwościach fizycznych). Jak dotąd nie istnieje odpowiednik wybuchobezpiecznego protokołu PROFINET analogicznego do PROFIBUS.
- PROFIBUS FMS — przeznaczony do wymiany danych z systemami innych producentów, które nie mogą używać PROFIBUS DP. Odpowiednikiem PROFIBUS FMS w sieci PROFINET jest protokół PROFINET CBA.
Dla PROFINET:
- PROFINET IO;
- PROFINET CBA.
Protokół PROFINET IO dzieli się na kilka klas:
- PROFINET NRT (bez rzeczywistego czasu) — wykorzystywany jest w aplikacjach, gdzie parametry czasowe nie są krytyczne. Używa on protokołu transmisji danych Ethernet TCP/IP, a także UDP/IP.
- PROFINET RT (czas rzeczywisty) — tutaj wymiana danych wejścia/wyjścia realizowana jest za pomocą ramek Ethernet, ale dane diagnostyczne i dane komunikacyjne nadal są przesyłane przez UDP/IP.
- PROFINET IRT (izochroniczny czas rzeczywisty) — ten protokół został opracowany specjalnie dla aplikacji sterowania ruchem i zawiera izochroniczną fazę transmisji danych.
Jeśli chodzi o wdrożenie protokołu twardego czasu rzeczywistego PROFINET IRT, to do komunikacji z zdalnymi urządzeniami wyróżnia się dwa kanały wymiany: izochroniczny i asynchroniczny. Izosynchronny kanał o stałej długości cyklu wymiany korzysta z synchronizacji taktowej i przesyła dane krytyczne dla czasu; do transmisji używane są telegramy drugiego poziomu. Czas transmisji w kanale izochronicznym nie przekracza 1 milisekundy.
W kanale asynchronicznym przesyłane są tzw. dane real-time, które również są adresowane poprzez adres MAC. Dodatkowo przesyłana jest różna diagnostyczna i pomocnicza informacja już na poziomie TCP/IP. Ani dane real-time, ani tym bardziej inne informacje nie mogą oczywiście przerywać cyklu izochronicznego.
Rozszerzony zestaw funkcji PROFINET IO nie jest potrzebny w każdej systemie automatyki przemysłowej, dlatego ten protokół jest skalowany do konkretnego projektu, z uwzględnieniem klas zgodności lub klas zastosowań (conformance classes): CC-A, CC-B, CC-CC. Klasy zgodności pozwalają na wybór urządzeń polowych i komponentów magistrali z minimalnie wymaganą funkcjonalnością.

Źródło:
Drugi protokół komunikacyjny w sieci PROFINET — PROFINET CBA — służy do organizacji przemysłowej komunikacji między urządzeniami różnych producentów. Podstawową jednostką produkcyjną w systemach CBA jest pewna jednostka, określana jako komponent. Komponent ten zwykle składa się z części mechanicznej, elektrycznej i elektronicznej urządzenia lub instalacji, a także odpowiedniego oprogramowania aplikacyjnego. Dla każdego komponentu wybierany jest moduł programowy, który zawiera pełny opis interfejsu danego komponentu zgodnie z wymaganiami standardu PROFINET. Następnie te moduły programowe są wykorzystywane do wymiany danych z urządzeniami.
Protokół Ethernet POWERLINK firmy B&R
Protokół Powerlink został opracowany przez austriacką firmę B&R na początku lat 2000-nych. To jeszcze jedna realizacja protokołu czasu rzeczywistego na bazie standardu Ethernet. Specyfikacja protokołu jest dostępna i rozpowszechniana bezpłatnie.
W technologii Powerlink stosowany jest mechanizm tzw. mieszanej sondy, gdzie całe interakcje między urządzeniami dzielone są na kilka faz. Szczególnie krytyczne dane są przesyłane w izochronicznej fazie wymiany, dla której ustalany jest wymóg czas odpowiedzi, pozostałe dane będą przesyłane w miarę możliwości w asynchronicznej fazie.

Kontroler B&R z zestawem modułów wejścia-wyjścia. Źródło: br-automation.com
Początkowo protokół był zaimplementowany na poziomie fizycznym 100Base-TX, ale później opracowano również realizację gigabitową.
W protokole Powerlink stosowany jest mechanizm planowania wymiany. W sieci wysyłany jest pewien znacznik lub komunikat sterujący, za pomocą którego określa się, które z urządzeń ma w danym momencie zezwolenie na wymianę danych. W każdym momencie dostępu do wymiany może mieć tylko jedno urządzenie.

Schematyczna reprezentacja sieci Ethernet POWERLINK z kilkoma węzłami.
W izochronicznej fazie kontroler sondowania kolejno wysyła zapytanie do każdego węzła, z którego należy uzyskać krytyczne dane.
Faza izochronna jest realizowana, jak już wspomniano, z konfigurowanym czasem cyklu. W asynchronicznej fazie wymiany wykorzystywany jest stos protokołu IP, kontroler żąda danych niekrytycznych od wszystkich węzłów, które wysyłają odpowiedź w miarę uzyskiwania dostępu do przesyłania w sieci. Stosunek czasu między fazami izochronicznymi a asynchronicznymi można ręcznie dostosować.
Protokół Ethernet/IP firmy Rockwell Automation
Protokół EtherNet/IP został opracowany przy aktywnym udziale amerykańskiej firmy Rockwell Automation w 2000 roku. Wykorzystuje stos TCP i UDP IP, i rozszerza go na potrzeby automatyzacji przemysłowej. Druga część nazwy, wbrew powszechnemu przekonaniu, oznacza nie Internet Protocol, lecz Industrial Protocol. UDP IP korzysta ze stosu komunikacyjnego protokołu CIP (Common Interface Protocol), który jest również wykorzystywany w sieciach ControlNet / DeviceNet i realizowany na bazie TCP/IP.
Specyfikacja EtherNet/IP jest ogólnodostępna i rozpowszechniana bezpłatnie. Topologia sieci Ethernet/IP może być dowolna i może obejmować pierścień, gwiazdę, drzewo lub magistralę.
Oprócz standardowych funkcji protokołów HTTP, FTP, SMTP, EtherNet/IP realizuje przesyłanie danych krytycznych czasowo między kontrolerem zapytującym a urządzeniami I/O. Przesyłanie danych niekrytycznych czasowo realizowane jest za pomocą pakietów TCP, a krytyczna czasowo dostawa cyklicznych danych sterujących odbywa się za pomocą protokołu UDP.
Do synchronizacji czasu w rozproszonych systemach EtherNet/IP wykorzystuje protokół CIPsync, który jest rozszerzeniem protokołu komunikacyjnego CIP.

Schematyczny obraz sieci Ethernet/IP z wieloma węzłami i połączeniem urządzeń Modbus. Źródło:
Aby uprościć konfigurację sieci EtherNet/IP, większość standardowych urządzeń automatyki jest dostarczana z wcześniej określonymi plikami konfiguracyjnymi.
Realizacja protokołu FBUS w firmie Fastwel
Długo zastanawialiśmy się, czy uwzględnić w tej liście rosyjską firmę Fastwel z jej krajową realizacją przemysłowego protokołu FBUS, ale ostatecznie zdecydowaliśmy się napisać kilka akapitów dla lepszego zrozumienia rzeczywistości importu zastępczego.
Istnieją dwie fizyczne realizacje FBUS. Jedną z nich jest magistrala, w której protokół FBUS działa na standardzie RS485. Ponadto istnieje realizacja FBUS w przemysłowej sieci Ethernet.
FBUS trudno nazwać szybkim protokołem, czas odpowiedzi w dużej mierze zależy od liczby modułów wejścia-wyjścia na magistrali i od parametrów wymiany, zazwyczaj wynosi od 0,5 do 10 milisekund. Jeden podrzędny węzeł FBUS może obsługiwać tylko 64 moduły wejścia-wyjścia. Długość kabla dla magistrali nie może przekraczać 1 metra, dlatego o systemach rozproszonych nie ma mowy. Raczej można to zrobić, używając przemysłowej sieci FBUS nad TCP/IP, co z kolei zwiększa czas skanowania wielokrotnie. Do podłączenia modułów można używać extenderów magistrali, co pozwala na wygodne umiejscowienie modułów w szafie automatyki.

Kontroler Fastwel z podłączonymi modułami wejścia-wyjścia. Źródło:
Podsumowując: jak to wszystko stosowane jest w praktyce w APT
Oczywiście, różnorodność współczesnych przemysłowych protokołów transmisji danych jest znacznie większa, niż opisaliśmy w tym artykule. Niektóre są związane z konkretnym producentem, inne, wręcz przeciwnie, są uniwersalne. Podczas projektowania zautomatyzowanych systemów kontroli procesów technologicznych (APT) inżynier wybiera optymalne protokoły, biorąc pod uwagę konkretne zadania i ograniczenia (wszystko, od technicznych po budżetowe).
Jeśli chodzi o rozpowszechnienie danego protokołu wymiany, można przedstawić diagram firmy HMS Networks AB, który ilustruje udziały rynkowe różnych technologii wymiany w sieciach przemysłowych.

Źródło:
Jak widać na diagramie, PRONET i PROFIBUS od Siemensa zajmują wiodące pozycje.
Ciekawe, że 6 lat temu .
W poniższej tabeli zebrano podsumowanie opisanych protokołów wymiany. Niektóre parametry, na przykład wydajność, są wyrażone w abstrakcyjnych terminach: wysoka/niska. Liczbowe odpowiedniki można znaleźć w artykułach dotyczących analizy wydajności.
| EtherCAT | POWERLINK | PROFINET | EtherNet/IP | ModbusTCP |
Poziom fizyczny | 100/1000 BASE-TX | 100/1000 BASE-TX | 100/1000 BASE-TX | 100/1000 BASE-TX | 100/1000 BASE-TX |
Poziom transmisji danych | Warstwa łącza (ramki Ethernet) | Warstwa łącza (ramki Ethernet) | Warstwa łącza (ramki Ethernet), sieciowa/transportowa (TCP/IP) | Sieciowa/transportowa (TCP/IP) | Sieciowa/transportowa (TCP/IP) |
Wsparcie dla czasu rzeczywistego | Tak | Tak | Tak | Tak | Nie |
Wydajność | Wysokie | Wysokie | IRT – wysoka, RT – średnia | Średnie | Niski |
Długość kabla między węzłami | 100m | 100m/2km | 100m | 100m | 100m |
Fazy transmisji | Nie | Izokronna + asynchroniczna | IRT – izokronna + asynchroniczna, RT – asynchroniczna | Nie | Nie |
Liczba węzłów | 65535 | 240 | Ograniczenie sieci TCP/IP | Ograniczenie sieci TCP/IP | Ograniczenie sieci TCP/IP |
Zarządzanie kolizjami | Topologia pierścieniowa | Synchronizacja taktu, fazy przesyłu | Topologia pierścieniowa, fazy przesyłu | Przełączniki, topologia „gwiazda” | Przełączniki, topologia „gwiazda” |
Hot swap | Nie | Tak | Tak | Tak | W zależności od implementacji |
Koszt sprzętu | Niski | Niski | Wysokie | Średnie | Niski |
Obszary zastosowania opisanych protokołów komunikacyjnych, szeregów polowych i sieci przemysłowych są bardzo różnorodne. Od przemysłu chemicznego i motoryzacyjnego po technologie kosmiczne i produkcję elektroniki. Wysokowydajne protokoły komunikacyjne są poszukiwane w systemach lokalizacji w czasie rzeczywistym różnych urządzeń oraz w robotyce.
A z jakimi protokołami pracowałeś i gdzie je zastosowałeś? Podziel się swoim doświadczeniem w komentarzach. 🙂
Źródło: habr.com
