Aus Raspberry Pi Geek 12/2018

RasPi steuert Halloween-Geister (Seite 3)

Software

Für das Pixtend-Modul existieren diverse Möglichkeiten zur Programmierung, darunter Python, FHEM, Open PLC, FourZero oder Node-RED. In diesem Projekt fiel die Wahl auf die Codesys-Software, die es erlaubt, handelsübliche SPS (Speicher Programmierbare Steuerung) zu programmieren. Mit der Webvisu-Komponente von Codesys erstellen Sie recht einfach optisch ansprechende Prozessvisualisierungen für den Browser. Die Codesys-Programmierumgebung gibt es derzeit nur für Windows, die Runtime dagegen auch für Linux auf unterschiedlichen Hardware-Plattformen.

Inbetriebnahme

Als ersten Schritt benötigen Sie eine SD-Karte mit der Software. Je nachdem, welches Pixtend Sie verwenden, liegt die SD-Karte samt Software dem Gerät bei. Alternativ laden Sie diese von der Webseite herunter [6]. Im Projekt kommt das Image mit der Software für Codesys zum Einsatz.

Verbinden Sie das Pixtend mit einer 24-Volt-Spannungsquelle und dem lokalen Netzwerk. Wenn Sie im LAN einen DHCP-Server betreiben, holt sich das Modul eine IP-Adresse von selbst. Als ersten Test, ob es arbeitet, versuchen Sie einen Verbindungsaufbau via SSH. Die IP-Adresse ermitteln Sie bei Bedarf über den Router.

Alternativ verwenden Sie dafür einen Netzwerkscanner wie Nmap oder den Advanced IP Scanner für Windows. Bei der Codesys-Software auf dem Image handelt es sich um eine Demoversion mit einer Laufzeit von zwei Stunden. Danach veranlassen Sie auf der Konsole einen Restart mit folgendem Kommando:

sudo /etc/init.d/codesyscontrol restart

Alle Schritte der Inbetriebnahme beschreibt das Quick-Start-Manual [7] im Detail.

Installation

Die Codesys-Software eignet sich für unterschiedliche Typen von Hardware. Das ist Fluch und Segen zugleich. Der Fluch besteht darin, dass es aufwendig ist, die Software zu installieren und zu bedienen. Auf der anderen Seite ist es eine professionelle Entwicklungsumgebung, die über 400 Geräte unterschiedlicher Hersteller unterstützt.

Die Installation der Codesys-Software auf einem Windows-System erfordert einige Downloads und das Einrichten verschiedener Komponenten. Auf der Homepage des Pixtend-Projekts gibt es aber eine gute Anleitung, die alle nötigen Schritte beschreibt [8]. Die Dokumentation des Pixtend-Projektes ist umfassend und führt selbst wenig erfahrene Bastler sicher ans Ziel.

Strukturierter Text

Eine Möglichkeit, eine SPS/PLC zu programmieren besteht im Einsatz der Sprache Strukturierter Text, kurz ST oder STL. In ST geschriebene Programme erinnern an Pascal. Der Funktionsumfang gestaltet sich im Vergleich zu Java oder anderen Hochsprachen aber recht übersichtlich.

Prinzipiell gibt es Kommandos und die Möglichkeit, vorhandene Funktionsblöcke aufzurufen. Verschiedene davon sind bereits vorhanden. Einige wichtige nennt die Tabelle “ST-Funktionen”. Bei Bedarf fügen Sie aber jederzeit eigene hinzu.

ST-Funktionen

Name

Funktion

Variablen

R_TRIG

Steigende Flanken ermitteln

Eingang: CLK (Boolean), Ausgang: Q (Boolean), Q Wahr bei steigender Flanke

F_TRIG

Fallende Flanken ermitteln

Eingang: CLK (Boolean), Ausgang: Q (Boolean), Q Wahr bei fallender Flanke

RS

RS-Flip/Flop (Reset hat Vorrang)

Eingänge: SET (Boolean), RESET1 (Boolean), Ausgang: Q1 (Boolean)

SR

SR-Flip/Flop (Set hat Vorrang)

Eingänge: SET1 (Boolean), RESET (Boolean), Ausgang: Q1 (Boolean)

TON

Einschaltverzögerung

Eingänge: IN (Boolean), PT (Time, Verzögerungszeit), Ausgänge: Q (Boolean), ET (Time, aktuelle Zeit)

TOF

Ausschaltverzögerung

Eingänge: IN (Boolean), PT (Time, Verzögerungszeit), Ausgänge: Q (Boolean), ET (Time, aktuelle Zeit)

CTU

Aufwärtszähler

Eingänge: CU (Boolean), RESET (Boolean), PV (Word, Obergrenze Zähler), Ausgänge: Q (Boolean), CV (Word, aktueller Zählerstand)

CTD

Abwärtszähler

Eingänge: CU (Boolean), RESET (Boolean), PV (Word, Untergrenze Zähle), Ausgänge: Q (Boolean), CV (Word, aktueller Zählerstand)

ST-Programme bestehen immer aus einem Anweisungsteil und einen Deklarationsteil. Der Deklarationsteil definiert alle Variablen mit ihren Typen und intialisiert diese gegebenenfalls. Im Anweisungsteil steht das eigentliche Programm (Abbildung 5).

Abbildung 5: Beispiel für ein ST-Programm, das Sie alternativ mit »ALT«+»F8« starten.

Abbildung 5: Beispiel für ein ST-Programm, das Sie alternativ mit »ALT«+»F8« starten.

Die Operatoren sind sehr ähnlich aufgebaut wie in anderen Programmiersprachen. Es gibt einige Stellen, auf die Sie jedoch achten sollten, weil sie sich etwas anders als üblich verhalten: Zuweisungen nehmen Sie mit := vor, nicht mit einem einfachen Gleichheitszeichen wie etwa bei Java. Logische Operatoren schreiben Sie aus: AND, OR, XOR und NOT. Jede Zeile endet mit einem Semikolon.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 9 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