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: Zum Beispiel qModMaster, das auf einem Windows-PC läuft.
-
Passende Kabel mit RJ45-Steckern
-
Stromversorgung für RevPi Connect
Software #
-
Ein 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-Einrichtung #
-
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: Konfiguration des Modbus TCP Slaves in PiCtory #

▷ Ziehe das Basismodul aus dem Gerätekatalog auf die virtuelle Hutschiene.
▷ Öffne den Ordner Virtuelle Geräte im Gerätekatalog.
▷ Ziehe Modbus TCP Slave auf das Basismodul auf der virtuellen Hutschiene.
❯ Der Modbus TCP Slave wird nun in der Konfiguration angezeigt
▷ Wähle den Modbus TCP Slave in der Konfiguration aus.

▷ Setze die folgenden Parameter im Wert-Editor:
-
TCP Port:
502
(Standardwert gemäß der Modbus-Spezifikation). -
Max. Modbus TCP Verbindungen:
10
(oder ein anderer geeigneter Wert).

Schritt 3: Abfragen der CPU-Temperatur #
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, zum Beispiel:
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.
Schreiben von Daten in ein Modbus-Register #
Um die konvertierten Temperaturdaten in ein Modbus-Register zu schreiben, verwende den folgenden Befehl:
piTest –w Output_1,$(/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } ')
Für kontinuierliche Updates führe den Prozess in einer Schleife aus:
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: Abfragen von Daten mit qModMaster #
▷ 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 konfigurieren
▷ Wähle
.▷ Gebe die IP-Adresse des RevPi Connect im Feld Slave IP ein.
▷ Setze den TCP-Port auf 502
(Standard für ModbusTCP-Verbindungen).

Mit dem Modbus verbinden
▷ Klicke auf
, um eine Verbindung mit dem Modbus Slave herzustellen.
Daten abfragen
▷ Klicke auf
, um Daten abzurufen.▷ Die CPU-Temperatur wird in Dezimalform angezeigt, z. B. 487
für 48.7 °C.

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