Dieses Tutorial erklärt, wie der RevPi Connect 4 als Modbus TCP Server konfiguriert und eine LED über den digitalen Ausgang des Erweiterungsmoduls RevPi DIO gesteuert werden kann. Der Modbus TCP Client wird mit QModMaster simuliert, und ein Python-Skript unter Verwendung der RevPiModIO-Bibliothek wird entwickelt, um Modbus-Daten an die digitalen Ausgänge zu übertragen.
Voraussetzungen #
Hardware
✓ RevPi Basismodul (z. B. RevPi Connect 4)
✓ Client-Gerät oder Software: z. B. QModMaster, das auf einem Windows-PC läuft
✓ Passende Kabel mit RJ45-Steckern
✓ Stromversorgung für RevPi Connect
Software
✓ Moderner Webbrowser (z. B. Google Chrome oder Mozilla Firefox)
✓ QModMaster von SourceForge
System einrichten
Stelle sicher, dass:
✓ das RevPi Basismodul und das Client-Gerät sich im selben Netzwerk befinden.
✓ die IP-Adressen korrekt konfiguriert sind und die Geräte miteinander kommunizieren können.
Schritt 1: Hardware einrichten #
▷ Verbinde den RevPi Connect mit dem Client-Gerät über ein RJ45-Kabel.
▷ Schalte den RevPi Connect ein, indem du ihn an eine geeignete Spannungsversorgung anschließt.
Schritt 2: Modbus TCP Server in PiCtory konfigurieren #
▷ Füge das Basismodul hinzu und füge den virtuellen Modbus TCP Server zu deiner Konfiguration hinzu, siehe Geräte anordnen.
▷ Ziehe das Basismodul aus dem Gerätekatalog auf die virtuelle Hutschiene.
▷ Öffne den Ordner Virtual Devices im Gerätekatalog.
▷ Ziehe Modbus TCP Slave auf das Basismodul auf der virtuellen Hutschiene.
❯ Der Modbus TCP Server wird nun in der Konfiguration angezeigt
▷ Konfiguriere den Modbus TCP Server, siehe Ein- und Ausgänge konfigurieren.
▷ Wähle den Modbus TCP Server in der Konfiguration aus.
▷ Stelle die folgenden Parameter im Werte-Editor ein:
-
TCP Port:
502(Standardwert gemäß der Modbus-Spezifikation) -
Max. Modbus TCP Verbindungen: '10' (oder ein anderer geeigneter Wert)
-
Input_1→ModbusInput1 -
Output_1→ModbusOutput1
▷ Speichere die Konfiguration und starte den Treiber neu, um die Änderungen anzuwenden.
Schritt 3: Hardware vorbereiten #
▷ Verbinde den RevPi Connect 4 mit dem RevPi DIO über die PiBridge.
▷ Schließe eine LED an einen der digitalen Ausgänge des RevPi DIO an (z. B. RevPi DIO Ausgang 1 oder O_1).
Schritt 4: QModMaster einrichten #
QModMaster installieren
▷ Lade QModMaster von der offiziellen Website herunter und installiere es auf deinem PC.
Verbindung herstellen
▷ Starte QModMaster.
▷ Gehe zu und gib die folgenden Details ein:
-
IP-Adresse: IP-Adresse des RevPi Connect 4
-
Port:
502(Standard für Modbus TCP)
▷ Bestätige die Einstellungen und stelle die Verbindung her.
Modbus-Daten senden
▷ Wähle in QModMaster die Funktion Write Single Register (0x06).
▷ Gib die Adresse des ersten Modbus-Registers ein (z. B. Adresse 0).
▷ Schreibe den Wert 7 (entspricht 0b0000111), um die ersten drei digitalen Ausgänge (RevPi DIO) auf HIGH zu setzen.
Schritt 4: Python-Skript mit RevPiModIO erstellen und hochladen #
Python-Skript erstellen
▷ Schreibe das folgende Python-Skript, um Modbus-Daten zu verarbeiten und die LED zu steuern:
import revpimodio2
import time
# Initialisieren des RevPiModIO-Objekts
rpi = revpimodio2.RevPiModIO(autorefresh=True)
while True:
# Setzen des ModbusOutput1 Wertes auf den Wert von I_1
rpi.io.ModbusOutput_1.value = int(rpi.io.I_1.value)
# Setzen des O_1 Wertes auf den Wert von ModbusInput1
rpi.io.O_1.value = int(rpi.io.ModbusInput_1.value)
# Aktuelle Werte zur Überprüfung ausgeben
print(f"ModbusOutput_1: {rpi.io.ModbusOutput_1.value}, O_1: {rpi.io.O_1.value}")
time.sleep(0.02)
Skript auf den RevPi hochladen
Es gibt zwei Möglichkeiten, das Skript hochzuladen.
Option 1
▷ Verwende den RevPi Commander.
Option 2
Manuell über das Terminal:
▷ Öffne ein Terminal auf dem RevPi oder verbinde dich über SSH.
▷ Erstelle das Skript mit folgendem Befehl:
sudo nano Revpi_DIO_Modbus.py
▷ Füge den Skriptcode ein und speichere die Datei.
▷ Führe das Skript aus mit:
python3 Revpi_DIO_Modbus.py
Zusammenfassung #
In diesem Tutorial hast du gelernt, wie du den RevPi Connect 4 als Modbus TCP Server konfigurierst, eine LED mit dem RevPi DIO steuerst und Daten über QModMaster sendest. Das Python-Skript nutzt die RevPiModIO-Bibliothek, um Modbus-Daten an die Ausgänge des RevPi DIO zu übertragen.
Nun sollten die ersten drei digitalen Ausgänge aktiviert werden, wenn der Wert 7 an das Modbus-Register gesendet wird, wodurch die LED aufleuchtet.