Dieses Tutorial erklärt, wie der RevPi Connect 4 als Modbus TCP Slave konfiguriert und eine LED über den digitalen Ausgang des Erweiterungsmoduls RevPi DIO gesteuert werden kann. Der Modbus TCP Master 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)
✓ Master-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: Herunterladbar von SourceForge für dieses Beispiel

System einrichten

Stelle sicher, dass:

✓ das RevPi Basismodul und das Master-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 Master-Gerät über ein RJ45-Kabel.

▷ Schalte den RevPi Connect ein, indem du ihn an eine geeignete Spannungsversorgung anschließt.

Schritt 2: Modbus TCP Slaves in PiCtory konfigurieren #

Webstatus login

▷ Füge das Basismodul hinzu und füge den virtuellen Modbus TCP Slave zu deiner Konfiguration hinzu, siehe Geräte anordnen.

▷ Ziehe das Basismodul aus dem Device Catalog auf die virtuelle Hutschiene.

▷ Öffne den Ordner Virtual Devices im Device Catalog.

▷ Ziehe Modbus TCP Slave auf das Basismodul auf der virtuellen Hutschiene.

❯ Der Modbus TCP Slave wird nun in der Konfiguration angezeigt

▷ Konfiguriere den Modbus TCP Slave, siehe Ein- und Ausgänge konfigurieren.

▷ Wähle den Modbus TCP Slave in der Konfiguration aus.

PiCtory config

▷ Stelle die folgenden Parameter im Value Editor ein:

  • TCP Port: 502 (Standardwert gemäß der Modbus-Spezifikation)

  • Max. Modbus TCP Verbindungen: '10' (oder ein anderer geeigneter Wert)

  • Input_1ModbusInput1

  • Output_1ModbusOutput1

PiCtory config
PiCtory Value editor modbus

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 Computer.

Verbindung herstellen

▷ Starte QModMaster.

▷ Gehe zu Optionen  Modbus TCP 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.

RevPi commander starten

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 RevPiCommander.

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 Slave 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.