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.
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:
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:
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:
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).