Das RevPi Basismodul kann als Modbus RTU Master fungieren, sodass es mit verschiedenen Modbus RTU Slaves wie Temperatursensoren, Tasten und Bewegungsmeldern kommunizieren kann. Diese Anleitung führt dich durch das Einrichten und Konfigurieren deines RevPi als Modbus RTU Master für robuste industrielle Kommunikation.
Voraussetzungen #
Hardware
✓ RevPi Basismodul (z.B. RevPi Connect 4)
✓ Modbus Slave 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 Slave-Geräten zu verbinden.
▷ Weise die Adresse der Slaves zu und notiere diese.
Falls notwendig, kannst du dazu Informationen in den Herstelleranweisungen finden.
|
Note
|
Wenn du mehrere Slaves verwendest, musst du sicherstellen, dass jeder Slave eine eigene Adresse hat. Wenn zwei oder mehr Slaves 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 Slave-Geräten verkabelst.
▷ Weise eindeutige Slave-Adressen zu.
Nutze das Handbuch des Geräts, um die Adresse zu konfigurieren.
Schritt 2: Modbus RTU Masters in PiCtory konfigurieren #
▷ Füge das Basismodul und den virtuellen Modbus RTU Master 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 Master wird nun in der Konfiguration angezeigt.
▷ Konfiguriere den Modbus RTU Master, siehe Ein- und Ausgänge konfigurieren.
▷ Wähle den Modbus RTU Master in der Konfiguration aus.
▷ Stelle die folgenden Parameter im Value 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 Master in der Konfiguration und wähle Extended Data.
▷ Definiere in der Eingabemaske Befehle, um mit dem Slave zu kommunizieren:
| Parameter | Beschreibung |
|---|---|
Slave Addr. |
Eindeutige Adresse des Slave-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 Slave-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_Master_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: Slave hat nicht geantwortet. |
▷ Zum Zurücksetzen eines Fehlers schreibe manuell 1 in das Master_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 Masters, indem du mehr Master für zusätzliche Werte hinzufügst. |