Das RevPi Basismodul kann als Modbus RTU Client fungieren, sodass es mit verschiedenen Modbus RTU Server wie Temperatursensoren, Tasten und Bewegungsmeldern kommunizieren kann. Diese Anleitung führt dich durch das Einrichten und Konfigurieren deines RevPi als Modbus RTU Client für robuste industrielle Kommunikation.
Voraussetzungen #
Hardware
✓ RevPi Basismodul (z. B. RevPi Connect 4)
✓ Modbus Server Geräte (z. B. Sensoren, Aktuatoren)
✓ USB-RS485-Adapter (bei Verwendung der USB-Schnittstelle)
ODER
✓ Eingebautes RS485-Terminal (auf RevPi Connect/Connect 4)
Software
✓ Webbrowser (z. B. Google Chrome oder Mozilla Firefox).
Vorbereitung #
Für USB-Verbindung (RevPi Core oder RevPi Connect)
▷ Schließe einen USB-Anschluss des RevPi Basismoduls an den Adapter an.
▷ Verwende einen D-Sub-9-Stecker, um den Adapter mit den Server-Geräten zu verbinden.
▷ Weise die Adresse der Server zu und notiere diese.
Falls notwendig, kannst du dazu Informationen in den Herstelleranweisungen finden.
|
Note
|
Wenn du mehrere Server verwendest, musst du sicherstellen, dass jeder Server eine eigene Adresse hat. Wenn zwei oder mehr Server dieselbe Adresse haben, treten Kommunikationsfehler auf. |
| Signal | Sub-D Pin |
|---|---|
RS485- |
1 |
RS485+ |
2 |
GND |
5 |
+5V |
6 |
Einige USB-Serial-Adapter haben möglicherweise nur RS485-Datensignalleitungen (D+ und D-).
Für RS485 Terminal (RevPi Connect/Connect 4)
Die RevPi Connect Modelle sind mit einem RS485-Schraubanschluss für den Direktanschluss ausgestattet. Der Anschluss verfügt über:
-
A (+): positive RS485-Leitung.
-
B (-): negative RS485-Leitung.
-
GND: Erdung.
-
Functional Earth: Sicherstellung der Signalintegrität.
▷ Stelle sicher, dass die Verkabelung korrekt ist, um eine robuste und kostengünstige Integration von RS485-Geräten zu ermöglichen.
Der Anschluss hat übliche A/B-Leitungsanschlüsse (besser markiert als D+ und D-) und Referenzanschlüsse (internes GND und Functional Earth über ein 1-MOhm-RC-Netzwerk).
Verkabelungsbeispiel für RevPi Connect:
Verkabelungsbeispiel für RevPi Connect 4
Schritt 1: Konfigurieren der Hardwareverbindungen #
▷ Schließe das RS485-Netzwerk an, indem du die A (+) und B (-) Leitungen vom RevPi RS485 Terminal (oder USB-RS485-Adapter) zu den Server-Geräten verkabelst.
▷ Weise eindeutige Server-Adressen zu.
Nutze das Handbuch des Geräts, um die Adresse zu konfigurieren.
Schritt 2: Modbus RTU Clients in PiCtory konfigurieren #
▷ Füge das Basismodul und den virtuellen Modbus RTU Client 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 Gerätekatalog.
▷ Ziehe Modbus RTU Slave auf das Basismodul auf der virtuellen Hutschiene.
❯ Der Modbus RTU Client wird nun in der Konfiguration angezeigt.
▷ Konfiguriere den Modbus RTU Client, siehe Ein- und Ausgänge konfigurieren.
▷ Wähle den Modbus RTU Client in der Konfiguration aus.
▷ Stelle die folgenden Parameter im Werte-Editor ein:
| Parameter | Beschreibung |
|---|---|
Input_ |
Konfiguriere bis zu 32 Eingabewerte (jeweils 16 Bits) |
Output_ |
Konfiguriere bis zu 32 Ausgabewerte (jeweils 16 Bits) |
device_path_ |
Pfad zur Linux-Gerätedatei (Standard: |
baud_rate_ |
Geschwindigkeit der seriellen Verbindung (Standard: |
parity_ |
Paritätsbit-Konfiguration: Keine, Gerade (Standard), Ungerade |
data_bits_ |
Anzahl der Datenbits (Standard: |
stop_bits_ |
Anzahl der Stopbits (Standard: |
|
Note
|
Konfiguriere |
▷ Speichere die Konfiguration und starte den Treiber neu, um die Änderungen anzuwenden.
Schritt 3: Modbus-Befehle konfigurieren #
▷ Wähle das Kontextmenü des Modbus RTU Client in der Konfiguration und wähle Extended Data.
▷ Definiere in der Eingabemaske Befehle, um mit dem Server zu kommunizieren:
| Parameter | Beschreibung |
|---|---|
Slave Addr. |
Eindeutige Adresse des Server-Geräts. Diese darf nur ein Mal vergeben werden. |
Funktionscode |
Modbus-Funktion (z. B. READ_HOLDING_REGISTERS, WRITE_SINGLE_REGISTER). |
Registeradresse |
Adresse des Modbus-Registers oder Bits (siehe Server-Dokumentation). |
Menge |
Anzahl der zu lesenden oder zu schreibenden Register/Bits. |
Aktionsintervall |
Intervall zwischen den Befehlen (in Millisekunden). |
Gerätwert |
Variablenname im RevPi Prozessabbild für das erste Wort/Bit des Befehls. |
▷ Stelle sicher, dass sich die Befehle im Prozessabbild nicht überschneiden.
|
Note
|
Bei Geräten, die eine 0-basierte Adressierung verwenden, muss die Registeradresse während der Konfiguration um 1 erhöht werden. |
▷ Wähle .
▷ Wähle , um die Konfiguration anzuwenden.
Fehlerbehebung und Fehlercodes #
Wenn Fehler auftreten, überprüfe das Modbus_Client_Status-Register auf den Fehlercode:
| Fehlercode | Bedeutung |
|---|---|
|
Gerät nicht gefunden. Überprüfe die Verkabelung. |
|
Gerät antwortet nicht. Überprüfe die Konfiguration und Registeradresse. |
|
ILLEGAL FUNCTION: Ungültiger Funktionscode. |
|
ILLEGAL DATA ADDRESS: Ungültige oder schreibgeschützte Registeradresse. |
|
INVALID CRC: Beschädigtes Paket. Überprüfe die Verkabelung und Verbindungen. |
|
CONNECTION TIMED OUT: Server hat nicht geantwortet. |
▷ Zum Zurücksetzen eines Fehlers schreibe manuell 1 in das Client_Status_Reset- oder Action_Status_Reset-Register.
|
Note
|
Verwende ein höheres Aktionsintervall bei hoher Systemlast, um Kommunikationsverzögerungen zu vermeiden. |
|
Note
|
Erweitere die Kapazität des Modbus RTU Clients, indem du mehr Client für zusätzliche Werte hinzufügst. |