Dieses Tutorial erklärt, wie man ein RevPi Basismodul als Modbus-TCP-Slave konfiguriert, um mit einem Modbus-TCP-Master zu kommunizieren. Es enthält Schritt-für-Schritt-Anleitungen zur Einrichtung des RevPi und zum Abfragen von Daten über das Modbus-Protokoll. Dieses Tutorial richtet sich an Fachleute aus der Industrieautomatisierung, IoT-Entwickler und alle, die einen RevPi als Modbus-TCP-Slave in einer vernetzten Umgebung verwenden möchten. Die Konfiguration des RevPi als Modbus-TCP-Slave ermöglicht es externen Modbus-TCP-Mastern, auf die Datenregister des RevPi zuzugreifen und diese zu steuern.

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.

Systemeinrichtung

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 Stromquelle anschließt.

Schritt 2: Modbus TCP Slaves in PiCtory konfigurieren #

Webstatus login

▷ Füge das Basismodul und 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

▷ Setze die folgenden Parameter im Value Editor:

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

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

PiCtory config

Speichere die Konfiguration und starte den Treiber neu, um die Änderungen anzuwenden.

Schritt 3: CPU-Temperatur abfragen #

Die CPU-Temperatur des RevPi Connect kann mit dem folgenden Befehl im Terminal abgefragt werden:

/usr/bin/vcgencmd measure_temp

Die Ausgabe zeigt die Temperatur an, z. B.:

temp = 48.7'C

▷ Um die Daten für die Modbus-Verarbeitung vorzubereiten, konvertiere die Temperatur in das Format x10 °C mit diesem Befehl:

/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } '
487

❯ Dies gibt die Temperatur im geeigneten Format aus, z.B. 487 für 48.7 °C.

Daten in ein Modbus-Register schreiben

▷ Schreibe die konvertierten Temperaturdaten in ein Modbus-Register:

piTest –w Output_1,$(/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } ')

▷ Führe den Prozess in einer Schleife aus, um kontinuierlich zu aktualisieren:

while true; do piTest -w Output_1,$(/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } '); sleep 1; done &

Ausgabe:

Write value 492 dez (=01ec hex) to offset 11.

Write value 498 dez (=01f2 hex) to offset 11.

Write value 492 dez (=01ec hex) to offset 11.

Schritt 4: Daten mit QModMaster abfragen #

▷ Lade QModmaster auf einem Windows-PC herunter und installiere es.

▷ Setze die folgenden Parameter:

  • Modbus Mode: TCP

  • Unit ID: 1

  • Scan Rate (ms): 1000

  • Funktionscode: Read Input Registers (0x04)

  • Startadresse: 0

  • Anzahl der Register: 1

  • Format: Dezimal

qmodmaster config
QModMaster konfigurieren

▷ Wähle Menü  Optionen  ModbusTCP.

▷ Gebe die IP-Adresse des RevPi Connect im Feld Slave IP ein.

▷ Setze den TCP-Port auf 502 (Standard für ModbusTCP-Verbindungen).

qmodmaster config
Mit dem Modbus verbinden

▷ Wähle Befehle  Verbinden, um eine Verbindung mit dem Modbus Slave herzustellen.

qmodmaster config
Daten abfragen

▷ Wähle Befehle  Lesen/Schreiben, um Daten abzurufen.

▷ Die CPU-Temperatur wird in Dezimalform angezeigt, z. B. 487 für 48.7 °C.

qmodmaster config

Modbus-Funktionen #

Das Modbus-Slave-Modul unterstützt die folgenden Modbus-Funktionen:

Funktion Beschreibung

Read Holding Registers (0x03)

Eingabedaten lesen.

Read Input Registers (0x04)

Ausgabedaten lesen.

Write Single Register (0x06)

In ein einzelnes Eingangsregister schreiben.

Write Multiple Registers (0x10)

In mehrere Eingangsregister schreiben.

Weitere Ressourcen #