Ethernet w czasie rzeczywistym… rzeczywiście

Ethernet wtedy działa szybko, z czasami odpowiedzi na poziomie mikrosekund, kiedy działa sam i w dobrych warunkach. Niemniej sieci oparte na Ethernecie zwykle zaczynają się „zatykać” na wiele milisekund lub dłużej z powodów identycznych jak te, które ograniczają przepustowość wszystkich sieci komunikacyjnych, automatyki i/lub sterowania.

 Problemy z gromadzeniem danych i transmisją na poziomie urządzeń oraz wejścia/wyjścia, niewystarczająco wydajne przełączanie, zbyt wiele urządzeń i Ľle skoordynowany ruch w samej sieci oraz problemy z korekcją błędów i trudności z translacją w wyższych warstwach komunikacji, takich jak TCP i UDP, odbierają cenny czas sieciom opartym na Ethernecie. Opóźnienia te mogą uniemożliwić skorzystanie z dobrze znanych zalet Ethernetu w zastosowaniach dyskretnych, sterowaniem ruchem i innych opcjach wymagających dużych szybkości.

 „W każdej sieci występują elementy nadmiarowe, a mianowicie elementy poprzedzające (preamble) i następujące (postamble) po danych i konieczne do wychwycenia bitów składających się na treść wiadomości podróżującej po sieci. Wadą Ethernetu jest to, że nadmiar ten jest większy niż w większości protokołów, szczególnie gdy dodaje się stos TCP/IP. Ethernet przesyła natomiast dane o wiele szybciej niż inne protokoły” – mówi Dick Caro, naczelny dyrektor zarządzający (CEO) firmy CMC Associates (Acton, Massachusetts). „Na przykład specjalizowana sieć może wykorzystywać adresy 16-bitowe, zaś Ethernet ma adres 48-bitowy, ale przesyła dane tak szybko, że użytkownik tego nie odczuwa. Mimo to rzadko udaje się osiągnąć więcej niż połowę nominalnej prędkości połączenia, co oznacza, że jeżeli urządzenie łączy się z prędkością 100 Mbps, efektywna prędkość transmisji danych jest bliższa 50 Mbps.”

 Na szczęście istnieje kilka użytecznych metod przyspieszania komponentów i oprogramowania związanego z Ethernetem, a trwają prace nad wieloma innymi. Niektóre używają innowacyjnych technik, aby przyspieszyć komunikację w sieci, podczas gdy inne po prostu zmierzają do uczynienia wysyłania i odbioru bardziej niezawodnymi.

 

Synchronizacja zgodna ze standardem IEEE 1588

Jednym z najbardziej obiecujących rozwiązań zastosowania Ethernetu w systemach czasu rzeczywistego jest opisany przez normę IEEE 1588 Precision Time Protocol (PTP), definiujący, przy użyciu technologii dostępnej w handlu metody synchronizacji zegarów urządzeń uruchamiających z czujnikami i innych urządzeń końcowych, w standardowej sieci opartej na Ethernecie. Standard 1588 opracował John Eidson z Agilent Laboratories (Palo Alto, Kalifornia), początkowo do celów rozproszonego pomiaru i sterowania. Standard został zatwierdzony przez Institute of Electrical and Electronics Engineers (IEEE) w listopadzie 2002 r.

 „W standardzie IEEE 1588 najdokładniejszy zegar w sieci służy do synchronizacji wszystkich innych” – zauważa Dirk Mohl, szef działu rozwoju przemysłowych produktów ethernetowych w firmie Hirschmann Electronics. W swojej ostatniej publikacji „IEEE 1588 – Precise Time Synchronization as the Basis for Real-Time Applications in Automation” („IEEE 1588 – precyzyjna synchronizacja czasu jako podstawa zastosowań czasu rzeczywistego w automatyce”) dodaje, że firma Hirschmann testowała dołączane moduły wzbogacone o obsługę standardu IEEE 1588 w modularnych przełącznikach switchach Ethernetu Mice i stwierdziła, że dokładność synchronizacji mieściła się w granicach ±100 nanosekund przy maksymalnej nierównomierności, a rozkład częstotliwości odchyleń pomiędzy głównym zegarem a pozostałymi wynosił 23,95 nanosekundy przy średniej wartości –4,248 nanosekund.

 W rezultacie wielu producentów pracowało nad rozwiązaniami zgodnymi z IEEE 1588, w tym firmy Rockwell Automation i Open DeviceNet Vendors Association (ODVA), które zajmowały się integracją 1588 ze swoimi protokołami Common Industrial Protocol (CIP) i EtherNet/IP w projekcie zwanym CIP Sync. W pracy „Application of IEEE 1588 to a Distributed Motion Control System” („Zastosowanie IEEE 1588 do rozproszonego systemu kontroli ruchu”) trzech inżynierów firmy Rockwell informuje, że wprowadzono 1588 do prototypu rozproszonego systemu sterowania ruchem z trzema sterownikami ruchu, każdym podłączonym do jednego silnika przez SERCOS za pomoc ą karty SERCOS. Każdy z silników obsługuje ruch zgodny z jedną osią, ale dwa działają w trybie slave (podrzędnym), a jeden wyznaczono do pracy w trybie master (nadrzędnym).

Według Hirschmann Electronics: proces synchronizacji IEEE 1588 charakteryzuje się dwiema fazami: pomiarem wyrównania, które następuje, gdy wyrównana zostaje różnica w czasie między elementem podrzędnym i nadrzędnym oraz pomiarem opóĽnienia, który określa opóĽnienie czy też zwłokę między elementem nadrzędnym a podrzędnym.

 

Rockwell Automation stosuje IEEE 1588 do wykorzystywanych systemów sterowania ruchem na dwa sposoby. Przy transakcji sterownik-napęd, sterownik na początku każdego cyklu wysyła do napędu komunikat o pozycji interpolacji. Przy transakcji sterownik-sterownik, na początku cyklu, sterownik osi elementu nadrzędnego przesyła odnośnik mówiący o pozycji do każdego sterownika
osi elementu podrzędnego, który następnie wykorzystuje określenie pozycji przy planowaniu ruchu dla osi elementów podrzędnych.

 Każdy z silników pracujących w trybie podrzędnym slave (podrzędnym) jest dostrajany do osi silnika pracującego w trybie master w stosunku 1 do 1, gdyż sterownik silnika pracującego w trybie master (nadrzędnym) okresowo wysyła parametry pozycji do każdego z kontrolerów silników pracujących w trybie slave. Zegary we wszystkich węzłach są synchronizowane za pomocą Ethernetu przy użyciu 1588, który działa na procesorze PowerPC 50 MHz. Podstawowa operacja ruchu wymaga, aby procesy ruchu we wszystkich węzłach były ze sobą zsynchronizowane. Transakcje pomiędzy węzłami opierają się na synchronizowanym okresowym cyklu aktualizacji. Ma on zastosowanie do transakcji typu sterownik- silnik oraz sterownik-sterownik (patrz rysunek na stronie 17). Aby zsynchronizować cały ruch w systemie, procesy ruchu i cykle aktualizacji pozycji sązsynchronizowane z zegarem 1588.

 „Ponieważ standard 1588 pozwala na rozproszoną synchronizację czasu, mo- żemy stworzyć harmonogram rozproszonych działań sterujących w wielu węz łach jako funkcję czasu”– mówi Anatoly Moldovansky, naczelny inżynier w Automation Control and Information Group (ACIG) firmy Rockwell. Dodaje, że prototypowa aplikacja 1588, z rozproszonym ruchem sterowanym za pośrednictwem Ethernetu, okazała się niezawodna i dokładna. Sprzętowy obwód wspomagający utrzymuje odchylenia między zegarem master (nadrzędnym) i zegarami slave (podrzędnymi) w granicach ±100 nanosekund.

 „Zamiast reagować, kiedy pojawiają się dane, urządzenia w sieci opartej na IEEE 1588 mogą zaplanować działania, co pozwala na bardziej wydajną komunikację i sterowanie przy użyciu mniejszego pasma przenoszenia oraz zmniejszenie nierównomierności” – mówi Doug McEldowney, dyrektor marketingu NetLinx w firmie ACIG.

 

Przyspieszanie aplikacji

W innym projekcie z dziedziny Ethernetu czasu rzeczywistego firma Beckoff Automation rozwinęła ostatnio autorską koncepcję RTEthernet, za pomoc ą której jej oprogramowanie Twin- Cat komunikuje się ze standardową kartą Ethernet sterownika przy użyciu 7-mikrosekundowych telegramów. Choć mogą one mieć do 1500 bajtów, minimalny telegram zawiera 46 bajtów, co pozwala poinformować o stanie 368 punktów wejścia/wyjścia i zwykle wystarcza dla jednego bloku wejścia/wyjścia. Aby odróżnić te dane czasu rzeczywistego od innych składników ruchu w sieci, system wejścia/ wyjścia oprogramowania Twin- Cat’s filtruje przychodzące ramki Ethernetu według znaczenia dla procesów czasu rzeczywistego i umieszcza mniej wrażliwe na czas komunikaty TCP w buforze. Strategią RTEthernet jest unikanie narzutów związanych z TCP/IP i UDP/IP i przekierowywanie bezpośrednio do urządzeń, przy użyciu ich adresów sprzętowych MACID.

 Poza zapewnieniem prędkości RT- Ethernet może pomóc uelastycznić istniej ące sieci. Aby zmodernizować system sterujący liniami produkcji rur z sieciowanego polietylenu (PEX) z PLC do sterowania opartego na PC, Uponor Wirsbo (Apple Valley, Minnesota) wybrał ostatnio BK9000 Ethernet Bus Couplers firmy Beckoff, oparte na RTEthernet. Jako głównego sterownika firma używa komputera C3640 klasy PC firmy Beckhoff, z oprogramowaniem opracowanym przez firmę Uponor w języku Visual Basic. Kod ten łączy się z różnymi sygnalizatorami wejścia/wyjścia za pośrednictwem protokołu Modbus TCP Ethernet firmy Schneider Electric i BK9000, które tworzą rozproszony interfejs wejścia/wyjścia Ethernetu, przekazujący sygnały z C3640 za pośrednictwem sieci Ethernet.

Luther Kemp, inżynier sterowników elektrycznych firmy Uponor, mówi, że firma potrzebowała wszechstronnej, standaryzowanej sieci do sterowania wieloma typami urządzeń. „W ten sposób możemy wymieniać komponenty, jeśli pojawiają się problemy” – dodaje. „Możemy budować moduły wejścia/ wyjścia dokładnie w taki sposób, w jaki chcemy. Systemy ethernetowe oparte na komputerach PC, takie jak firmy Beckhoff, oferują nieograniczone możliwości programowania. Pozwalają nam pisać programy sterujące urządzeniami, tworzyć własne ekrany do komunikacji z użytkownikiem i gromadzić dane, takie jak temperatura czy prędkość przetwarzania w czasie rzeczywistym.”

Podobnie integrator systemów Paine Machine Tool (Delta, Kolumbia Brytyjska, Kanada) wyposażył 16 urządzeń CNC w rozwiązanie DNC z serwerami urządzeń szeregowych (ESDS) Thin Q Ethernet firmy Quatech. Serwery te przetwarzają dane szeregowe na dane Ethernetu. Zbierają dane szeregowe w buforze i wysyłają je w pakietach, aby zmniejszyć ruch w sieci Ethernetu. Ponieważ urządzenia CNC otrzymują zwykle polecenia „po kropelce” z podłączonych komputerów lub sieci lokalnych, pakiety te mogą czasem powodować potencjalnie szkodliwe opóĽnienia.

 ThinQ rozwiązuje ten problem za pomocą modyfikowalnego z poziomu oprogramowania ustawienia Ultra-Low Latency, które pozwala sterowanym numerycznie (CNC) obrabiarkom firmy Paine wysyłać dane ethernetowe bit po bicie, gdy tylko nadejdą. „Takie rozwiązanie naprawdę pomaga ograniczyć ruch w sieci”– mówi David Johnson, kierownik marketingu produktu firmy Quatech. „To bardzo ważne, aby nie zablokować najważniejszych danych, szczególnie kiedy aplikacja obsługuje wiele urządzeń.”

 

Wydajność sprzętu = szybkość

Larry Komarek, menedżer marketingu produktu firmy Phoenix Contact, dodaje, że wydajność Ethernetu w czasie rzeczywistym może być poprawiona przez skonfigurowanie sieci, tak aby pozwalała na równoległe nadawanie.

 Zamiast otwierać połączenie punkt-do-punktu z jednym urządzeniem w danym momencie, równoległe nadawanie łączy się z określoną grupą urządzeń i nadaje do nich jednocześnie. Jest to także metoda używana przez wirtualne sieci lokalne (VLAN) i może pomóc poprawić zdolności przesyłowe sieci.

 McEldowney sugeruje, aby sieci sięgające do poziomu wejścia/wyjścia implementowały funkcję IGMP snooping z komunikacją w trybie full-duplex do filtrowania rozsyłanych danych. Rekomenduje także używanie dublowanie portów. To rozwiązanie zakładające wysyłanie danych do drugiego portu przełącznika dla celów diagnostycznych. „To jest jak podsłuchiwanie komunikacji przez przełącznik, aby odzwierciedlić to, co się dzieje” – mówi McEldowney. „To użyteczne, gdy chcesz sterować za pośrednictwem Ethernetu, ale może pociągać za sobą dodatkowe wymagania dotyczące bezpieczeństwa.”

 Inne rozwiązanie wspomagające wydajność przy użyciu niektórych przełączników ethernetowych to stosowanie sieci wirtualnych do podziału ruchu sieciowego wewnątrz przełącznika. Takie rozwiązanie pozwala, aby jeden 12-portowy przełącznik funkcjonował jako dwa oddzielne. „Musisz się jednak upewnić, że twój przełącznik da sobie radę z szybkością transmisji sieci i urządzeń podłączonych do niej” – dodaje McEldowney.

Caro z firmy CMC Associates dodaje, że samo użycie przełączników ethernetowych może poprawić wydajność w czasie rzeczywistym, ponieważ mogą one sprzętowo osiągnąć to, do czego protokoły fieldbus wykorzystują możliwości logiczne. „W miarę jak dane w switchu ethernetowym przechodzą od punktu A do punktu B, dowiadują się, jaki jest adres wyjściowy i docelowy” – mówi. „Gdybyś próbował zrobić to za pomocą fieldbusów, byłoby to bardzo kosztowne. Co więcej, sprzęt ethernetowy jest szybszy i tańszy”

Dodatkowe informacje:

Wprowadź następujące liczby w formularzu na stronie: www.controleng.com/freeinfo 

albo odwiedź poniższe strony WWW:

Beckhoff Automationwww.beckhoff.com
Hirschmann Electronicshus.hirschmann.com
IEEEwww.ieee.org
ODVAwww.odva.org
Phoenix Contactwww.phoenixcon.com
Quatechwww.quatech.com
Rockwell Automationwww.rockwellautomation.com