Aus Raspberry Pi Geek 12/2020

Freie SPS-Software für den Raspberry Pi

© Pop Nukoonrat, 123RF

Wir sind die Roboter

Josef Bernhardt und Martin Mohr

Der RasPi eignet sich in Verbindung mit OpenPLC ideal, um Vorgänge in der Industrieanlagensteuerung nachzuvollziehen und zu lernen.

PLC steht als Kürzel für das englische Programmable Logic Controller. PLCs kommen üblicherweise zum Steuern von Industrieanlagen oder in der Hausautomation zum Einsatz. Im deutschen Sprachraum ist die Abkürzung SPS (Speicherprogrammierbare Steuerung) gängig. Da verschiedene Personengruppen PLCs programmieren, kommt es vor, dass sie unterschiedliche Programmierverfahren verwenden. Die lassen sich in drei Gruppen unterteilen:

  • Ein Kontaktplan (KOP) kommt häufig im Elektrohandwerk zum Einsatz, weil sich die Programme wie elektrische Schaltungen aufbauen lassen.
  • Bei einer Funktionsbausteinsprache (FBS) sehen die Programme wie Logikschaltungen aus. Diese Art der Programmierung wählen oft Elektroniker.
  • Wer Quellcode nicht scheut, bevorzugt vermutlich die Programmierung mit einer klassischen textuellen Programmiersprache.

Die Tabelle “OpenPLC-Sprachen” zeigt eine Übersicht der von OpenPLC unterstützten Programmiersprachen. Die Sprache ST spielt dabei eine besondere Rolle, weil die Entwicklergemeide sie häufig nutzt. Hier handelt es sich um eine textuelle Programmiersprache, deren Syntax jener von Pascal ähnelt. Wenn Sie sich intensiver mit ST beschäftigen, empfehlen wir Ihnen die Bücher von Tom Mejer Antonsen [1].

Deutsch

Englisch

Kontaktplan (KOP)

Ladder Logic (LD)

Funktionsbausteinsprache (FBS)

Function Block (FBD)

Anweisungsliste (AWL)

Instruction List (IL)

Strukturierter Text (ST)

Structured Text (ST/SCL)

Ablaufsprache (AS)

Sequential Function Chart (SFC)

Die OpenPLC-Software besteht aus zwei Komponenten. Mit dem Editor erstellen Sie Programme, die die Runtime-Umgebung dann auf der Hardware ausführt. Der Editor steht für Linux und Windows auf der Projekt-Homepage zum Herunterladen bereit [2]. Auf die Runtime-Umgebung für den Raspberry Pi gehen wir später noch genauer ein.

Das Trennen von Editor und Runtime erlaubt es, mit einem Editor beliebig viele unterschiedliche Runtime-Umgebungen zu programmieren. Die von OpenPLC unterstützte Hardware finden Sie in der Tabelle “Geeignete Hardware”.

FreeWave Zumlink Radio

FreeWave ZumIQ

Raspberry Pi

PiXtend

UniPi Industrial Platform

UniPi Neuron PLC

Ein wichtiger Aspekt von Industriesteuerungen besteht im zyklischen Abarbeiten von Programmen. Das bedeutet, dass ein Programm innerhalb einer bestimmten Zeit seinen Zyklus abarbeiten muss, andernfalls kommt es zu einem Fehler. Diese Eigenschaft macht PLCs echtzeitfähig. Zu Beginn eines Zyklus liest das Programm die Eingänge einer Steuerung, an dessen Ende schreibt es die Ausgänge. Diesen Punkt sollten Sie im Hinterkopf behalten, wenn Sie Programme für eine SPS schreiben.

Auf der OpenPLC-Homepage [3] finden sich neben der kompletten Dokumentation auch Anleitungen für den schnellen Einstieg. Für darüber hinausgehende Fragen dient das angegliederte Forum als guter Anlaufpunkt.

Runtime installieren

Für das Einrichten der OpenPLC-Runtime verwenden wir einen RasPi 4. Die Software läuft zwar auch auf älteren Modellen ohne Probleme, die Installation nimmt dort allerdings recht viel Zeit in Anspruch. Als Betriebssystem verwenden wir das aktuelle Raspberry Pi OS [4] mit Desktop und empfohlener Software. Nach dem Einrichten des RasPi installieren Sie OpenPLC. Die dazu nötigen Kommandos zeigt Listing 1.

Listing 1

$ sudo apt update
$ sudo apt upgrade
$ git clone https://github.com/thiagoralves/OpenPLC_v3.git
$ cd OpenPLC_v3
$ ./install.sh rpi

Die ersten beiden Befehle aktualisieren das Betriebssystem und bringen die Software auf den aktuellen Stand, die restlichen Kommandos laden die benötigten Dateien von OpenPLC herunter und starten die eigentliche Installation. Auf dem RasPi 4 dauert sie etwa zehn Minuten.

Nach Abschluss der Installation starten Sie den Mini-Rechner neu. Danach läuft darauf auf Port 8080 ein Webserver, über den Sie auf die OpenPLC-Software zugreifen. Sie melden sich als Benutzer openplc mit dem Passwort openplc an. Der letzte Schritt der Installation besteht darin, die Runtime für den RasPi anzupassen. Das erledigen Sie über den Menüpunkt Hardware (Abbildung 1). Abbildung 2 zeigt die Pin-Belegung der GPIO.

Abbildung 1: In der Web-GUI von OpenPLC wählen Sie das Mapping für den RasPi aus.

Abbildung 1: In der Web-GUI von OpenPLC wählen Sie das Mapping für den RasPi aus.

Abbildung 2: Pinbelegung des GPIO-Headers.

Abbildung 2: Pinbelegung des GPIO-Headers.

Über die Weboberfläche laden Sie auch die SPS-Programme (Endung .ST), die Sie mit dem Editor am PC erstellt haben, auf den RasPi. Der MATIEC-Compiler übersetzt dort dann den SPS-ST-Code in ein C-Programm, das die Software kompiliert und danach ausführt.

Um Programme für OpenPLC zu erstellen, benötigen Sie den Editor. Laden Sie die für Ihr Betriebssystem passende Variante herunter und installieren Sie sie. Die Anleitung dazu finden Sie auf der Download-Seite [2].

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben