Dieses Tutorial erklärt, wie eine einfache blinkende Lampe mit CODESYS auf dem Revolution Pi System erstellt wird. Es enthält Schritt-für-Schritt-Anleitungen und visuelle Hilfsmittel für ein besseres Verständnis.

Zielsetzung #

Eine LED-Lampe soll mithilfe des Revolution Pi Systems und CODESYS jede Sekunde blinken.

Voraussetzungen #

Hardware #

✓ RevPi Core 3
RevPi DIO - digitales I/O-Modul
✓ LED

▷ Schließe die LED an einen beliebigen Ausgangskanal des RevPi DIO an.

▷ Verbinde RevPi Core und RevPi DIO über die PiBridge.

▷ Stelle sicher, dass die Stromversorgung ordnungsgemäß angeschlossen ist.

▷ Betreibe deinen RevPi entweder im Headless-Modus oder schließe Monitor, Maus und Tastatur daran an.

Für detaillierte Anleitungen zur Einrichtung deines Systems, siehe Getting Started.

Softwareanforderungen #

✓ CODESYS Development System, installiert auf deinem PC

Um ein kompatibles System mit geeigneter Software sicherzustellen, beachte bitte die CODESYS-Systemvoraussetzungen.

Schritt 1: Erstellen eines neuen Projekts in CODESYS #

▷ Öffne CODESYS auf deinem PC.

▷ Erstelle ein neues Standardprojekt.

01_project

▷ Wähle CODESYS Control for Linux ARM oder ARM64, je nach deiner Image-Version.

▷ Wähle eine der EN 61131-3 Programmiersprachen für SPS. In diesem Beispiel verwenden wir Ladder Logic Diagram (LD).

01_project

❯ Dadurch wird das Gerätefenster im CODESYS-Editor wie unten gezeigt aktualisiert.

01_project

Schritt 2: Konfigurieren des Gerätestamms #

Eine Standard-POU (Program Organization Unit) PLC_PRG wird erstellt, in der der RevPi Controller in LD programmiert werden kann. PLC_PRG ist bereits so konfiguriert, dass es in der MainTask aufgerufen wird. Es sind keine weiteren Schritte in der Task-Konfiguration erforderlich.

▷ Klicke mit der rechten Maustaste auf das Stammgerät im Gerätefenster.

▷ Wähle Gerät hinzufügen aus.

❯ Unter Miscellaneous mit dem Herstellerfilter KUNBUS GmbH werden die KUNBUS-basierten unterstützten CODESYS-Controller angezeigt.

▷ Wähle RevPi Core 3.

▷ Klicke auf Gerät hinzufügen.

❯ Dies fügt RevPi Core 3 im Gerätebaum hinzu.

01_project

▷ Klicke mit der rechten Maustaste auf RevPi_Core_3_3_S.

▷ Klicke mit der rechten Maustaste auf piBridgeLeft.

Note

Wenn du einen RevPi Connect SE/S/+ verwendest, musst du piBridgeLeft auswählen, da RevPi I/O-Module nur auf der linken Seite des RevPi Connect verwendet werden dürfen.

▷ Klicke erneut auf Gerät hinzufügen.

▷ Navigiere zu den unter Miscellaneous aufgeführten Geräten.

❯ Alle Erweiterungsmodule, die auf der rechten Seite des RevPi Core 3 angeschlossen werden können, werden hier angezeigt.

▷ Wähle RevPi_DIO aus.

▷ Klicke auf Gerät hinzufügen.

❯ Das RevPi DIO wird dem Gerätebaum hinzugefügt.

01_project

Schritt 3: Variablen für das I/O-Modul zuweisen #

▷ Doppelklicke auf RevPi_DIO im Gerätebaum.

▷ Navigiere zur Registerkarte Revolution Pi DIO Module I/O Mapping.

Die verwendeten I/O-Variablen der entsprechenden Erweiterungsmodule können hier benannt werden. Um auf sie zuzugreifen, müssen sie lediglich in einem Programm aufgerufen werden.

▷ Weise der digitalen Ausgabe mit dem Datentyp WORD den Variablennamen wDout zu.

❯ Lampe 1 ist an Kanal 1 der digitalen Ausgabe des RevPi DIO angeschlossen und kann mit dem ersten Bit über den Punktoperator wDout.0 angesprochen werden. Um auf einzelne Bits in einer Variablen mit einem ganzzahligen Datentyp zuzugreifen, verwende folgende Syntax: <variablename>.<bitnumber>.

01_project

Schritt 4: Logik für die blinkende Lampe schreiben #

▷ Doppelklicke auf PLC_PRG im Gerätebaum.

❯ Dies öffnet das Programmfenster PLC_PRG, in dem die Logik (das Programm) für eine blinkende Lampe, die mit dem RevPi DIO verbunden ist, in KOP geschrieben werden soll.

▷ Klicke mit der rechten Maustaste auf Sprosse 1.

▷ Wähle Negierten Kontakt einfügen aus.

01_project

▷ Klicke mit der rechten Maustaste auf das Ende des negierten Kontakts.

▷ Wähle Leere Box einfügen aus.

01_project

▷ Wähle TON im Timer-Funktionsblock aus der CODESYS-Standardbibliothek aus.

01_project

▷ Drücke Enter mit dem Standardnamen TON_0.

01_project

❯ Das Fenster Auto Declare öffnet sich. Hier kannst du die Variable TON als Standard deklarieren.

▷ Klicke auf OK zur Ausführung.

01_project

▷ Füge dann eine Spule auf der rechten Seite von TON_0 ein.

▷ Klicke mit der rechten Maustaste, um ein Netzwerk hinzuzufügen.

▷ Vervollständige die Logik wie unten gezeigt.

TON_0 und TON_1 sind zwei TON-Timer, die mit einer Periode von 1s konfiguriert sind. Lampe1 ist die Ausgabe am RevPi DIO, die wir blinken lassen möchten. Das ET-Feld der Timer kann leer gelassen werden, da es nicht verwendet wird. In Sprosse 1 soll TON_0 Lampe1 nach 1 Sekunde einschalten. Wenn TON_1.Q eingeschaltet (HIGH) ist, wird der NC-Kontakt TON_1.Q geöffnet, wodurch Sprosse 1 auf Logik 0 ausgewertet wird, weshalb Lampe1 für 1 Sekunde wieder ausgeschaltet wird. Die beiden Sprossen helfen also, die Ausgangsvariable Lampe1 periodisch zwischen HIGH (1) und LOW (0) Zuständen mit einer Periode von 1s umzuschalten.

01_project

Schritt 5: RevPi in CODESYS verbinden #

▷ Doppelklicke auf das Stammgerät im CODESYS-Gerätebaum.

▷ Klicke auf die Registerkarte Kommunikationseinstellungen.

▷ Klicke auf Netzwerk scannen, um den RevPi Core3 zu finden.

Dies funktioniert nur, wenn der RevPi Core3 physisch mit deinem Netzwerk verbunden ist und eine installierte CODESYS-Laufzeitumgebung aktiv ist.

▷ Wähle OK, um das erkannte Gerät hinzuzufügen.

01_project

Wenn der vorherige Schritt nicht erfolgreich war, kannst du weitere Untersuchungen durchführen, indem du die Protokolldatei überprüfst.

Note

Um das RevPi Gerät mit dem Scan zu finden, muss CODESYS Control laufen und die Netz-IP-Verbindungseinstellungen sowie die physische Verbindung gültig sein.

▷ Öffne die Registerkarte unter Tools>Update Linux Arm/Arm64.

▷ Gib die gültigen Login-Informationen und die IP-Adresse deines RevPi Core 3 ein.

▷ Wähle Scannen, um die Geräte im Netzwerk zu finden.

▷ Klick auf die Registerkarte System.

▷ Klicke auf Systeminfo.

❯ Hier findest du die Protokolldatei des CODESYS-Controllers unter dem Pfad /tmp/codesyscontrol.log.

01_project

Diese Datei kann auch angezeigt werden, indem eine SSH-Terminalverbindung mit dem RevPi Gerät geöffnet wird. Du kannst sie mit dem folgenden Linux-Befehl anzeigen: cat /tmp/codesyscontrol.log.

▷ Klicke jetzt auf das Login-Symbol, um eine Verbindung zum RevPi Controller herzustellen.

01_project

Wenn du die Anwendung zum ersten Mal herunterlädst, wird folgendes Fenster angezeigt.

▷ Klicke auf Ja.

01_project

Schritt 6: Anwendung ausführen #

▷ Klicke auf die Start-Schaltfläche oder drücke F5. Dadurch wird die Anwendung gestartet.

01_project

❯ Du befindest dich nun im Online-Modus, in dem du die Anwendungslogik zyklisch im Taskzyklus ausgeführt sehen kannst.

❯ Die Lampe, die mit dem RevPi DIO verbunden ist, sollte jetzt jede Sekunde blinken.

01_project

Fehlerbehebung #

  • Wenn der RevPi nicht gefunden wird, prüfe Folgendes:

    • Protokolldatei: /tmp/codesyscontrol.log.

    • Netzwerkverbindung und IP-Adresse.

  • Wenn die LED nicht blinkt: Überprüfe, ob wDout.0 dem richtigen Kanal am RevPi DIO zugeordnet ist.

    • Stelle sicher, dass die Logik in PLC_PRG korrekt implementiert ist.