Sichere Robotersteuerung aus der Cloud

Roboterzelle für die externe Steuerung über einen Solana Smart Contract
Roboterzelle für die externe Steuerung über einen Solana Smart Contract
Roboterzelle für die externe Steuerung über einen Solana Smart Contract
Roboterzelle für die externe Steuerung über einen Solana Smart ContractBild: Fraunhofer-Institut IPK

Die Anlagenvernetzung mit Steuerungsdiensten aus der Cloud wird oft vorgeschlagen, um zukünftig schnell und zentral auf Produktwechsel reagieren zu können. Solche externen Dienste ermöglichen die Verarbeitung großer Datenmengen, die Nutzung von rechenintensiven Algorithmen sowie die Verknüpfung mit anderen Lösungen und Daten. Allerdings sind diese Dienste auf Verarbeitung sensibler Daten angewiesen und die Rückmeldungen fließen direkt in die laufende Produktion ein. Das erfordert ein hohes Vertrauen in den Anbieter, die Implementierung der Dienste sowie den Schutz der Daten auf dem Transport durch das Internet gegen Beobachtung und Manipulation.

Komponenten und Systemarchitektur

Die Grundlage für die Experimente mit einer externen Steuerung am Fraunhofer IPK bildet eine Roboterzelle für einfache Handhabungsaufgaben. Sie umfasst einen Kuka-Roboter vom Typ KR6 Agilus mit KRC4-Steuerung und Profinet-Schnittstelle. Letztere erlaubt mittels mxAutomation die Ausführung von parametrierten Fahrbefehlen und Greifaktionen sowie das Auslesen der wichtigsten Zustandsvariablen. Damit kann die Programmlogik des Roboters in eine SPS verlagert werden. Des Weiteren enthält die Zelle zwei Förderbänder mit Servoumrichtern und Endlagenschaltern.

Als Zellensteuerung wird ein externer Mini-PC mit einer Codesys-Soft-SPS für die Ansteuerung der einzelnen Geräte verwendet. Für jedes Gerät wird dabei ein einzelner SPS-Task angelegt und mit den Grundfunktionen der Aktorik bzw. Sensorik verknüpft. Damit lassen sich Roboter, Förderband und entsprechende Sensoren unabhängig ansteuern und auslesen. Die Soft-SPS implementiert außerdem einen OPC-UA-Server für ausgewählte Parameter der Geräte-Dienste. Auch die Soft-SPS fungiert, wie die ursprüngliche Robotersteuerung hier nur als Schnittstelle und enthält außer den Basisdiensten mit Grundfunktionen keine Programmlogik.

Über den Mini-PC wird die Brücke zwischen OPC UA und der Solana-Blockchain realisiert. Dazu dient ein Gateway-Programm, das einen OPC-UA-Client und einen Solana-Client implementiert. Der Solana-Client kann, je nach Zugriffsrechten, den Logik-Code als Smart Contract in die Blockchain laden oder ihn ausführen. Die Smart Contracts und deren Logikfunktionen können in den Programmiersprachen C, C++ oder Rust geschrieben werden. Sie werden mit Solana-Entwicklungswerkzeugen übersetzt und unveränderbar unter einer eindeutigen Adresse in der Solana Blockchain abgelegt. Werden daraufhin Eingangsparameter für eine Funktion an deren Adresse geschickt, führt sich der Vertrag selbstständig aus, ermittelt das Ergebnis der Funktion und gibt dieses zurück. Gleiche Eingangsparameter erzeugen stets gleiche Ausgangsparameter. Versenden und Empfangen von Nachrichten im Solana-Netzwerk werden über das Anchor-Framework implementiert.

Passende Blockchain-Plattform

Unter den zahlreichen Blockchain-Plattformen eignet sich Solana gut für die Erprobung der sicheren Auslagerung von Steuerungstechnik. Durch einen speziellen Mechanismus – die Kombination von Proof-of-Stake (PoS) mit Proof-of-History (PoH) – bei der Konsensfindung zum Zustand der Blockchain und zur Integration neuer Transaktionen hat sich Solana als besonders schnell und günstig gezeigt (siehe Tabelle). Außerdem bietet Solana eine niedrige Hürde zum Erstellen von Smart Contracts in bekannten Hochsprachen.

Integration und Test:

Ein geringer, reproduzierbarer Anwendungsfall für eine Handhabungsaufgabe in der Roboterzelle besteht z.B. aus diesen Schritten:

1. Bewegen des Förderbandes nach links

2. Warten auf Auslösen des linken Endlagenschalters

3. Bewegen des Roboterarms zu einer definierten Position über dem Werkstückträger

4. Aktivieren des Greifers, Bewegen des Roboterarms zu einer

weiteren Position, Bewegen des Förderbandes zum rechten Endlagenschalter

Die Bedingung (2), die Reihenfolge (1,2,3,4) und die Koordinaten (1,3,4) sind den Geräten zum Zeitpunkt der Ausführung nicht bekannt. Diese Logik ist allein im Smart Contract auf der Solana-Blockchain implementiert. Das Gateway hat die Aufgabe, alle Änderungen der Sensordaten in die Blockchain zu senden, sowie alle Bewegungsbefehle aus der Blockchain zu lesen und an die Geräte weiterzuleiten. Die Ausführung des Smart Contracts wird durch das (manuelle) Senden eines entsprechenden Eingangssignals an die feste Adresse in der Blockchain gestartet. Das Eingangssignal kann eine einfache Aktivierungsflanke, eine Nummer zum Unterscheiden verschiedener Prozesse, bis hin zu variablen Parametern aus vorangegangenen Prozessschritten oder zusätzlichen Sensoren beinhalten. Verschiedene Smart Contracts können sich auch gegenseitig aufrufen.

Die Versuche haben gezeigt, dass die Ausführung des gesamten Ablaufs über die Blockchain möglich ist. Ohne lokale Logik kann ein beliebiges Programm definiert und unveränderbar abgelegt und ausgeführt werden. Allerdings sind für das Minimalbeispiel durch zahlreiche Transaktionen zum Auslesen der Sensoren und Ansteuerung von Förderband und Roboter etwa 30 Sekunden an zusätzlicher Zeit für die Kommunikation zwischen Anlage und Blockchain erforderlich. Die Methode ist daher noch nicht für zeitkritische geregelte Prozesse, sondern eher für das Auslösen fester Abläufe geeignet.

Sichere und dokumentierte Ausführung

Im Solana-Netzwerk werden Nutzerkonten für den lesenden und schreibenden Zugriff verwendet. Sie können Menschen oder Geräten zugewiesen sein. Der Steuerungscode wird als ausführbarer Smart Contract in das Blockchain-Netzwerk geladen und ist danach nicht mehr veränderbar. Passende Eingangstransaktionen lösen immer denselben Code aus und erzeugen eine Ausgangstransaktion. Beides wird ebenfalls unveränderlich auf die Blockchain geschrieben. Somit ist eine sichere und dokumentierte Ausführung von Software für die Steuerung von industriellen Anlagen möglich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert