Raspberry Pi++

Industrietaugliches System statt Bastellösung

Zehn Jahre ist es her, dass Arduino und Raspberry Pi das Licht der Welt erblickten. Beide Systeme sind eigentlich geschaffen worden, um Menschen günstigen Zugriff auf eine 'Embedded Hardware', so der heutige Begriff, zu geben, um zu lernen, und zu spielen. Mit der Conmeleon C1 PLC-Hardware gepaart mit der SPS-Software q4PLC von qmd4 steht nun eine Plattform zur Verfügung, die den Anforderungen industrieller Automatisierungslösungen gerecht werden will. Wir stellen das System ausführlich vor.
Abb.1: Conmeleon C1 PLC
Abb.1: Conmeleon C1 PLCBild: qmd4 GmbH

Viele Erweiterungen existieren bereits, doch werden Raspberry Pi und Arduino vor allem in der ernsthaften Automatisierungswelt immer noch als Bastelplattform gesehen und nicht als vollwertige Systeme im Sinne einer klassischen SPS. Oft findet man auf einschlägigen Websites und Foren pfiffige Lösungen von Hobbyelektronikern mit auf Holzplatten geschraubten Platinen, die fliegend auf einen Raspberry Pi verdrahtet sind und ihre Aufgabe erfüllen. Sehr oft mit viel Enthusiasmus, Klebeband, Kabelbindern und handgestrickten Python Scripts, C Code oder selbst geschriebenen Websites. Wie gesagt, alles pfiffige und oft auch funktionierende Lösungen, aber von gewohnten Automatisierungsstandards meist weit entfernt und fast unmöglich zu warten. Dies soll jetzt anders werden. Ein dem Open-Source-Geist verschriebenes Team, das mitten in der Automatisierungstechnik steht, hat es sich zum Ziel gemacht, den Raspberry Pi von seinem Bastelimage zu lösen und zu einem ernsthaften Automatisierungsgerät zu machen. Ein industrietaugliches Gerät, bestehend aus Hardware und integrierter Software, sind eine ernstzunehmende Alternative geworden und das nicht nur für Bastler und Heimanwender.

Abb.2: q4Logix beim Debugging im Webbrowser
Abb.2: q4Logix beim Debugging im WebbrowserBild: qmd4 GmbH

Technische Merkmale

Der Raspberry Pi, auf den wir uns hier konzentrieren wollen, hat seit seiner Markteinführung Anfang 2012 eine rasante Entwicklung durchgemacht. War das Modell A noch mit einer Singlecore 32Bit ARM11 CPU mit 700Mhz-Taktrate ausgestattet, so bietet der jüngste Spross das Model 3 B bereits eine mit 1.2GHz getaktete 64 Bit Quadcore ARM Cortex-A Architektur. Auf dieser Plattform lassen sich bereits leistungsfähige Betriebssysteme vernünftig nutzen und so gibt es neben verschiedenen Linux-Distributionen (Raspbian, eine Debian basierte Distribution, ist hier wohl die am weitesten verbreitete) zum Beispiel eine Microsoft Windows 10 IoT Core Implementierung für den ‚Himbeerkuchen‘. Auf der Schnittstellenseite bietet der Raspberry Pi sehr viele Möglichkeiten über sein GPIO (General Purpose IO) Interface. Hier stehen bereits Busse, wie SPI oder I2C zur Verfügung, die für Erweiterungen genutzt werden können. Die GPIO Pins des Raspberry Pi arbeiten allerdings mit einem Spannungspegel von 3,3V und verfügen aus Kostengründen über keinerlei Schutzbeschaltung. Diese Erweiterungsmöglichkeiten und fehlenden Schutzfunktionen haben in den letzten Jahren zu einer wahren Flut an Erweiterungsboards geführt. Es werden u.a. Analog-Digital-Wandler Boards, GPIO-Erweiterungen, Schrittmotortreiber bis hin zu Touchscreens angeboten. Eines der ersten Produkte in diesem Bereich war und ist das sogenannte PiFace des Briten Dr. Andrew Robinson, dessen Ziel es war, den Anschluss des Raspberry Pi an die Aussenwelt deutlich zu vereinfachen.

Abb. 3: Bedienoberfläche für ein Heizungsschema auf einem Tablet (Browser Safari Fullscreen)
Abb. 3: Bedienoberfläche für ein Heizungsschema auf einem Tablet (Browser Safari Fullscreen)Bild: qmd4 GmbH

Anforderungen aus der Automatisierungstechnik

Warum wurde jahrelang der Raspberry Pi trotz seiner Möglichkeiten in der Automatisierungswelt nicht ernstgenommen? So passt doch der Raspberry Pi eigentlich gar nicht so schlecht zu den (meist spezialisierteren) Embedded-Systemen, die als Basis für Geräte im Industrieumfeld eingesetzt werden. In der Automatisierungstechnik liegt jedoch der Fokus nicht auf Embedded-Computern, sondern bei Geräten, die weit mehr sind als nur der bloße Rechenknecht im Inneren. Das typische Automatisierungsgerät besteht aus einer CPU (-Platine) mit zur Anwendung passenden industrietauglichen Ein- und Ausgängen. Je nach Anwendung ist das Automatisierungsgerät mit einer festen I/O-Konfiguration ausgestattet (z.B. für Seriengeräte) und/oder mit einer Feldbusschnittstelle ausgestattet, sodass Ein- und Ausgangsmodule projektspezifisch angepasst werden können. Generell gilt, dass die höhere Flexibilität meist auch mit einem höheren Preis erkauft wird. Je ‚einzigartiger‘ das Projekt (die Maschine) ist, desto sinnvoller ist der Einsatz von Feldbusmodulen. Je höher die Stückzahlen an Geräten mit gleicher I/O-Konfiguration, desto sinnvoller ist eine feste I/O-Struktur, die projektangepasst entwickelt und gefertigt wird. Die Waschmaschine mit Feldbus-Modulen wäre wirtschaftlich gesehen genauso unsinnig wie das Einzelstück einer Sondermaschine, für die speziell eine I/O-Baugruppe aus Standard-I/O entwickelt und gefertigt werden muss. Genauso verhält es sich wieder bei der Softwareentwicklung für Automatisierungsgeräte. Für die bereits zitierte Waschmaschine sind geringste Stückkosten oberste Priorität, das rechtfertigt auch höhere Entwicklungskosten für Hard- aber auch Software, wenn dadurch der Einsatz günstigerer Komponenten möglich wird. Eine ‚kleinere‘ CPU, also eine günstigere Recheneinheit mit eventuell weniger Speicher oder geringerer Taktfrequenz, verringert die Stückkosten in einem höheren Maß als die höheren Entwicklungskosten. Je geringer die Anzahl softwaretechnisch gleicher Automatisierungsgeräte ist, desto lauter wird auch die Forderung nach einfacheren Programmiermethoden. Programmiermethoden, die nicht unbedingt einen hochqualifizierten Softwarentwickler erfordern, der von der Domäne des Projekts meist wenig Ahnung hat, sondern es auch dem Experten für die Projektlösung (die Maschine, die technologische Regelung, der chemische Prozess) erlauben, die Software selbst zu erstellen. Heute wird oftmals der Begriff SPS für diese Kombination aus Hard- und Software eingesetzt. Eine Kombination aus (industrietauglichen) Ein- und Ausgängen, die die Sensorik und Aktorik mit der CPU verbinden, und eine entsprechende Entwicklungsumgebung, die ein einfaches und standardisiertes Erstellen der Automatisierungsapplikation ermöglicht. Der meist eingesetzte Standard ist hier die IEC 61131, deren Teil 3 die Programmiersprachen für Automatisierungssysteme normiert. Der Automatisierer benötigt ein Gerät, dass neben ausreichender Rechenleistung für die Aufgabe auch entsprechende (anwendungstaugliche) Ein- und Ausgänge und Schnittstellen zur Verfügung stellt. Dieses Gerät sollte für eine Schaltschrankmontage geeignet sein und die (gängigen) Vorschriften im Einsatzbereich erfüllen. Dazu zählt auch der wichtige Punkt der CE-Konformität, die zum Beispiel mit einem Raspberry Pi gar nicht so einfach umzusetzen ist. Neben der Programmierung muss ggf. das System konfiguriert und parametriert werden (z.B. Feldbus und Kommunikationsverbindungen). Die entsprechende Programmieroberfläche muss ein Verwenden der konfigurierten Elemente (Ein- und Ausgänge, Kommunikationsverbindungen) erlauben, und die Software muss entsprechend getestet werden können. Wünschenswert ist ein Online-Debugger, der in Quellcodeansicht (was bei der IEC61131-Programmierung auch eine grafische Ansicht bedeutet) erlaubt, die Programme zu inspizieren, den Zustand von SPS und Programm zu sehen und auch zu verändern. Dieser Cross-Debugger (Programm und Debugger laufen üblicherweise auf unterschiedlichen Geräten) soll die Fehlerfindung und -behebung genauso unterstützen, wie dies herkömmliche Entwicklungsumgebungen für Standardsoftware tun. Zusätzlich ist gerade für eine Analyse von zeitlich abhängigen Verläufen (z.B. in der Regelungstechnik) eine Aufzeichnung von Laufzeitdaten und eine Analyse nötig, die im Idealfall im Rahmen des Debuggers zur Verfügung steht. Das Gesamtsystem der SPS muss auch eine schmerzlose Inbetriebnahme ermöglichen. Ein Automatisierungstechniker möchte sich nicht mit Betriebssysteminstallation herumschlagen und soll auf einfache Art und Weise das Gerät im Projektumfeld installieren können. Im Idealfall beschränkt sich die Installation auf mechanische und elektrische Installation. Nach einer meist nötigen Netzwerkkonfiguration sollte die SPS als ebensolche bereits im (IoT)-Netzwerk zur Verfügung stehen und vom Programmiergerät aus verwendet werden können. Im Idealfall ist hier keine weitere Installation von Konfigurations- oder Programmiersoftware nötig und der Automatisierer kann sich auf seine Kernkompetenzen konzentrieren.

Abb.3: Erstellen einer Bedienoberfläche mit q4Viz
Abb.3: Erstellen einer Bedienoberfläche mit q4VizBild: qmd4 GmbH

Neue Anforderungen durch IoT und Industrie 4.0

IoT (‚Internet of Things‘) und ‚Industrie 4.0‘ sind seit Jahren schon in aller Munde. Jeder kennt es, und jeder hat das ideale Produkt für IoT. Mit einer kleinen Einschränkung: Fragt man zwei Leute, was IoT ist, so erhält man zumindestens drei (unterschiedliche) Meinungen zum Thema. Für unsere einfache Betrachtungsweise ist IoT einfach ein vernetztes System, in dem (aus Automatisierungssicht) mehrere Automatisierungssysteme (teil)autonome Aufgaben ausführen und hierzu über das IoT Daten untereinander und mit Sensorik und Aktorik austauschen. Zusätzlich können Dienste aus dem ‚echten‘ Internet verwendet werden (z.B. Wetterdaten, Datenlogging,…), was natürlich wieder eine Verbindung zwischen den Geräten im IoT und dem Internet voraussetzt. Der Raspberry Pi fügt sich hervorragend in ein Netzwerk von (teil)autonomen Automatisierungssystemen ein. Eine Netzwerkschnittstelle erlaubt die Kommunikation mit anderen Teilnehmern des IoT-Netzwerks. Das zumeist eingesetzte Linux-Betriebssystem bringt Client- und Server-Software für viele offene und De-Facto-Standards bereits mit sich, allem voran einen stabilen TCP/IP-Stack, sowie Kommunikationsdienste für z.B. http. Durch die Verfügbarkeit von GPIO und weiteren Schnittstellen, wie z.B. I²C oder SPI ist eine kostengünstige Anbindung auch industrietauglicher Ein- und Ausgänge (z.B. nach IEC61131-2) möglich. Für einfache Steuerungsaufgaben reicht meist bereits die Verfügbarkeit robuster Digitalein- und ausgänge. Die Software (das ‚Programmiergerät‘) soll sich ins IoT nahtlos einfügen und unter Ausnutzung offener Standards die Programmierung und Parametrierung des Raspberry Pi als Automatisierungssystem erlauben. Im folgenden beschreiben wir ein reales Automatisierungssystem auf Basis Raspberry Pi, das diese Anforderungen erfüllt.

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Wago GmbH & Co. KG
Bild: Wago GmbH & Co. KG
I/O-System XTR von Wago

I/O-System XTR von Wago

Vor zehn Jahren hieß es bei Wago das erste Mal: XTR. Die Ausführung für „eXTReme“ Umgebungsbedingungen sollte dem Wago I/O System 750 neue Anwendungen und Branchen erschließen. Das betonte die Titelstory des damaligen SPS-MAGAZINs zur Hannover Messe 2014. Eine Dekade später hat die Redaktion bei Wago nachgehakt, ob dieser Plan aufgegangen ist und in welchen Bereichen das XTR-System heute vor allem zu finden ist.

mehr lesen