Nun stellt sich die Frage, ob und wie diese Hardware unter Linux einheitlich getestet werden kann, um eine einfache und performante Integration in Automatisierungssysteme – zum Beispiel die PLCnext-Steuerungen – zu ermöglichen. Jedes Linux-basierte Automatisierungsgerät setzt sich dabei im Wesentlichen aus den folgenden Bestandteilen zusammen:
- Hardware: Zur Hardware zählen der Prozessor (CPU), die TSN-fähige Netzwerkschnittstelle (MAC) und der Ethernet-Leitungstreiber (PHY). Die Verantwortung für die Hardware trägt der jeweilige Chiphersteller.
- Kernel: Im Kernel des Geräts wird die Linux-Kernfunktion ausgeführt. Sie bildet die Grundlage für das einheitliche und deterministische Verhalten aller unter Linux laufenden Anwendungen. Der Zugriff auf die Ethernet-Schnittstelle ist ebenfalls im Kernel realisiert. Dieser spezielle Teil des Kernels wird als Netzwerktreiber bezeichnet.
- Netzwerkschnittstellen: Dieser Bereich stellt die Funktionalität der Ethernet-TSN-Hardware für die darüberliegenden Anwendungen zur Verfügung.
- Industrial Middleware: Es gibt industrielle Übertragungsprotokolle, die mit und ohne TSN genutzt werden können. Als Beispiel seien Profinet und OPC UA genannt. Im Konzept des ‚Konvergenten Netzwerks‘ lassen sich diese Middlewares auch zeitgleich in einem Netzwerk verwenden.
- Applikation: Unter diesem Begriff ist die entsprechende Automatisierungsanwendung zu verstehen. Auf einer Steuerung kann das beispielsweise das Programm einer Abfüll- oder Montageanlage sein. Bei einem Feldgerät handelt es sich zum Beispiel um die Ansteuerung von digitalen und analogen Prozesssignalen. Die Kommunikation der Steuerungsapplikation mit den Feldgeräten findet über die jeweilige Middleware und das TSN-Netzwerk statt.
- Synchronisation: Eine wesentliche Eigenschaft von TSN ergibt sich aus der Option zur hochgenauen Synchronisation von Applikationen. Das Akronym ‚Time Sensitive Networking‘ leitet sich aus dieser Eigenschaft ab. Die Synchronisation erlaubt es, dass verteilte Applikationen auf Steuerungen und Feldgeräten im Gleichtakt laufen. Die Fähigkeit zur Synchronisation ist schon in Linux integriert. Die TSN-fähige Hardware muss allerdings die dazu notwendigen Mechanismen unterstützen. Die erreichbare Genauigkeit hängt von der entsprechenden Implementierung ab, kann aber deutlich besser als 1µs sein.
Mittlerweile umfassen die neusten Kernel-Versionen den Einsatz von Ethernet-TSN-Mechanismen in RT-Linux. Das hat erhebliche Vorteile für die Gerätehersteller, die ohne spezielle Hard- oder Software eine neutrale TSN-Lösung entwickeln können. Mit der im Beitrag vorgestellten Testumgebung lassen sich diese Implementierungen qualifizieren, sodass eine einfache und robuste Nutzung von TSN in Linux-basierten Geräten sowie für jeden Hersteller möglich ist. Das leistet einen wesentlichen Beitrag zur Verbreitung von TSN.
Auf TSN-fähigen Netzwerkchips erproben
Wie aus Bild 3 ersichtlich, liegt die Verantwortung für die TSN-Implementierung unter Linux nicht mehr bei den Geräteherstellern – wie Phoenix Contact -, sondern bei den Chipherstellern. Damit sind die Performance und Qualität eines Automatisierungsgeräts nur so gut, wie die zugrundeliegende TSN-Hardware und -Software. Dieser Sachverhalt führt heute dazu, dass die Gerätehersteller ihre eigenen Netzwerktreiber schreiben, um für die geforderte Qualität zu sorgen. Zum Teil erweist sich die Hardware ebenfalls als spezifisch und beispielsweise in FPGAs umgesetzt. Solche herstellerspezifischen Lösungen sind kostspielig und erschweren den Wechsel der zugrundeliegenden Hardware im Lebenszyklus eines Produkts. Deshalb sind Gerätehersteller daran interessiert, die Hardware und Treiber der Chiphersteller unabhängig zu qualifizieren, bevor Geräte entwickelt und eine Hardware sowie Applikation aufgesetzt werden. Gleiches gilt für die Chiphersteller, die ihre TSN-Lösungen ohne konkrete Automatisierungsanwendungen testen möchten.
Weil inzwischen sämtliche erforderlichen TSN-Basisfunktionen in Linux eingebunden sind, ergab sich der Wunsch nach einer unabhängigen Testumgebung für TSN. Vor diesem Hintergrund hat Phoenix Contact gemeinsam mit dem Chiphersteller Intel entsprechende Testwerkzeuge erarbeitet und auf verbreiteten TSN-fähigen Netzwerkchips erprobt. Zukünftig werden diese Testwerkzeuge in einer geeigneten Organisation allen Interessierten als Open-Source-Lösung zur Verfügung gestellt. Auf diese Weise können Chip- und Gerätehersteller ihre jeweiligen TSN-Produkte qualifizieren. Darüber hinaus lassen sich die Testwerkzeuge zum Vergleich von unterschiedlichen Lösungen oder zur Einarbeitung in das Thema TSN bei Kunden oder Forschungseinrichtungen verwenden.
Laufzeiten und Abweichungen genau messen
Zur unabhängigen Qualifikation der TSN-Lösung eines Chipherstellers werden die Industrial Middleware und die Applikation durch eine Emulation ersetzt, welche die darunterliegende Hardware und deren Netzwerktreiber nutzt. Die Emulation verhält sich wie ein Automatisierungsgerät und wird nach erfolgreichen Prüfungen später gegen die Middleware und Geräteapplikation des Herstellers ausgetauscht. Sie setzt sich aus den folgenden Teilen zusammen:
- Reference: Dieses Testwerkzeug emuliert sowohl die zyklische Echtzeitkommunikation ebenso wie die azyklische Netzwerkkommunikation. Beides lässt sich in weiten Bereichen in einer Datei konfigurieren. So können zum Beispiel kürzeste Zykluszeiten im Mikrosekundenbereich eingestellt werden, aber auch die Paketgrößen und deren Anzahl. Der Referenzteil kontrolliert ebenfalls empfangene Pakete und misst die Laufzeiten von Applikation zu Applikation. Zudem belastet die Referenzapplikation die CPU mit dem speziellen Tool ‚Hackbench‘. Sämtliche Ergebnisse werden protokolliert.
- Test: Dieses Tool empfängt die zyklische und azyklische Kommunikation des Referenzteils und sendet sie zurück. Bestimmte Werte werden auch protokolliert.
Sowohl die Referenz ebenso wie die Testapplikation sind über das Netzwerk durch TSN-Mechanismen aufeinander synchronisiert. Auf diese Weise lassen sich hochgenaue Messungen von Laufzeiten und Abweichungen durchführen.
Aufgrund der Zusammenarbeit zwischen Phoenix Contact als Steuerungs- und Gerätehersteller sowie einem weltweit verbreiteten Chiphersteller konnte bereits entwicklungsbegleitend geprüft werden, ob die Testwerkzeuge korrekt arbeiten und sich die Implementierung von TSN-Hardware und -Software fehlerfrei gestaltet. Ferner ermöglichten die TSN-Testwerkzeuge Leistungsmessungen im Mikrosekundenbereich sowie Optimierungen. Damit hat die Testumgebung ihre Leistungsfähigkeit unter Beweis gestellt.
Offenlegung als Open Source
Aktuell führt Phoenix Contact gemeinsam mit dem Chiphersteller Gespräche zur Veröffentlichung der Testwerkzeuge als Open Source. Dies soll unter anderem dazu beitragen, dass möglichst viele Hersteller ihre bestehenden und geplanten TSN-Lösungen qualifizieren, sodass die Portierung von TSN-Gerätesoftware noch einfacher und zuverlässiger wird. Da die TSN-Testwerkzeuge im Grundsatz unabhängig von einer TSN-Middleware funktionieren, sollten sie für alle Interessierten zugänglich sein. Zur langfristigen Wartung muss jedoch eine nachhaltige Lösung gefunden werden. Hier gibt es mehrere Optionen, die nach ihrer Festlegung an die Öffentlichkeit gehen.
Nach der Bekanntmachung und breiten Akzeptanz verspricht sich Phoenix Contact als Gerätehersteller eine breite Plattform an TSN-fähigen Lösungen, die sich in den eigenen Produkten einsetzen lassen. Die Chiphersteller profitieren ebenfalls, denn sie können ihre Produkte durch die Testwerkzeuge qualifizieren und verbessern. Das bildet wiederum die Grundlage für einen fairen Wettbewerb hinsichtlich der besten Lösung auf der Basis reproduzierbarer Kriterien. Schlussendlich bieten quelloffene TSN-Testwerkzeuge Raum für zukünftige Erweiterungen. Beispielsweise lassen sich die Security-Verschlüsselung des TSN-Traffics oder erweiterte Testverfahren integrieren. Auch eine Weiterentwicklung der TSN-Standards kann so einfach berücksichtigt werden.