Offene Plattform

Abbild Rev Pi Core

Bild 2: Rev Pi Core (Quelle: Kunbus)

Der Rev-Pi Core ist eine offene Plattform, auf der angefangen von dem Betriebssystem bis hin zu Applikationen alles installiert werden kann, was auch auf einem Raspberry Pi läuft. Standardmäßig ist auf einem Rev-Pi Core Linux als Betriebssystem mit passenden Treibern für die Rev-Pi-IO- und Gateway-Module vorinstalliert. Darauf aufbauend kann der Anwender im Online-Shop Kunbus die Soft-SPS von Logi.cals und die Scada-Software Spider-Control nutzen. So entsteht eine komplette und betriebsbereite SPS.
Es kann aber auch eine eigene Software unter Linux mit Python geschrieben werden. Dafür werden der Treiber und die optimierte Betriebssystemversion genutzt, um auf alle Prozessdaten zuzugreifen. In einem Speicherbereich wird dafür ein Prozessabbild mit allen aktuellen Prozesswerten vorgehalten.
Als Betriebssystem ist Raspbian (eine Debian-Variante) in der Version Wheezy mit RT-Patch des Kernels 4.1.13 vorinstalliert. Dies ist ein Kompromiss, um so nah wie möglich an der originalen Entwicklungsumgebung eines Raspberry Pi zu bleiben und trotzdem eine hohe Kontrolle über die Priorities der Tasks zu bekommen, die der Scheduler verwaltet. Der Scheduler, der die Ausführung von Tasks durch das Betriebssystem steuert, kann bei diesem modifizierten Kernel umfangreich konfiguriert werden, sodass die üblicherweise durch Netzwerk- und andere IO-Zugriffe verursachten Verzögerungen vermieden werden. Anwender der Soft-SPS-­Lösung müssen sich mit diesen Details nicht befassen. Aber Programmierer, die ihre eigene Software laufen lassen wollen, werden mit technischen Dokumenten unterstützt, um den Scheduler für eigene Applikationen zu konfigurieren.
Basierend auf dem Betriebssystem lassen sich eigene Applikationen installieren oder mit Python eigene Programme schreiben. Für einen vollen Zugriff auf die IO-Erweiterungen der Rev-Pi-Familie wird der Treiber Pi-Control, kurz Pi-Con genutzt. Dieser Treiber sammelt über die Pibridge mit einer definierten Zykluszeit alle Daten der Rev-Pi-Familie ein bzw. verteilt die Daten auf diese Geräte. Die Daten werden dabei in einem zentralen Speicherbereich, dem Prozessabbild abgelegt. Pi-Con läuft als „High Priority Task“ unter Kontrolle des Linux-Schedulers. Dadurch ist die maximale Zykluszeit des Treibers definiert. In der aktuellen Version liegt diese Zykluszeit für ein System mit zwei IO-Modulen zwischen 5 ms und 10 ms.
Picon macht aber mehr, als nur die Datenverteilung. Beim Starten des Systems erkennt Picon über ein eigenes Protokoll auf der Pibridge alle angeschlossenen Module ­eines Systems und auch deren physikalische Position. Picon kann diese Systemkonstellation mit einer Konfigurationsdatei vergleichen, die zuvor mit dem grafischen Konfigurator Pictory erstellt wurden. In der Konfigurationsdatei können auch spezifische Konfigurationswerte für jedes Modul stehen, die Picon beim Starten an die Module verteilt, um deren Betriebsarten und Verhaltensweisen einzustellen.
Alle zyklisch ausgetauschten Prozessdaten stammen aus einem zentralen Prozessabbild im Rev-Pi Core oder werden dort abgelegt. Das ist ein Speicherbereich, in dem die Prozessdaten an vorbestimmten Adressen abgelegt werden. Dafür ist Picon zuständig, der mit dem Rev-Pi Core ausgeliefert wird. Die Prozessdaten lassen sich nicht nur über die Pibridge austauschen, sondern auch über USB, Ethernet oder die GPIO-Anschlüsse des Compute Moduls. Entwickler können über einfache Aufrufe des Betriebssystems in das Prozessabbild schreiben oder von dort lesen. Eigene Programme werden nahtlos in das modulare Hardwarekonzept eingebunden.
Neben Picontrol werden nach und nach weitere Treiber veröffentlicht, mit denen zum Beispiel Daten zwischen ­einem MQTT-Broker und dem Prozessabbild oder über einen seriellen USB-Kanal Daten zwischen dem Prozessabbild und zum Beispiel einem Arduino oder einem Enocean Transceiver ausgetauscht werden können.

Mit Soft-SPS und Visu

Für das Modul stehen der IEC-61131-3-kompatible Editor Logi.CAD 3 für PC von Logi.cals zusammen mit Logi.RTS, dem dazugehörigen Runtime-System, das auf dem Rev-Pi Core läuft, und die mit Logi.CAD 3 erstellten Steuerungsabläufe umsetzt sowie der Visualisierungssoftware Spidercontrol zur Verfügung.
Das Runtime-System Logi.RTS greift zyklisch auf das Prozessabbild zu. Logi.CAD 3 läuft auf dem offenen Basisframework Eclipse. Dies gewährt eine langfristige Verfügbarkeit der Komponenten und ist zudem auf Windows, Mac OS X sowie auf allen gängigen Linux-Distributionen einsetzbar. Die Zielsetzung von Logi.CAD 3 ist die Unterstützung von teamübergreifendem effektivem Programmieren von Steuerungsapplikationen. Features, wie nachvollziehbare Änderungen im erzeugten Code, Integration von Qualitätssicherungs- und Aufgabenverwaltungswerkzeugen sowie ein schnelles Feedback bei Eingabe von fehlerhaftem Code, sind der Schlüssel, um diese Zielsetzung zu erreichen.
Die Konfigurationsdatei kann mit einem PC oder direkt auf dem Revolution Pi erstellt werden – und zwar mit dem grafischen Konfigurator Pictory. Dies ist eine Webanwendung und kann daher mit jedem Browser bedient werden. Dabei kann Pictory auf dem Rev-Pi selber laufen oder auf jedem PC.
Spidercontrol von der Firma Ininet verwendet einen Webserver (Scada-Server) auf dem Rev-Pi Core, um die Prozessdaten mit einem beliebigen Browser auszutauschen und zu visualisieren. Mit dem zugehörigen Editor werden einfache Anzeigen oder auch komplexe Prozessvisualisierungen mit Alarmen und Sollwerteingaben realisiert werden. Webserver und -browser können die Daten über eine gesicherte Verbindung auch über das Internet austauschen. Mithilfe eines Basic-Interpreters lassen sich sogar eigene kleine Codezeilen in diese Software einbinden, um zum Beispiel eine Rezeptverwaltung einzubauen. „Neben der Soft-SPS und der Visualisierung sowie den Programmiermöglichkeiten eines Raspberry Pi mit C und C++ planen wir auch die Portierung von Labview von National Instruments auf das Modul“, freut sich J. Kurpat.
Serverdienste (Cloud Services) stellen eine sichere Umgebung für die Verwirklichung von „IoT“-Ideen bereit. So wird ein eigener Dyn-DNS-Server zur Lösung des Problems wechselnder IP-Adressen der Rev-Pi-Geräte erstellt. Crypto-Chips sorgen für Datensicherheit; sie verwalten und stellen die umfangreiche Zertifikate sicher. Daten werden verschlüsselt über das Internet ausgetauscht. Weiterhin werden SMS- und Text-to-Speech-Gateways mit minimaler Reak­tionszeit zur Verfügung gestellt, um zum Beispiel System­alarme zu versenden. Es ist davon auszugehen, dass die Raspberry-­Pi-Community in ihrem funktionierenden Ökosystem schnell weitere Dienste zur Verfügung stellen wird.

Joachim Kurpat
3 / 3

Ähnliche Beiträge