Erschienen am: 07.09.2017, Ausgabe SPS-MAGAZIN 9 2017

Neue Steuerungsplattform PLCnext Technology

Offen für eine grenzenlose Automatisierung

Im Vergleich zur Informations- erweist sich die Automatisierungstechnik als deutlich konservativer, denn hier werden neue Technologien langsamer eingeführt. Das liegt weniger am mangelnden Innovationswillen der Anwender, als an der Sensibilität vieler Automatisierungsanlagen. Mit der PLCnext Technology stellt Phoenix Contact nun eine Plattform zur Verfügung, die zahlreiche neue Freiheitsgrade beispielsweise in puncto Programmiersprachen und -tools oder Einbindung von Open-Source-Funktionen eröffnet.


Der ESM dient zur Konfiguration der zeitlichen Abarbeitungsreihenfolge von Programmen unterschiedlicher Quellen direkt auf Betriebssystemebene.
Bild: Phoenix Contact Deutschland GmbH

Innovationshemmend wirkt sich zudem aus, dass Technologietrends oft nur von wenigen Herstellern entwickelt und getragen werden. So gibt es beispielsweise bis heute kein Standardprotokoll zur Weiterleitung von Prozessdaten über das Netzwerk. Einige Hersteller treiben ihr eigenes Protokoll voran, andere Anbieter integrieren entsprechende Schnittstellen in ihre Geräte. Daraus resultieren verschiedene Protokolle, welche die gleichen Anforderungen umsetzen. Hat sich der Anwender also für ein Protokoll entschieden, ist er häufig an das Produktportfolio der jeweiligen Anbieter gebunden. Außerdem muss er mit dem Engineering-Werkzeug programmieren, das der Hersteller für seine Hardware anbietet. Möchte der Anwender den Hersteller wechseln, sind seine Mitarbeiter auf die neue Software zu schulen, obwohl die Programmiersprache an sich genormt ist. Allein die etwas andere Bedienphilosophie macht den Umstieg auf ein neues Tool unnötig schwer.

Einbindung von Open-Source-Funktionen

Da immer mehr typische IT-Anwendungen - wie die Kommunikation mit Datenbanken, Cloud Computing oder eine direkte Ankopplung an ERP-Systeme - Einzug in die klassische Steuerungstechnik halten, offenbart sich die eigentliche Schwäche der meisten Systeme: Die Einbindung von Funktionen, die oftmals als Open Source zur Verfügung stehen, gestaltet sich schwierig. Sie müssen häufig mit hohem Zeitaufwand in das entsprechende Engineering übertragen werden, wo die Abarbeitung in einer Echtzeitumgebung stattfindet. Aufgrund der nicht-deterministischen Ethernet-Kommunikation erweist sich das meist als problematisch. Vor diesem Hintergrund hat sich Phoenix Contact die Frage gestellt, wie eine zukunftsfähige Steuerungsplattform aussehen muss, deren Anwender von der Open-Source-Community profitieren, ihre Applikation schneller automatisieren und dabei nicht zur Verwendung des Engineering-Werkzeugs des jeweiligen Herstellers gezwungen sind. Falls die drei genannten Möglichkeiten für sie nicht relevant sind, wollen die Anwender zumindest so mit dem System agieren, als ob sie mit einer klassischen SPS arbeiten. Als Antwort auf diese Anforderungen ist die komplett neu entwickelte und in dieser Form einzigartige Technologieplattform PLCnext Technology entstanden. Was diese Plattform auszeichnet und besonders macht, soll nachfolgend anhand der Systemarchitektur erklärt werden.

Abarbeitung von Code in und außerhalb von Echtzeit

Neben der ARM- oder x86-basierten Hardware stellt das Betriebssystem den wesentlichen Bestandteil eines modernen Prozessorsystems dar. Um in einer Steuerung eingesetzt werden zu können, muss das Betriebssystem echtzeitfähig sein, weshalb nicht jede Lösung genutzt werden kann. Bei der Auswahl des Betriebssystems spielt zudem die Verfügbarkeit von Code, Bibliotheken oder ganzen Applikationen eine entscheidende Rolle. Aufgrund dieser Rahmenbedingungen hat sich Phoenix Contact bei der PLCnext Technology für Linux mit Echtzeiterweiterung entschieden. Auf diese Weise ist die Ausführung von Code in und außerhalb des Echtzeitkontextes möglich. Mit Linux können Programme zur Maschinensteuerung somit deterministisch abgearbeitet werden, während beispielsweise die Kommunikation mit Datenbanken außerhalb der Echtzeit läuft. Damit der Anwender in der gewohnten Umgebung gemäß IEC 61131-3 programmieren kann, muss die Laufzeitumgebung oberhalb des Betriebssystems angesiedelt sein, sodass sie mit dem Engineering-Werkzeug - bei Phoenix Contact mit PC Worx Engineer - kommunizieren kann. Die dort erstellten Programme werden auf die Steuerung geladen und in der Laufzeitumgebung ausgeführt. Die PLCnext Technology erscheint also bisher wie eine klassische SPS, nur das ein offenes Betriebssystem Anwendung findet. Zur Realisierung einer typischen modernen Applikation reicht ein solcher Ansatz jedoch nicht aus.

Weiterleitung von Datensätzen in einem festen Zeitabstand

In der Regel schreibt der Anwender das Programm zur Maschinensteuerung in IEC 61131-3. Nun möchte er einen mit Matlab Simulink oder C++ erstellten Regler in die Applikation einbinden, ohne ihn in IEC 61131-3 umschreiben zu müssen. Das Umschreiben ist oftmals notwendig, da die meisten Systeme den direkten Zugriff aus dem Hochsprachenprogramm auf Betriebssystemfunktionen nicht erlauben. Ferner sind viele Applikationen direkt an eine Datenbank angekoppelt - und das unter Umständen über eine VPN-Verbindung. Wegen der Netzwerkinfrastruktur sowie der Eigenschaften von TCP/IP und UDP/IP als Transportmechanismus erweist sich die Umsetzung der Kommunikationsaufgabe innerhalb der Echtzeitumgebung - wie bereits beschrieben - als problematisch. Dies, weil der Übertragungskanal - das Netzwerk oder das Internet - nicht deterministisch ist. Deterministisch bedeutet, dass die Applikation die Weiterleitung eines Datensatzes in einem festen Zeitabstand erwartet, was aufgrund der Netzwerkeigenschaften nicht unbedingt der Fall ist. Vielmehr täuscht die hohe Übertragungsgeschwindigkeit einen gewissen Determinismus vor: Bis ein neues Paket gesendet wird, ist das vorherige Paket sicher schon beim Empfänger eingetroffen. Der Anwender baut daher Wartezyklen in sein Programm ein oder reduziert das Datenvolumen so weit, dass selbst langsame Netzwerke einigermaßen funktionieren. Aus diesem Vorgehen resultieren unnötige Verzögerungen innerhalb der Applikation sowie ein erheblicher Programmieraufwand. Besser wäre es die Kommunikationsfunktionen außerhalb der Echtzeitumgebung des Geräts zu realisieren, denn dann ist die eigentliche Maschinenanwendung unabhängig von der Qualität des Übertragungskanals.

Mischbetrieb von IEC-61131- und Hochsprachencode

In modernen Applikationen wird es somit vermehrt einen Mischbetrieb aus IEC-61131-Programmen und Hochsprachenkomponenten geben, die sowohl in als auch außerhalb von Echtzeit abgearbeitet werden müssen. Darüber hinaus hat der Programmierer sicherzustellen, dass die Daten konsistent von einem zum nächsten Prozess übertragen werden. Die Umsetzung dieser beiden Anforderungen stellt sogar für Experten eine Fehlerquelle dar. So ist der zeitliche Zusammenhang der verschiedenen Prozesse im System häufig nicht genau bekannt, sodass falsche Prioritäten gesetzt werden. Oder es kommt vor, dass Ressourcen nicht geblockt sind und in der Applikation deshalb seltsame Effekte auftreten. Hier eröffnet die PLCnext Technology dem Anwender respektive Programmierer einen Vorteil, denn sie umfasst unter anderem einen Execution and Synchronization Manager (ESM) und den Global Dataspace (GDS). Mit dem ESM kann der Anwender Programme, die in IEC 61131, C++ oder Matlab Simulink geschrieben sind, durch eine einfache Konfiguration per XML-Datei in einen festen Abarbeitungszyklus bringen und die Abarbeitungsreihenfolge festlegen. Auf diese Weise wird die Funktion einer typischen SPS mit Hochsprachen- und/oder IEC-61131-3-Programmen im Mischbetrieb auf einfache Art realisiert. Bei Mehrprozessorsystemen lässt sich ebenfalls die Core-Affinität konfigurieren, um die Mehrkern-Prozessoren effizient zu nutzen. Dabei laufen alle Programme nativ auf der Betriebssystemebene, was für eine bestmögliche Performance sorgt. Bei der PLCnext Technology findet dieses Scheduling-Konzept auf der Betriebssystemebene statt, damit die mit beliebigen Engineering-Werkzeugen erstellten Programme flexibel kombiniert werden können und zusammenarbeiten.

Konsistenz beim Datenaustausch zwischen den Programmen

Der GDS ist für den konsistenten Datenaustausch zwischen den Programmen sowie mit den unterschiedlichen Feldbussystemen verantwortlich. Bei ihm handelt es sich um mehr als ein Shared Memory, denn der GDS bietet dem Anwender Funktionen wie Publishing und Subscribing, intelligente Buffer-Mechanismen sowie eine einfache Konfiguration über eine für den Menschen lesbare XML-Datei. Das reduziert den Zeitbedarf des Programmierers erheblich, da er lediglich angeben muss, welche Ausgangsdaten eines Programms mit den Eingangsdaten eines anderen Programms oder Feldbussystems verbunden werden sollen. Um den Buffer-Mechanismus und somit das Blockieren von Ressourcen kümmert sich der GDS. ESM und GDS bilden den Kern der PLCnext Technology und sind in der Form einzigartig, weil der Anwender sich sein System in diesen beiden Freiheitsgraden konfigurieren kann und kein bestimmtes Engineering-Werkzeug verwenden muss. Zudem lässt sich auf den Geräten mit PLCnext Technology auch eine reine Hochsprachen-Applikation mit wenig Aufwand echtzeitfähig ausführen. Moderne Applikationen, die sich aus Programmen in beliebigen Programmiersprachen zusammensetzen, können in einen zeitlichen Kontext gebracht sowie in oder außerhalb von Echtzeit abgearbeitet werden - je nachdem, was am sinnvollsten ist. Außerdem stellt die PLCnext Technology den konsistenten Datenaustausch zwischen den einzelnen Programmen sicher, senkt die Programmierdauer und reduziert ferner die Wahrscheinlichkeit von Programmierfehlern beim Datenaustausch zwischen den Programmen.

Unterstützung der gewohnten Debugging-Mechanismen

Die PLCnext Technology verfügt darüber hinaus über einen intelligenten Datenlogger, der ebenfalls mittels einer XML-Datei konfiguriert wird und direkt in SQL-Datenbanken speichern kann. So lassen sich Prozessdaten getriggert zyklussynchron mitschreiben und beispielsweise bei Überschreitung von Grenzwerten alle wichtigen Daten zum entscheidenden Zeitpunkt aufzeichnen. Zudem umfasst die PLCnext Technology einen OPC UA-Server und -Client sowie die Profinet-Controller und -Device-Funktionalität. Ferner werden sämtliche Debugging-Mechanismen unterstützt, die der Programmierer aus seiner Tool Chain gewohnt ist. So kann der Eclipse-Programmierer sein Tracing nutzen, um sich die Systemauslastung anzeigen zu lassen und eventuelle Probleme bei den Task-Prioritäten und den daraus resultierenden Unterbrechungen zu erkennen. Mit der PLCnext Technology kann sich der Anwender aus der Open-Source-Community bedienen. Er hat also Zugriff auf einen der größten existierenden Software-Pools. Beispielsweise lässt sich ein OpenVPN-Client oder -Server installieren sowie eine Datenbank auf dem Gerät oder beliebige Laufzeitumgebungen - zum Beispiel zur Visualisierung - einrichten. Damit eröffnet die PLCnext Technology einen deutlichen Mehrwert gegenüber starr in die IEC-ä61131-Laufzeitumgebung integrierten Lösungen und gibt dem Anwender die Freiheit, die er für die Umsetzung seiner Applikation benötigt. Dabei kann er sich auch nur in der IEC-61131-Umgebung bewegen, die für alle PLCnext Technology-Geräte PC Worx Engineer heißt.

Verknüpfung der Prozessdaten in grafischer Form

Verwendet der Anwender PC Worx Engineer als eines der Werkzeuge innerhalb der Tool Chain zur Erstellung einer Applikation, lässt sich das System dort grafisch konfigurieren, statt die beschriebene XML-Datei zu nutzen. Tasks, Programme und Prozessdaten können grafisch verknüpft werden. Das gilt ebenso für Hochsprachenprogramme, die als Instanz ebenfalls eine grafische Darstellung haben. Beispielsweise kann der Programmierer der Maschinenapplikation einen in Hochsprache geschriebenen Regelkreis als Programminstanz in PC Worx Engineer einfügen, der dort dann als Baustein abgebildet wird. Die Verknüpfung der Prozessdaten findet anschließend grafisch statt. Da es sich hierbei nicht um einen wirklichen Import eines Hochsprachenprogramms handelt - sämtliche Programme laufen ja nativ auf der Betriebssystemebene - sondern vielmehr um eine Instanziierung, lässt sich der Regler später im laufenden Betrieb separat vom IEC-61131-Programm updaten, ohne eine Veränderung am IEC-61131-Programm durchführen zu müssen - ein weiterer Vorteil der Technologie.

Durchgängiges Security-Konzept

Die PLCnext Technology überzeugt außerdem durch ein durchgängig realisiertes Security-Konzept. Dies beginnt bei einem auf den Geräten aufgebrachten Vertrauensanker in Form eines Trusted-Platform-Moduls (TPM). Ein Benutzer- und Gruppenmanagement erlaubt die individuelle Anpassung der Zugriffsrechte bis auf das Prozessdatum. Die Datenübertragung zum Engineering erfolgt verschlüsselt und authentifiziert. Darüber hinaus stehen regelmäßige Sicherheits-Updates zur Verfügung, die entweder über ein Device-Management oder manuell installiert werden können.

Bewerbung für das Early Adopter-Programm

Alle zukünftigen Steuerungen von Phoenix Contact, die ARM- oder x86-basiert sind, werden serienmäßig mit der PLCnext Technology ausgeliefert. Ab November 2017 ist der Axioline-Controller AXC F 2152 mit ARM9-Dual-Core mit 800 MHz als erstes Gerät der Serie erhältlich. Damit interessierte Anwender die Technologie schon jetzt ausprobieren können, hat Phoenix Contact ein Early-Adopter-Programm aufgelegt. Unter der Internet-Adresse www.phoenixcontact.de/earlyadopter können sie sich bewerben. Sofern die Anwender in das Programm aufgenommen werden, erhalten sie eine Prototypen-Steuerung sowie eine Schulung auf das System.