Dieses Tutorial zeigt dir, wie du Modbus TCP- und Modbus RTU-Master auf einem RevPi Connect+ mit CODESYS Control für Linux ARM oder ARM64 konfigurierst. Die Anwendung liest die Halteregister (0—9) der angeschlossenen Modbus-Slaves aus und schreibt ihre Werte zurück in die Halteregister (10—19).
Voraussetzungen #
Hardware #
✓ RevPi Connect+
✓ Ein Modbus TCP-Slave
✓ Ein Modbus RTU-Slave
Für detaillierte Anleitungen zur Einrichtung deines Systems, siehe Getting Started.
Software #
✓ CODESYS Development System, installiert auf deinem PC
Um ein kompatibles System mit geeigneter Software sicherzustellen, beachte bitte die CODESYS-Systemvoraussetzungen.
Überblick #
Der Gerätebaum in CODESYS wird wie folgt konfiguriert:
-
Modbus TCP-Master: Liest und schreibt auf ein TCP-Slave-Gerät.
-
Modbus RTU-Master: Kommuniziert mit einem seriellen RTU-Slave-Gerät.
-
POU_Modbus: Verarbeitet die Anwendungslogik für das Lesen und Schreiben von Daten.

Anpassung für RevPi Core oder RevPi Compact
Um das Projekt für RevPi Core oder RevPi Compact anzupassen:
▷ Klicke mit der rechten Maustaste auf RevPi Connect im CODESYS-Gerätebaum.
▷ Wähle "Gerät aktualisieren" aus.
▷ Wähle RevPi Core oder RevPi Compact als Ersatz und benenne das Gerät entsprechend um.
Schritt 1: Konfigurieren des Modbus RTU-Serienanschlusses #
Für RevPi Connect oder RevPi Core
-
Bearbeite die Konfigurationsdatei:
sudo nano /etc/CODESYSControl_User
-
Füge folgende Zeile hinzu:
[SysCom] Linux.Devicefile=/dev/ttyUSB
-
Weise die COM-Ports in CODESYS wie folgt zu:
-
/dev/ttyUSB0 → COM-Port 1
-
/dev/ttyUSB1 → COM-Port 2
-
/dev/ttyUSBn → COM-Port n
Wenn ein zusätzlicher USB-485-Konverter angeschlossen ist, muss der korrekte COM-Port identifiziert werden.
+ image::revpi-tutorial-codesys-modbus-tcp-rtu-master-2.png[Project Setting]
-
Für RevPi Compact
-
Standard-RS485-Anschluss:
▷ Bearbeite/etc/CODESYSControl_User
und füge hinzu:[SysCom] Linux.Devicefile=/dev/ttyAMA
-
USB-485-Konverter verwenden:
▷ Füge stattdessen folgende Zeile hinzu:[SysCom] Linux.Devicefile=/dev/ttyUSB
== Schritt 2: Konfigurieren des Modbus RTU-Slaves

-
Richte den RTU-Slave wie folgt ein:
-
Kanal 1: Lese Halteregister
-
Kanal 2: Schreibe mehrere Register
-

-
Stelle sicher, dass die Standardwerte für die ersten 10 Halteregister 12 sind.

-
Ordne diese Kanäle in der POU_Modbus-Logik für den Zugriff auf Anwendungsebene zu.

Schritt 3: Konfigurieren des Modbus TCP-Slaves #
-
Gib die Modbus TCP-Slave-Adresse in der CODESYS-Konfiguration an.

-
Verwende dieselbe Mapping-Logik wie bei Modbus RTU für die Halteregister 0—9 und 10—19.
Schritt 4: Modbus-Slaves simulieren #
Um Modbus TCP- und RTU-Slaves zu simulieren, verwende ModRSsim2:
-
Lade die Anwendung von ModRSsim2 auf SourceForge herunter.
-
Konfiguriere Modbus TCP/RTU-Slaves mit Halteregistern:
-
40001—40010 für Quellendaten
-
40010—40020 für Ziel-Daten
-


Schritt 5: Bereitstellen und Testen #
-
Lade das kompilierte Projekt auf das RevPi Gerät hoch.
-
Führe die Anwendung auf deinem RevPi Basismodul aus.
-
Verifiziere, dass:
-
Daten korrekt aus Halteregistern 0—9 gelesen werden.
-
Daten zurück in Halteregister 10—19 geschrieben werden.
-
Note
|
Standard-RTU-Slave-Konfiguration |
Note
|
Fehlerbehebung |
Note
|
Simulation |
Dieses Setup ermöglicht es, Modbus TCP- und RTU-Master gleichzeitig zu betreiben, wodurch ein robuster Datenaustausch mit Modbus-fähigen Geräten gewährleistet wird.