Dieses Tutorial ist anwendbar mit den Basismodulen

Es beschreibt, wie du mit CODESYS die LEDs eines RevPi Basismoduls steuern kannst. Die Basismodule verfügen über zwei bis fünf frei programmierbare LEDs (A1 … AX) mit bis zu sieben Farben. Die Anwendung lässt die LEDs im Sekundentakt und zyklisch in den jeweils möglichen Farben leuchten.

Für die Basismodule steht dir jeweils ein bereits programmiertes Beispielprojekt in einem GitLab Repository zur Verfügung. Wenn du direkt das fertige Beispielprojekt verwendest, kannst du zu Anwendung ausführen springen.

Vorraussetzungen #

✓ RevPi ist an die Spannungsversorgung angeschlossen.
✓ RevPi ist mit dem Netzwerk verbunden.
✓ CODESYS Development System (CODESYS) ist auf deinem PC installiert.
✓ CODESYS Runtime ist im CODESYS Development System installiert.
✓ RevPi I/O-Treiber ist im CODESYS Development System installiert.
✓ CODESYS ist mit dem RevPi verbunden.
✓ CODESYS Runtime ist auf dem RevPi installiert.

Siehe Dokumentation zu System einrichten.

1. Projekt in CODESYS anlegen #

▷ Öffne CODESYS auf deinem PC.

▷ Erstelle ein neues Standardprojekt mit CODESYS Control for Linux ARM/ARM64 und der gewünschten Programmiersprache.
In den Beispielprojekten wird Structured Text verwendet.

Standard Project

❯ Ein Gerätebaum wird im Fenster Devices erstellt.

▷ Öffne das Kontextmenü auf dem Stammgerät im Gerätebaum.

▷ Wähle Add device.

❯ Unter Miscellaneous mit dem Herstellerfilter KUNBUS GmbH wird eine Liste aller RevPi Geräte angezeigt.

Add Base Module

▷ Wähle das zutreffende RevPi Gerät.

▷ Wähle Add device.

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

Siehe auch Dokumentation zu Projekt mit RevPi Geräten anlegen.

2. Ausgang zuweisen #

Am RevPi ist der Ausgang zur Steuerung der LEDs mit RevPiLED bezeichnet.
Die Zuordnung zwischen LED, Bit und Farbe ist in der Dokumentation der Basismodule jeweils im Abschnitt RevPiLED (OUT) beschrieben.
Siehe auch Wie verwendest du die LEDs der RevPi Basismodule?

▷ Öffne das RevPi Gerät im Gerätebaum.

▷ Gib auf der Registerkarte Mapping im Channel RevPiLED einen benutzerdefinierten Variablennamen ein.

Beispiel am RevPi Connect 5:

Mapping

❯ Dem Ausgang für die LEDs ist eine Variable zugewiesen, die im Programm aufgerufen werden kann, um auf den Ausgang zuzugreifen.

3. Programm schreiben #

▷ Schreibe ein Programm in der gewünschten Programmiersprache und verwende dabei die zugewiesene Variable.

Im Beispielprojekt für den RevPi Connect 5 lautet das Programm in Structured Text:

TON_0(IN:= TRUE AND NOT (TON_0.Q), PT:= T#1S);

IF(TON_0.Q)THEN
	uiModuloRemainder:= uiCounterTON MOD 7;
	CASE uiModuloRemainder OF
		0:
			wRevPiLED:=4681;// Turn A1-A5 LEDs red. Binary value 001001001001001
		1:
			wRevPiLED:=9362;// Turn A1-A5 LEDs green. Binary value 010010010010010
		2:
			wRevPiLED:=18724;// Turn A1-A5 LEDs blue. Binary value 100100100100100
		3:
			wRevPiLED:=14043;// Turn A1-A5 LEDs orange. Binary value 011011011011011
		4:
			wRevPiLED:=28086;// Turn A1-A5 LEDs cyan. Binary value 110110110110110
		5:
			wRevPiLED:=23405;// Turn A1-A5 LEDs magenta. Binary value 101101101101101
		6:
			wRevPiLED:=32767;// Turn A1-A5 LEDs white. Binary value 111111111111111
		ELSE
			wRevPiLED:=0;
	END_CASE;
	uiCounterTON:= uiCounterTON+ 1;
END_IF

4. Anwendung ausführen #

▷ Wähle in der Menüleiste Generate Code (F11), um das Projekt zu übersetzen.

▷ Öffne das Stammgerät.

▷ Wähle in den Communication Settings Scan Network, wähle den RevPi und stelle mit OK die Verbindung zum Gerät her.

▷ Wähle in der Menüleiste Login (Alt+F8), um dich auf dem RevPi anzumelden.

▷ Lege bei der ersten Anmeldung einen Nutzer an, indem du dem Assistenten folgst und Anmeldedaten festlegst.

▷ Melde dich im Fenster Device User Logon auf dem RevPi an.

▷ Bestätige beim ersten Mal das Herunterladen der Anwendung auf den RevPi mit Yes.

▷ Wähle in der Menüleiste ⯈ (F5), um die Anwendung zu starten.

❯❯ Die LEDs des RevPi leuchten im Sekundentakt in jeweils einer anderen Farbe.

Weitere Ressourcen #