TSN: Wspólna sieć dla przemysłowego IoT

Michael Zapke i Adam Taylor

Jednym z głównych wyzwań, związanych z implementacją przemysłowego Internetu Rzeczy (Industrial IoT - IIoT) jest połączenie ze sobą sieci systemów informatycznych (Information Technology - IT) z sieciami urządzeń przemysłowych (Operational Technology - OT). Obecnie sieci te funkcjonują najczęściej zupełnie oddzielnie, a komunikacja pomiędzy nimi jest ograniczona i odbywa się jedynie poprzez specjalnie wyznaczone bramki. Zintegrowanie ze sobą tych sieci jest kluczowym czynnikiem, który mógłby pozwolić na stworzenie cyber-fizycznych czynników (Cyber Physical Systems), w których węzły komunikują się ze sobą poprzez przemysłowy Internet Rzeczy.

Obecnie stosowana architektura systemów kontroli automatyki przemysłowej ma budowę hierarchiczną. Oprogramowanie ERP (Enterprise Resource Planning) stoi na szczycie tej struktury, pozwalając na zintegrowane zarządzanie i automatyzację głównych procesów biznesowych. Poniżej znajdują się systemy MES (Manufacturing Execution Systems), które sterują całymi procesami przemysłowymi. W końcu sterowniki PLC (Programmable Logic Controller) realizują w sposób zautomatyzowany zadania, korzystając z podłączonych do nich urządzeń przemysłowych, takich jak napędy elektryczne, sensory i zestawy wejść i wyjść, znajdujące się najniżej w omawianej hierarchii. Struktura ta jest często nazywana "Piramidą Automatyki" (ilustracja 1) i łatwo zauważyć, że w jej dolnej części znajduje się wiele różnorodnych urządzeń, podczas gdy w górnej umieszczone są komputery o dużej wydajności. Poszczególne warstwy piramidy prezentują hierarchię.

Piramida Automatyki z przypisanymi rodzajami sieci, stosowanymi na poszczególnych poziomach

Ilustracja 1. Piramida Automatyki z przypisanymi rodzajami sieci, stosowanymi na poszczególnych poziomach. Źródło: Xilinx

Poszczególne warstwy piramidy powiązane są z różnymi wymaganiami odnośnie sieci, jakie mogą być w nich stosowane. O ile wyższe warstwy wymagają dużej przepustowości i możliwości elastycznego dobierania topologii sieciowej, W poniższych ważniejsza jest deterministyczna praca i możliwość przesyłania paczek danych w stałych, regularnych odstępach czasu, z zachowaniem identycznych, krótkich opóźnień. W efekcie w praktyce stosuje się wiele różnych sieci, pracujących obok siebie.

Sieć, która miałaby zintegrować funkcje obecnie stosowanych sieci musiałaby rozwiązywać kilka problemów, które stanowią Trudność w aktualnie użytkowanych architekturach:

  • Większa transparentność: wszelkie dane ze wszystkich poziomów hierarchii powinny być dostępne dla wszystkich węzłów sieci, bez potrzeby stosowania bramek tłumaczących przesyłane dane.
  • Mniejsza potrzeba planowania topologii: sieć powinna być bardziej elastyczna i pozwalać na łatwe wprowadzanie w niej zmian.
  • Mniejsze wydatki inwestycyjne (CAPEX): liczba kabli i bramek pomiędzy sieciami o różnych protokołach powinna być zredukowana.
  • Mniejsze koszty operacyjne (OPEX): nakłady na administrację siecią powinny zostać zredukowane.
  • Większa przepustowość: Sieć nie powinna być ograniczona tylko do jednej, określonej szybkości transmisji danych.
  • Optymalizacja pod kątem M2M: sieć powinna być gotowa do wymiany danych pomiędzy różnorodnymi maszynami w całej fabryce, za pomocą jakiegoś wspólnego modelu danych, jak np. OPC UA.

Możliwość zintegrowania ze sobą sieci IT i OT dają techniki Time Sensitive Networking (TSN), stanowiące zbiór substandardów IEEE 802. Ich implementacja umożliwia prowadzenie deterministycznej komunikacji przez sieci ethernetowe, przy jednoczesnym prowadzeniu zwykłej wymiany danych przez Ethernet.

TSN wprowadza różne klasy ruchu sieciowego, przesyłanego przez to samo łącze. W sieciach TSN rezerwowane są zasoby dla strumieni danych, wymagających deterministycznej charakterystyki czasowej. W rezultacie TSN umożliwia stworzenie jednej, wspólnej sieci, w której będzie odbywać się komunikacja oparta o różne protokoły.

TSN wprowadza więc wiele usprawnień względem standardowych sieci ethernetowych. W klasycznej komunikacji przez Ethernet czas nie ma większego znaczenia. Dane przesyłane są poprzez całą dostępną przepustowość łącza i kolejkowane w postaci pakietów oczekujących na transmisję. TSN wprowadza kontrolę upływu czasu i definiuje regularnie oddalone od siebie momenty czasowe, w których może przesyłać kluczowe dane. Ich harmonogram zależny jest od konfiguratora sieciowego, który rozgłasza stosowne informacje do pośredniczących w komunikacji urządzeń. Ponadto TSN pozwala na zaimplementowanie mechanizmów filtrowania oraz reguł dla strumieni wrażliwych czasowo, w sposób przeźroczysty dla użytkownika wprowadza redundancję oraz umożliwia cykliczne przesyłanie danych, przy jednoczesnej obsłudze mechanizmu wywłaszczania by móc przekazać pakiety o wyższym priorytecie.

Technologie TSN zostały zdefiniowane w grupie standardów IEEE 802.1, które określają sposób ich implementacji (Ilustracja 2). We wrześniu 2017 roku, gdy powstawał ten artykuł, cztery z tych standardów zostały już przyjęte, podczas gdy pozostałe wciąż znajdują się na etapie prac w poszczególnych grupach organizacji IEEE.

Standardy IEEE TSN

Ilustracja 2. Standardy IEEE TSN. Źródło: Xilinx

Powyższe standardy są przeznaczone do implementacji w ramach Ethernetu (Warstwa fizyczna zgodna z IEEE 802.3) i obsługują topologie gwiazdy, łańcucha, pierścienia oraz topologie mieszane. Nie są ograniczone do żadnej konkretnej szybkości transferu. W przypadku aplikacji przemysłowych wykorzystywane będą przede wszystkim łącza 100-megabitowe i 1-gigabitowe i to właśnie w ten sposób TSN pozwala zintegrować ze sobą sieci IT i OT. Zjednoczenie tych obu światów pozwoli nie tylko zmniejsza koszty implementacji każdej z sieci z osobna, ale też zmniejszy koszty posiadania i korzystania z nich.

Implementacja TSN

Poprawna implementacja sieci TSN wymaga wykorzystania rozwiązania, które zapewnia krótkie opóźnienia i deterministyczny czas odpowiedzi - we wszystkich węzłach i mostkach sieci TSN. Wiele aplikacji tego typu rozwiązuje to wyzwanie poprzez użycie mikrokontrolera lub mikroprocesora w powiązaniu z układem FPGA, podłączonym za pomocą szybkiego interfejsu, takiego jak np. magistrala PCIexpress. Takie dwuelementowe rozwiązania nie tylko zajmują dosyć dużo miejsca na płytce drukowanej i zużywają więcej mocy, ale też wymagają więcej czasu i środków do zaprojektowania i wyprodukowania. Trudniejsze jest także testowanie takich projektów, gdyż kod programów wgranych do układów jest podzielony na dwa podzespoły.

Coraz częściej twórcy urządzeń do przemysłowego IoT sięgają po w pełni programowalne układy Zynq-7000 i Zynq UltraScale+, które należą do podzespołów typu MPSoC, czyli wieloprocesorowych układów System on Chip. Stanowią one połączenie obwodów przetwarzających dane (PS) i układów programowalnych (PL), co pozwala na optymalną implementację systemów zbierania, kontrolowania i przetwarzania sygnałów. Dzieje się tak dzięki:

  1. Zdolności do łączenia się i sterowania pracą wielu sensorów, aktuatorów, silników i innych specyficznych komponentów.
  2. Zdolności do zaimplementowania złożonych algorytmów przetwarzania danych, takich jak uczenie maszynowe, fuzja danych z sensorów, przetwarzanie obrazów i analiza danych w czasie rzeczywistym.
  3. Skalowalności w odniesieniu do liczby obsługiwanych interfejsów sieciowych.
  4. Bezpieczeństwu i możliwości zabezpieczenia podzespołu przed niepowołaną modyfikacją sposobu jego działania, czy próbami pozyskania z niego informacji.

Możliwość łączenia ze sobą dowolnych interfejsów oraz sprzężenia obwodów przetwarzających dane z programowalnymi obwodami logicznymi czynią Zynq-7000 i Zynq UltraScale+ idealnymi podzespołami do implementacji technik TSN wraz z właściwą aplikacją.

Opracowana przez firmę Xilinx biblioteka 1G/100M TSN Subsystem LogiCORE składa się z obwodów logicznych do obsługi interfejsu MAC, mostka TSN i węzła TSN. Obwody odpowiadające za funkcje TSN mają zarezerwowane dla siebie zasoby układu, które gwarantują, że charakterystyka czasowa pracy podzespołu w sieci jest ściśle deterministyczna. Oprogramowanie, które pracuje na wbudowanym rdzeniu przetwarzającym dane odpowiada za synchronizację z siecią, jej inicjalizację oraz wymianę informacji z konfiguratorem sieci, w celu rezerwacji odpowiedniej przepustowości na potrzeby ruchu TSN. Pracuje ono pod kontrolą systemu PetaLinux ale będzie też wydane w wersji na dystrybucje Yocto.

Biblioteki LogiCORE są także dostarczane opcjonalnie ze zintegrowaną obsługą switcha sieciowego, zgodnego z TSN, który pozwala na tworzenie topologii łańcucha lub drzewa, wymaganego w wielu instalacjach przemysłowych, bez potrzeby zajmowania dodatkowego portu w osobnych switchach TSN. Dostępność dodatkowego portu jest także wymagana przez standard redundancji P802.1CB "Seamless Redundancy". Kompletna biblioteka została przedstawiona na ilustracji 3. Użytkownik może samodzielnie zdecydować przed wgraniem biblioteki, czy obsługa funkcji switcha ma zostać wbudowana, czy nie.

Biblioteka TSN w układach Xilinx Zynq-7000

Ilustracja 3. Biblioteka TSN w układach Xilinx Zynq-7000 lub Zynq UltraScale+ MPSoC. Źródło: Xilinx

Po uruchomieniu, biblioteka TSN tworzy indywidualne porty strumieniowe AXI dla każdej klasy obsługiwanego ruchu: harmonogramowego (scheduled), zarezerwowanego (reserved) i o najlepszego dostępnego (best effort). Porty te łączą się z infrastrukturą określoną przez Xilinx Vivado Design Suite. AXI Lite jest wykorzystywany do konfiguracji bloków TSN.

Xilinx dostarcza gotowe do użytku implementacje, przydatne podczas testowania i obsługujące bezpośredni dostęp do pamięci (przez DMA), oddzielnie dla każdej klasy ruchu. Mogą one zostać użyte nawet bez wprowadzania żadnych dodatkowych zmian, by testować interakcje pomiędzy komponentami Xilinxa czy też w połączeniu z podzespołami i urządzeniami innych firm lub z analizatorami protokołów. Na ilustracji 4. pokazano diagram blokowy systemu ewaluacyjnego.

Implementacja TSN na potrzeby testowania

Ilustracja 4. Implementacja TSN na potrzeby testowania (dla układu Zynq UltraScale+). Źródło: Xilinx

Ponieważ programowalne obwody logiczne można elastycznie dopasowywać do potrzeb, omawiane układy pozwalają zaktualizować użyte biblioteki wraz ze zmianami standardów TSN czy potrzeb klientów w poszczególnych segmentach rynku. Odróżnia to układy programowalne od podzespołów, w których obsługę TSN zaimplementowano sprzętowo, a więc wszelkiego rodzaju układy ASIC i ASSP (Application Specific Standard Product).

Aby pokazać możliwości bibliotek TSN w praktyce, Xilinx opracował aplikację demonstracyjną dla płytek deweloperskich ZCU102 i ZC702, na których znajdują się (odpowiednio) układy z rodzin Zynq UltraScale+ i Zynq-7000. Gdy dwie takie płytki zostaną połączone (ilustracja 5), mogą komunikować się przez sieć, umożliwiając przy tym testowanie obsługi funkcji TSN.

System testowania TSN

Ilustracja 5. System testowania TSN (dla układów Zynq UltraScale+). Źródło: Xilinx

Aby jeszcze bardziej wspierać rozwój i wdrażanie standardów TSN, Xilinx został członkiem grupy Time Sensitive Networking w Konsorcjum Internetu Przemysłowego (IIC - Industrial Internet Consortium). Uczestnictwo w tej grupie daje możliwość testowania zgodności urządzeń pomiędzy producentami oraz sprawdzania, jak podzespoły sprawdzają się w krytycznych i najbardziej wydajnych aplikacjach. Testy te można przeprowadzać na przygotowanych w tym celu stanowiskach, w USA i w Europie.

Podsumowanie

Aby umożliwić wdrożenie Internetu 4.0 i Przemysłowego IoT, konieczne jest zjednoczenie ze sobą sieci IT i OT. TSN stanowi rozwiązanie, umożliwiające doprowadzenie do takiego połączenia, oferując wiele korzyści w zakresie elastyczności sieci, skalowalności, a także kosztu wdrożenia i użytkowania. Implementacja TSN we w pełni programowalnych układach Zynq-7000 i Zynq UltraScale+ sprawia, że do przygotowania działającego urządzenia wystarczy pojedynczy, centralny układ scalony, realizujący jednocześnie wszelkie zadania tworzonej aplikacji IoT.

Biblioteki Xilinx TSN zostały opublikowane pod nazwą 1G/100M TSN Subsystem LogiCORE IP dla w maju 2017 roku dla klientów mających wczesny dostęp do zasobów Xilinxa i będą następnie publikowane dla pozostałych klientów w czwartym kwartale 2017 roku.

TSN: Wspólna sieć dla przemysłowego IoT. Data publikacji: 1 listopada 2017 r. przez Farnell