Einführung von TwinCAT-Echtzeit-Ethernet

Ethernet Echtzeit-Kommunikation

Ethernet meistert die nächste Hürde als „Feldbus“ in der Beckhoff TwinCAT-Steuerung. Neben der Erfüllung hoher Echtzeit-Anforderungen ermöglicht es auch den Einsatz von Standardkomponenten „in derselben Leitung“. Der BK9000 Ethernet-Buskoppler und der AX2000-B900 Servoverstärker besitzen als erste Feldbuskomponenten Echtzeitfähigkeit. Neue Netzwerkvariablen beschleunigen den Echtzeit-Datenaustausch zwischen den einzelnen Controllern; eine Implementierung ist so einfach wie der Anschluss eines weiteren digitalen Eingangs.

Beckhoff Ethernet-Produkte sind seit vielen Jahre bewährt und erfreuen sich immer größerer Beliebtheit. Die Vorteile des Einsatzes alltäglicher Ethernet Standardlösungen in Industrieanlagen liegen auf der Hand:
- Einsatz von Standard-Hardwarekomponenten (z.B. marktüblicher Standard-)Switch
- Standardprotokolle können eingesetzt werden
- Die Datenübertragungsraten sind im Vergleich zu anderen Netzwerken sehr hoch
- Das Netzwerk kann einfach über das Internet mit dem Rest der Welt verbunden werden
- Fernwartung und –diagnose


Kommunikation über Ethernet ist in der industriellen Automation bereits weitgehend akzeptiert; viele Gruppen und Ausschüsse beschäftigen sich mit diesem Thema. Durch die fehlende Echtzeitfähigkeit war der Einsatz von Ethernet im klassischen Feldbusbereich jedoch eingeschränkt. Es gibt einige Techniken, die eine gewisse Echtzeitfähigkeit ermöglichen. Diese basieren aber auf selbst entwickelten Systemen, die nicht parallel auf Standardkomponenten und Protokolle zugreifen können.
- Der Begriff „Echtzeitfähigkeit“ wird in der Steuerungstheorie unterschiedlich interpretiert.
- Was „Echtzeit“ ist, hängt in hohem Maße von den Anforderungen der jeweiligen Anwendung ab, ebenso wie von den Regelkreisen, in denen die Automatisierungskomponenten eingesetzt werden. Auf Grundlage der Automatisierungstechnik und vor dem Hintergrund dessen, was Feldbusspezialist Beckhoff anbietet, kann man eine grobe Einteilung vornehmen:
- Die höchsten Anforderungen betreffen Zykluszeiten von ca. 50 µs und einen zulässigen Jitter (Abweichungen von der gewünschten Zykluszeit) von ca. 10 µs. Noch höhere Anforderungen werden derzeitig noch eher mit spezieller Hardware realisiert als direkt mit Feldbussen. Die Anforderungen an Zykluszeiten für positionsgesteuerte Antriebe bewegen sich im Allgemeinen im Millisekundenbereich (1-4 ms), die Jitterzeiten sollten unter 20 µs liegen. Reine SPS-Anwendungen erfordern oft Zykluszeiten von mindestens 10 ms; die Jitterzeiten können hier also auch entsprechend länger sein und sich im Millisekundenbereich bewegen. Der Datenaustausch zwischen Controller und Überwachungssystem kann oft mit Jitterzeiten im Sekundenbereich zufriedenstellend realisiert werden. Er muss hier nicht unbedingt zyklisch konfiguriert werden, sondern kann ereignisgesteuert sein.

Ein weiterer wichtiger Punkt ist die Fernwartung und –diagnose. Hier sind die Zyklus- und Jitterzeiten weniger wichtig als die Reaktionszeiten und die generelle Möglichkeit, über Grenzen eines Netzwerks hinaus zu kommunizieren. TwinCAT-Automatisierungssoftware mit Echtzeit-Ethernet heißt, dass alle oben erwähnten Kommunikationsanforderungen mit derselben Technologie erfüllt werden, sowohl hinsichtlich der eingesetzten Geräte, als auch der genutzten Protokolle.

Funktionsprinzip

Der Treiber der TwinCAT-Netzwerkkarte ist so in das System eingebunden, dass er als Betriebssystem konformer Netzwerktreiber und zusätzlich als TwinCAT Feldbuskarte erscheint. Auf Sendeseite wird über interne Priorisierung und Puffer sichergestellt, dass anstehende Ethernet-Frames des Echtzeitsystems immer eine freie Sendeleitung vorfinden. Ethernet-Frames des Betriebssystems werden erst später verschickt, in den „Lücken“, wenn genügend Zeit ist.
Auf Empfangsseite werden alle empfangenen Ethernet-Frames vom TwinCAT I/O System überprüft und die Echtzeit relevanten herausgefiltert. Alle anderen Frames werden nach Überprüfung an das Betriebssystem übergeben, ohne Kontext zum Echtzeitsystem.

Durch handelsübliche Switches, die alle einen Vollduplexbetrieb bei 100 Mbaud unterstützen, werden die übertragenen Frames mit konstanter Verzögerung an den Empfänger weitergeleitet. Ein Switch stellt sicher, dass Kollisionen vermieden werden und nur Verzögerungen auftreten. Daher muss in einem zyklischen Steuerungssystem nur gewährleistet sein, dass alle wichtigen Eingangsinformationen angekommen sind, bevor der nächste Zyklus startet. Wann oder in welcher Reihenfolge sie ankommen spielt dabei keine Rolle.
Voraussetzung für eine Echtzeit-Ethernetkommunikation ist, dass die Anzahl von Teilnehmern oder die Framerate entsprechend der erforderlichen Zykluszeit beschränkt ist.

Einführung von TwinCAT-Echtzeit-Ethernet 1:

Das Bild oben zeigt das Prinzip, wie der original Windows-Protokollstack (TCP/IP und UDP/IP) parallel zum TwinCAT-Echtzeitethernet benutzt wird. Dieses Prinzip bezeichnen wir als „Y-Treiber“-Architektur.

Betriebsarten/Protokolle

Im Gegensatz zu den weit verbreiteten TCP/IP- und UDP/IP-Protokollen, die weltweit für die Zustellung individueller Ethernet-Frames verantwortlich sind, geht Echtzeitkommunikation nie über das lokale Subnetz hinaus. Der Overhead aus TCP/IP und UDP/IP ist unnötig, Geräte können direkt über die Hardware-Adressen (MAC-ID) der Netzwerkkarten adressiert werden. Die Struktur der Ethernet Frames stellt sicher, dass eine Koexistenz mit anderen Protokollen immer möglich ist; auch „Echtzeit-Frames“ können mit TCP oder UDP übertragen werden, wenn sie ihr eigenes Subnetz verlassen müssen.
Für den Einsatz in der Steuerungstechnik wurde eine Reihe von Betriebsarten definiert. Sie haben unterschiedliche Kommunikationsaufgaben und können natürlich auch simultan eingesetzt werden.

1.) Master - Slave Prozessdatenkommunikation

Zyklische oder ereignisgesteuerte Übertragung von I/O-Daten – die typische Anwendung moderner Feldbusse

2.) Publisher - Subscriber Prozessdatenkommunikation

Prozessdaten nach dem Publisher-Subscriber-Modell (auch Netzwerkvariablen genannt) werden für die reguläre Kommunikation zwischen Controllern verwendet, wenn ein feststehendes Master-Slave-Verhältnis unangemessen wäre. Der Publisher sendet Informationen wahllos ohne Zielangabe aus. Die Kommunikation wird nur vom Subscriber überwacht. Gegenseitige Verhältnisse zwischen Publishern und Subscribern erlauben bidirektionale und multidirektionale Kommunikation. Der Publisher kann so konfiguriert werden, dass Daten per Broadcast, Multicast oder Unicast gesendet werden. Multicast verringert die Belastung der Eingangswarteschlangen der Netzwerkgeräte, da die Meldungen sofort bei Ankunft am Ethernetcontroller bewertet werden. Nur bei Unicast kann der Switch (ohne umfangreiche Konfiguration) parallele Kommunikationspfade öffnen und die nutzbare Bandweite erhöhen.

3.) Datenkommunikation nach Bedarf

Diese Art der Kommunikation wird im TwinCAT-System durch ADS-Kommunikation ermöglicht. Sie sendet Kommunikationsstrings „bei Bedarf“ von einem Gerät zum anderen. So werden Dienste ausgeführt und Parameter ausgetauscht.

Dank der gewählten Protokollstruktur können andere Betriebsarten oder Kommunikationsprofile zukünftig leicht integriert werden und problemlos mit den vorhandenen Betriebsarten koexistieren.

Kompatible Komponenten

Die ersten Beckhoff-Komponenten, die für die Echtzeit-Ethernetanwendung erweitert wurden, sind der BK9000 -Ethernet Buskoppler und der AX2000-B900-Servoverstärker. Mit diesen beiden Komponenten kann fast der ganze Bereich an Industriesignalen und –anwendungen abgedeckt werden.
Alle TwinCAT-Controller (ab Version 2.9) sind kompatibel und können sowohl als „Feldbusmaster“ als auch bei Kommunikationen mit Netzwerkvariabeln einsetzt werden. TwinCAT Echtzeit-Ethernet unterstützt alle Controller (Netzwerkadapter) der Intel 8255x-Familie. Das sind die meistverbreiteten Ethernetcontroller. Sie sind Komponenten des aktuellen Intel Chip-Sets, das bereits eine kompatible Netzwerkverbindung enthält. Angesichts der großen Popularität der Intelfamilie und der Tatsache, dass sie sogar mit Gigabit Ethernet kompatibel ist (Intel 8254x-Familie), kann eine Unterstützung anderer Ethernetcontroller zukünftig zwar in Betracht gezogen werden, ist jedoch nicht unbedingt notwendig. Der neue Embedded-PC CX1000 Kleinsteuerung wird natürlich immer mit einem entsprechenden Ethernetcontroller kombiniert.

Leistung

Eine Beurteilung der Leistung eines Feldbussystems ausschließlich auf Basis der Baudrate wäre zweifellos zu einseitig, da andere wichtige Kommunikationsparameter wie z.B. Protokolleffizienz, Reaktionszeit, Jitter, minimale Telegrammlänge, Pausen usw. einfach ignoriert würden. Trotzdem erlaubt 100 MBaud eine bedeutend schnellere Datenübertragung als derzeit in Feldbusumgebungen üblich. Zudem bieten die eingesetzten Protokolle, insbesondere bei kurzen Datentelegrammen, eine deutlich erhöhte Effizienz gegenüber der TCP- oder UDP-Kommunikation .
Ein Faktor, der bei der Betrachtung der Kapazität eines Feldbussystems oft ignoriert wird, ist die Datenübertragung zwischen Controller-CPU und Kommunikationschip oder –prozessor, d.h. zwischen Hostsystemspeicher und Subsystemspeicher. Bei PC-basierten Controllern werden die Daten meist via ISA- oder PCI-Bus in den DPRAM einer Feldbus-Masterkarte kopiert und umgekehrt. Da PC-Prozessoren heute Geschwindigkeiten von bis zu 3 GHz erreichen, ist selbst der „schnelle“ PCI-Bus zu einem Engpass geworden; 20-30 % der CPU-Leistung gehen allein bei PCI-Übertragung verloren.
Moderne Netzwerkcontroller arbeiten im sogenannten „Busmaster DMA-Modus“, greifen also direkt auf den Speicher des Hostsystems zu. Das erfolgt parallel zu anderen CPU-Tasks, wodurch die CPU-Auslastung deutlich verringert werden kann.

Anwendungen/Anbindung an TwinCAT

Die hohe Datenübertragungskapazität, die fundamentale Echtzeitfähigkeit und die eingesetzten Protokolle decken alle Kommunikationsanforderungen einer schnellen Maschinensteuerung ab. Betrachtet man all diese Eigenschaften, liegt die Schlussfolgerung nahe, dass herkömmliche Feldbusse überflüssig sind.
Allerdings muss sich die Ethernettechnologie erst noch auf Feldebene bewähren und die dortigen Anforderungen erfüllen: z.B. einfache Installation und Konfiguration, gegenseitige Kompatibilität, EMV-Festigkeit und nicht zuletzt Effizienz und Gerätekosten, die für einen industriellen Einsatz relevant sind. Standard-Feldbusse sind weitverbreitet und es gibt viele Geräte von vielen Anbietern (u.a. Beckhoff). Deshalb werden sie am Markt weiterhin einen großen Stellenwert haben. Auch hier bietet das flexible I/O-System von TwinCAT eine Lösung: Mit ihm können mehrere Feldbusse völlig transparent gegenüber der Anwendung parallel arbeiten – natürlich auch herkömmliche Feldbusse parallel zu Echtzeit-Ethernet.

Anwendungsbeispiel 1:

Einführung von TwinCAT-Echtzeit-Ethernet 2:

Für relativ einfache Anwendungen ist nur eine Ethernetverbindung erforderlich, um sowohl die Echtzeitkommunikation zur I/O-Ebene als auch die übergeordnete Kommunikation für Verwaltung und Ferndiagnose zu realisieren. Die verwendete Priorisierung stellt sicher, dass die Echtzeitkommunikation problemlos erfolgt.

Anwendungsbeispiel 2:

Einführung von TwinCAT-Echtzeit-Ethernet 3:

Bei größeren Anwendungen wird eine zweite Ethernetverbindung eingerichtet, die die Echtzeitkommunikation und die übergeordnete Kommunikation zwischen zwei Netzwerken voneinander trennt. Das Routing, das beispielsweise für eine Ferndiagnose an einem mit einem Echtzeitnetzwerk verbundenen Treiber benötigt wird, wird vom IP-Stack des Betriebssystems automatisch ausgeführt und erfordert keine spezielle Konvertierung in ein anderes Protokoll.

Anwendungsbeispiel 3:

Einführung von TwinCAT-Echtzeit-Ethernet 4:

Bei sehr großen Anwendungen, für die auch die Rechenleistung eines 3 GHz-Systems nicht ausreicht, können die Steuerungsaufgaben zwischen mehreren PC-Controllern aufgeteilt werden. So können mit echtzeitfähigen Netzwerkvariablen selbst große Datenmengen quasi zeitgleich mit den Zyklen ausgetauscht werden (selbst bei Geschwindigkeiten unter einer Millisekunde).