Dezentrale Steuerungsarchitekur

Mit Codesys und OPC UA Pub/Sub zu Industrie 4.0

Bereits 2018 hat die OPC Foundation die Spezifikation für OPC UA Pub/Sub (Publish/Subscribe) veröffentlicht hat. Der Softwareentwickler Codesys hat im Oktober 2020 die erste Version der Umsetzung dieses Übertragungsprotokolls veröffentlicht. Die wiederum wurde nun von der Hochschule Kempten dazu genutzt, einen Industrie-4.0-Demonstrator zukunftsfähig zu vernetzen.
 Der Industrie-4.0-Demonstrator gliedert sich in drei eigenständige Module, die von einer übergeordneten Steuerung koordiniert und kontrolliert werden können: Bestückung, Handling und Stapeln.
Der Industrie-4.0-Demonstrator gliedert sich in drei eigenständige Module, die von einer übergeordneten Steuerung koordiniert und kontrolliert werden können: Bestückung, Handling und Stapeln.Bild: Hochschule für angewandte Wissenschaften Kempten

Der verwendete Industrie-4.0-Demonstrator wurde als Forschungsobjekt für die Erprobung und Veranschaulichung der Vernetzung dezentraler Steuerungsarchitekturen vielfältig als Messexponat eingesetzt und zuletzt der Hochschule als Schenkung überlassen. Bei der Übergabe war die Anlage nicht mehr funktionsfähig und wurde im Rahmen einer Abschlussarbeit an der Hochschule Kempten wieder in Betrieb genommen. Der Demonstrator gliedert sich in drei eigenständige Module, die von einer übergeordneten Steuerung koordiniert und kontrolliert werden können: ein manueller Bestückungsplatz, ein Handling-System für den Objekttransport und ein Staplermodul für die Einlagerung von Standard-Lagerboxen. Jedem Modul wurde eine Kleinsteuerung in Form eines Raspberry Pi zugeordnet, die die Ansteuerung der Hardware (Aktorik und Sensorik) jeweils über Ethercat-Koppler mit 24V-Ein/Ausgangsmodulen umsetzen. Für das Handling-System sind drei eigenständige Achsregler mit integrierten Steuerungen verbaut, die mittels Can-Bus angesteuert werden können. Die Anbindung erfolgt über einen Ethercat/Can-Koppler, der die Regler mit der zentralen Steuerung verbindet, die als eine Win-V3-Soft-SPS von Codesys auf einem Standard-PC ausgeführt ist, um die Abläufe zu steuern und die Visualisierung umzusetzen. Eine Achssteuerung in harter Echtzeit ist demnach (Win V3) nicht möglich, war aber für die gemachten Betrachtungen an dem Transport- und Lagersystem nicht notwendig. Für die Datenübertragung zwischen den dezentralen Steuerungen und der übergeordneten Soft-SPS wurde zunächst das gängige ethernetbasierte Kommunikationssystem TCP/IP genutzt: zwischen jedem Raspberry Pi und der Soft-SPS wurde eine eigenständige TCP/IP-Client-Server-Datenübertragung implementiert, sodass die Daten zwar sicher, aber eventuell mit eingeschränkter Performance (je nach Auslastung der Kommunikation) übertragen wurden. Dieses System sollte als Ausgangspunkt für einen ersten Vergleich zu einer Datenübertagung, die auf der von Codesys neu veröffentlichte IEC-Bibliothek für OPC UA Pub/Sub (nach den Spezifikationen der OPC Foundation) basiert, dienen.

 Mechanischer Aufbau des Industrie-4.0-Demonstrators.
Mechanischer Aufbau des Industrie-4.0-Demonstrators.Bild: Hochschule für angewandte Wissenschaften Kempten

Das macht OPC UA Pub/Sub anders

Pub/Sub spezifiziert, dass Daten nicht zwingend nur an einen Empfänger gesendet werden. Es ist möglich von einem Sender (Publisher) Daten an einen, mehrere oder alle Teilnehmer (Subscriber) im Netzwerk zu senden. Dazu sendet der Publisher seine Daten unter einem Themennamen (Topic) in das Netzwerk. Jeder Teilnehmer, der diese Daten empfangen möchte, kann diese unter dem Themennamen abonnieren und nutzen. Die Daten selbst werden verbindungslos, also ohne Empfangsbestätigung, übertragen. Die dadurch mögliche schnellere Übertragung ist entsprechend weniger sicher alsl bei dem alternativ genutzten TCP/IP-Protokoll. Pub/Sub nutzt dazu auf den untersten Netzwerkschichten (OSI-Model) das User Data Protokoll (UDP), das wiederum auf dem Internet Protokoll (IP) aufsetzt. Innerhalb der Codesys Entwicklungsumgebung wird Pub/Sub als gewöhnliche IEC-Bibliothek umgesetzt und angeboten. Auch ohne Lizenzierung ist diese 30 Minuten lang nutzbar, bevor die Übertragung abbricht und danach durch einen Neustart des Programms neu aufgebaut werden kann. Für eine dauerhafte Nutzung muss für jeden Teilnehmer, der OPC UA Pub/Sub nutzen will, eine Lizenz erworben und über den Lizenzmanager installiert werden. Die Kosten einer Lizenz belaufen sich Stand Januar 2021 auf 50 Euro.

Aufbau von OPC UA Pub/Sub in Codesys

 Vergleich der Übertragungsgeschwindigkeiten von Pub/Sub zu TCP/IP.
Vergleich der Übertragungsgeschwindigkeiten von Pub/Sub zu TCP/IP.Bild: Hochschule für angewandte Wissenschaften Kempten

Für den Aufbau eines Publishers muss innerhalb der Codesys-Entwicklungsumgebung mit fünf in der Bibliothek enthaltenen Funktionsbausteinen gearbeitet werden. Die hauptsächliche Parametrierung wird im UADP.Connection-Baustein ausgeführt: Die IP-Adressen des Senders und der Empfänger sowie die verwendete Portnummer und der Themenname (in Form einer numerischen ID) werden festgelegt. Für die Übertragung an mehrere oder alle Teilnehmer kann eine Multicast-Adresse verwendet werden. Für einen Publisher kann die durch diesen Baustein definierte Verbindung genutzt werden, um die Daten eines DataSet-Bausteins, die mittels eines Writer- und eines WriterGroup-Baustein aufbereitet werden, zu versenden. Für einen Subscriber werden die beiden Bausteine zur Aufbereitung durch einen Reader- und einen ReaderGroup-Baustein ersetzt und die Parametrierung des Connection- Bausteins entsprechend angepasst. Alle Bausteine sind nach den Konzepten der objektorentierten Programmierung gestaltet und müssen auch so verwendet werden. Um zum Beispiel Daten für die Übertragung aufzubereiten, muss die Grundstruktur aus dem Funktionsbaustein DataSet der gelieferten Bibliothek geerbt werden. Dadurch können die zu übertragenden Variablen relativ einfach über die ererbte Methode „PrepareValues“ für die Übertragung registriert werden. So können Datenstrukturen einfach und effizient in beliebigen Varianten erzeugt werden, weshalb es nötig wird sicherzustellen, dass sowohl Sender als auch Empfänger identische Data Sets besitzen. Dafür beinhaltet der Data-Set-Baustein der Bibliothek zusätzlich noch einen Versionscode, der über die Methode „Init“ gesetzt werden kann. Bei nicht identischen Versionscodes kann keine Übertragung zu Stande kommen.

Die Performance von Pub/Sub-TCP/IP

Da die Implementierung von Pub/Sub in der Bibliothek über UDP umgesetzt ist, lassen sich prinzipiell nur geringe bis gar keine Unterschiede bei den Übertragungsgeschwindigkeiten von Pub/Sub im Vergleich zu TCP/IP erwarten. Zur Messung wurden gleiche Dateninhalte (2Byte) zwischen zwei Steuerungen übertragen und lieferten das erwartete, in nebenstehender Abbildung dargestellte Ergebnis. Übertragungszeiten sind im Mittel quasi identisch, wobei Pub/Sub minimal schnellere Zeiten liefern kann. Die Abarbeitungszeiten des Netzwerk-Codes liegen im einstelligen Mikrosekunden-Bereich, sind aber je nach Umsetzung tendenziell für Pub/Sub etwas länger. Das heißt, Pub/Sub stellt tatsächlich keinerlei überflüssigen Overhead in den Raum, der Performance-Einbußen erzeugen könnte.

Bedienung und Fazit

Insgesamt ist der Aufbau einer Übertragung in Codesys mittels OPC UA Pub/Sub strukturiert und vergleichsweise einfach gehalten. Allerdings sind Vorkenntnisse in objektorientierter Programmierung überaus vorteilhaft. Andernfalls kann ein erster Aufbau eines Programms durchaus mehrere Tage in Anspruch nehmen. Etwas verwirrend erscheinen die Variablennamen innerhalb des Connection-Bausteins, welche teilweise erst mit deren Beschreibungen richtig interpretiert werden können. Überaus hilfreich ist das in der Bibliothek enthaltene Beispiel- Projekt, welches einen Aufbau für einen Publisher sowie einen Subscriber beinhaltet. Allerdings ist das rein objektorientierte Projekt auf einem sehr hohem Niveau, was es für Neueinsteiger durchaus anspruchsvoll nachzuvollziehen macht. Das bis dato einzigartige System zur Übertragung an beliebig viele Empfänger auf Industrie-Ebene stellt einen neuen Fortschritt für Industrie 4.0 dar und liefert neue Möglichkeiten. Auch wenn sicherlich noch kleine Herausforderungen in der Verständlichkeit der objektorientierten Codesys-Programmierung stecken, ist das Protokoll funktionsfähig umgesetzt und arbeitet im Industrie-4.0-Demonstrator der Hochschule Kempten sehr erfolgreich.

 Aufbau eines Publishers in Codesys.
Aufbau eines Publishers in Codesys.Bild: Hochschule für angewandte Wissenschaften Kempten
Hochschule für angewandte Wissenschaften Kempten

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Siemens AG
Bild: Siemens AG
Vision-Integration per App

Vision-Integration per App

Qualitätskontrolle ist in der modernen Industrie von entscheidender Bedeutung. Mit Machine Vision wird sie weniger fehleranfällig, zeitaufwändig und kostspielig. Durch die Aufnahme von zwei Anbietern der industriellen Bildverarbeitung in das Siemens-Industrial-Edge-Ökosystem können neue skalierbare Bildverarbeitungslösungen effizient und nahtlos in die Produktionsautomatisierung integriert werden.

mehr lesen
Bild: ©Media Whale Stock/shutterstock.com
Bild: ©Media Whale Stock/shutterstock.com
Verfügbarkeit erhöht 
und Kosten gespart

Verfügbarkeit erhöht und Kosten gespart

Herausforderungen in der Lieferkette waren während der Pandemie ein Damoklesschwert für viele Unternehmen. Der spanische Maschinenbauer Tecnobox hat diese Herausforderung als Chance genutzt und seinen Zulieferer gewechselt. Mit dem umfassenden Portfolio von Delta Electronics ist es dem Unternehmen gelungen, seine Verfügbarkeit zu erhöhen und zudem ein Viertel der Kosten einzusparen.

mehr lesen