Konfigurierter Gerätebaum mit Raspberry Pi im Codesys Development System

Konfigurierter Gerätebaum mit Raspberry Pi im Codesys Development System Raspberrypi.org, RS Components, 3S

Im Sommer waren bereits mehr als drei Millionen Raspberry Pi-Boards verkauft. Damit ist der kleine Linux-Rechner eine der erfolgreichsten Plattformen für Übungs-, Lehr- und Privatanwendungen. Mit einem EK von knapp 30 Euro ist das embedded Boards für jeden erschwinglich und bietet zudem die Quelldateien für den Eigenbau. Immer mehr SPS-Anwender fragen sich deshalb: Lassen sich Industrie-Steuerungen in einigen Bereichen durch Raspberry Pi ersetzen?

Damit ein intelligentes Gerät als vollwertige Industrie-Steuerung eingesetzt werden kann, sind jedoch einige Anforderungen zu erfüllen:

  • Die Applikation muss mit in der Automatisierungstechnik etablierten Tools programmierbar sein: Dazu ist auf den Geräten ein IEC-61131-3-Laufzeitsystem für die Abarbeitung des SPS-Programms erforderlich, von denen es mindestens zwei gibt.
  • Der Funktionsumfang muss gängigen Industriesteuerungen entsprechen: Je nach Anforderung müssen I/O-Systeme direkt oder per Feldbus am Gerät verwendet werden können: Der Raspberry Pi bietet dazu Onboard-Schnittstellen. I/O-Module lassen sich per I²C-Bus oder SPI anschließen. Darüber hinaus steht der integrierte Ethernet-Port auch für Ethernet-basierte Feldbussysteme zur Verfügung. Ports für klassische Feldbus-Systeme wie CAN oder Profibus gibt es allerdings nicht, könnten aber mit Zusatzhardware realisiert werden.
  • Soft- und Hardware müssen für den Dauerbetrieb geeignet sein: Per Default wird der Raspberry Pi mit einer offenen Linux-Distribution ohne Echtzeitkernel ausgeliefert. Die interne Realisierung des Ethernet-Ports über eine USB-Schnittstelle ist für harte Echtzeiteigenschaften ungeeignet. Somit sind die Anforderungen an ein zuverlässiges Echtzeitsystem nicht erfüllt.
  • Die Hardware muss für industrielle Anwendungen ausgelegt sein: Je nach Einsatzgebiet sind Anforderungen wie EMV, Rüttel- oder Überspannungsfestigkeit oder garantierter Temperaturbereich zu erfüllen. Dafür ist der Raspberry Pi nicht ausgelegt.
  • Das Betriebssystem und dessen Konfiguration muss so robust sein, dass es nach jedem Spannungsausfall wieder korrekt hochläuft: Nach einem unkontrollierten Power-Down kann die Betriebssystem-Konfiguration fehlerhaft sein, sodass der Raspberry Pi nicht mehr bootet. Diese Eigenschaft ist für industrielle Anwendungen inakzeptabel.

Diese Eigenschaften bedeuten: Raspberry Pi ist – ohne erhebliche Eingriffe – nicht für industrielle Steuerungsanwendungen und deren Anforderungen geeignet.

Dennoch haben die Hersteller von IEC 61131-3 Tools diese Plattform für ihre Systeme erschlossen. Der Grund: Aufgrund der Leistung und Erweiterungsmöglichkeiten bei niedrigsten Kosten ist der Raspberry Pi ideal für alle Lehr- und Übungsaufgaben geeignet. Damit steht eine leistungsfähige Steuerungsplattform zur Verfügung, die mit industriellen Tools projektiert werden kann und die gleichzeitig in das Budget von Auszubildenden und Studenten passt.

Web-Visualisierung über Raspberry Pi von Applikationsdaten einer im Netzwerk verbundenen Soft-SPS. Der Datenaustausch erfolgt per Netzwerkvariablen.

Web-Visualisierung über Raspberry Pi von Applikationsdaten einer im Netzwerk verbundenen Soft-SPS. Der Datenaustausch erfolgt per Netzwerkvariablen. 3S

Raspberry Pi als IEC 61131-3 kompatible Steuerung

Damit sich der Raspberry Pi nach IEC 61131-3 programmieren lässt, benötigt man eine kompatible Soft-SPS. Der einfachste Weg dahin führt über den Codesys-Store, auf dem 3S ein Soft-SPS-Laufzeitsystem bereitstellt (lediglich Registrierung erforderlich). Die Download-Datei beinhaltet eine

Erweiterung für das Codesys Development System mit den Gerätebeschreibungen und Beispielprojekten, ein SD-Karten-Image für Raspberry Pi mit dem Betriebssystem, die darauf angepasste Soft-SPS und Zusatztools zur Vorbereitung des Systems sowie eine Dokumentation.

Weiterhin wird das Codesys Development System als IEC-61131-3 Entwicklungsplattform benötigt, das nach einer Registrierung kostenlos zum Download bereit steht. Hinzu kommt der Win32disk-Imager zum Kopieren der Imagedatei auf die SD-Karte und Erstellung des bootfähigen Image. Das Tool steht ebenfalls kostenlos zum Download bereit:

Wählt man beim Erstellen eines Projekts im Entwicklungssystem den Raspberry Pi als Zielgerät aus, werden sofort alle verfügbaren I/O-Schnittstellen angezeigt. Zudem ermöglichen die installierten Gerätebeschreibungen für Zusatzplatinen wie SRF02, Adafruit PWM, MPU6050, MPU9150, AK8975 die Konfiguration und Verwendung dieser Module in Codesys. Ebenso lassen sich von Codesys unterstützte Feldbusse einfügen, etwa ein Ethercat-Master, Modbus/TCP (Master/Slave) oder einen Ethernet/IP-Scanner.

Das System ist damit bereit für den Einsatz, konkret: Bereits erstellter IEC 61131-3 Programmcode wird in Codesys für die ARM-CPU kompiliert und auf den ausgewählten Raspberry Pi geladen. Nach dem Start der Applikation stehen sämtliche Debugging-Funktionen des Tools zur Verfügung, darunter:

  • das Setzen von konditionalen Breakpoints
  • die Anzeige der Variablenwerte,
  • oder das Aufzeichnen von Variablen mit der Trace- oder Trendfunktion.

Mithilfe der integrierten WebVisu können auch die im Programmiertool erzeugten Visualisierungsscreens auf das Gerät geladen und dann per Web-Browser aufgerufen werden. Damit eignet sich die Lösung auch als Gateway für die Fernbedienung von Steuerungsapplikationen per Tablet oder Smartphone. Ebenso können Steuerungen ohne eigene WebVisu-Implementierung ihre Variablenwerte mit dem Raspberry Pi austauschen und darüber visualisieren.

Lizenzierungsprozess der Soft-SPS per Ticket.

Lizenzierungsprozess der Soft-SPS per Ticket. 3S

Von der Demo- zur Vollversion

Die seit Anfang des Jahres verfügbare Demo-Version der Soft-SPS beendet sich nach zwei Stunden Laufzeit, kann aber beliebig oft gestartet werden. Für Anwendungen in der Lehre oder für Performance-Tests ist das vollkommen ausreichend. Soll die Steuerungsapplikation ohne Unterbrechung und Neustarts laufen, gibt es die dafür erforderliche Lizenz im Codesys-Store. Nach der Kaufabwicklung versendet der Store eine Email mit dem Freischalt-Ticket. Damit kann die erworbene Lizenz direkt vom Development System nach erfolgter Freigabe durch den Lizenzierungsserver auf den Raspberry Pi übertragen werden. Die auf dem Raspberry Pi erstellte Lizenz ist genau an dieses eine Gerät gebunden. Eine Sicherung der Lizenz ist möglich und empfohlen, um die Lizenz zum Beispiel nach einem Update des Images auf dem Gerät wieder zu reaktivieren.

Vom Raspberry Pi zur echten Industriesteuerung

Und wenn mit Raspberry Pi doch industrielle Anwendungen realisiert werden sollen, obwohl die Plattform in der Standardvariante dafür nicht ausgelegt ist?

Raspberry Compute Module

Professional Edition

Die Raspberry Pi Foundation bringt aktuell eine weitere Variante auf den Markt, die sich hauptsächlich an Entwickler professioneller Anwendungen richtet. Wichtigste Änderung bei der Compute Module genannten Raspberry-Plattform ist der Formfaktor: Auf einem Standard DDR2 SODIMM-Modul (67,6 x 30 mm) ist der komplette Rechnerkern implementiert. Der einzige Unterschied: Anstelle eines SD-Karten Slots ist ein 4 Gbyte eMMC Flashchip verbaut. Passend zum CPU-Modul steht ein I/O-Board für den Anschluß der Peripherie zur Verfügung.

Die Industrie-Variante des Raspberry Pi oder ähnliche Baugruppen könnten diese Lücke schließen. Derzeit gibt es zwar kaum angepasste Soft-SPS-Systeme für diese Geräte. In jedem Fall kann die Codesys Soft-SPS auf jede der vergleichbaren Plattformen oder auf selbst entwickelte Geräte portiert werden. Bei der Portierung und Anpassung gibt es verschiedene Erweiterungsmöglichkeiten, zum Beispiel um eigene Schnittstellen, I/O-Treiber oder Laufzeitsystem-Bibliotheken, die den Komfort für industrielle Anwender erhöhen. Bereits verfügbarer Quellcode von Referenzimplementierungen (im Lieferumfang des Toolkits) beschleunigt die Anpassung. Gleichgültig ob der Gerätehersteller auf ein verfügbares Basismodul aufsetzt oder sein Gerät selbst entwickelt – er kann damit die erwähnten Hard- und Softwarenanforderungen wie EMV- und Temperaturfestigkeit sowie Echtzeiteigenschaften berücksichtigen und eine Industrie-Steuerung entwickeln, die den Ansprüchen der Zielapplikationen genügt.

Raspberry Pi B+:

Mehr Funktionen bei geringerem Verbrauch

Seit Juli ist die neue Variante des Raspberry Pi auf dem Markt: Raspberry Pi B+. Gegenüber seinem Vorgänger verfügt der embedded PC über vier statt zwei USB 2.0-Anschlüsse. Darüber hinaus ersetzt ein 40-Pin-GPIO den bisherigen Stecker mit 26-Pins. Die Belegung der ersten 26 Pins ist identisch zum Vorgängermodell, um die Kompatibilität mit dem vorhandenen Zubehör sicherzustellen. Die Anschlüsse sind nun am Rand der Platine positioniert, die nun vier Befestigungsbohrungen hat. Um Platz zu sparen, wurde der FBAS-Anschluss durch eine 3,5mm-Buchse ersetzt. Ein weiterer Pluspunkt des Gerätes ist der Wechsel von Linear- auf Schaltregler, was die Leistungsaufnahme um 20 bis 30 Prozent auf 0,5 W bis 1 W verringert. Identisch geblieben sind die Prozessorleistung (Broadcom BCM2835 700MHz ARM1176JZFS-Prozessor mit FPU und VideoCore IV Dual-Core-GPU) und Arbeitsspeicher (512 MB SDRAM) sowie die anderen Schnittstellen.

SPS IPC Drives 2014
Halle 7, Stand 550