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 #

  • Ein Webbrowser (z.B. Google Chrome oder Mozilla Firefox).

Vorbereitung #

Für USB-Verbindung (RevPi Core oder RevPi Connect) #

  1. Schließe einen USB-Anschluss des RevPi Basismoduls an den Adapter an.

  2. Verwende einen D-Sub 9-Stecker, um den Adapter mit den Slave-Geräten zu verbinden.

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

D-sub connector config
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-).

usb RS485

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:

Modbus RevPi connect verkabelung

Verkabelungsbeispiel für RevPi Connect 4

Modbus RevPi connect 4 verkabelung

Schritt 1: Konfigurieren der Hardwareverbindungen #

  1. Schließe das RS485-Netzwerk an:
    Verkabele die A (+) und B (-) Leitungen vom RevPi RS485 Terminal (oder USB-RS485-Adapter) zu den Slave-Geräten.

  2. Weise eindeutige Slave-Adressen zu:
    Jeder Slave muss eine eindeutige Adresse haben. Entnehme das Handbuch des Geräts, um die Adresse zu konfigurieren.

Doppelte Slave-Adressen führen zu Kommunikationsfehlern.

Schritt 2: Konfigurieren des Modbus RTU Masters in PiCtory #

Webstatus login

▷ Ziehe das Basismodul aus dem Gerätekatalog auf die virtuelle Hutschiene.

▷ Öffne den Ordner Virtuelle Geräte im Gerätekatalog.

  • Ziehe Modbus RTU Slave auf das Basismodul auf der virtuellen Hutschiene.
    ❯ Der Modbus RTU Master wird nun in der Konfiguration angezeigt

Modbus RevPi connect 4 wiring
- Wähle den Modbus RTU Master in der Konfiguration aus.
Modbus RevPi connect 4 wiring
  • Stelle die folgenden Parameter im Wert-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: /dev/ttyRS485)

baud_rate

Geschwindigkeit der seriellen Verbindung (Standard: 19200)

parity

Paritätsbit-Konfiguration: Keine, Gerade (Standard), Ungerade

data_bits

Anzahl der Datenbits (Standard: 8)

stop_bits

Anzahl der Stopbits (Standard: 1)

Note

Konfiguriere udev-Regeln für konsistente Gerätedateipfade bei der Verwendung mehrerer Geräte des gleichen Typs.

Schritt 3: Konfigurieren der Modbus-Befehle #

  1. Erweiterte Daten öffnen:
    ▷ Klicke mit der rechten Maustaste auf den Modbus RTU Master in der Konfiguration und wähle Erweiterte Daten.

  2. Modbus-Befehle hinzufügen:

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

Modbus RevPi Connect 4 Verkabelung
Note
  • Für Geräte mit 0-basierter Adressierung erhöhe die Registeradresse um 1 während der Konfiguration.

  • Stelle sicher, dass die Befehle nicht im Prozessabbild überlappen.

  1. Speichern und Zurücksetzen:
    ▷ Klicke auf Datei  Speichern.
    ▷ Klicke auf Werkzeuge  Treiber zurücksetzen, um die Konfiguration anzuwenden.

Fehlerbehebung und Fehlercodes #

Wenn Fehler auftreten, überprüfe das Modbus_Master_Status-Register auf den Fehlercode:

Fehlercode Bedeutung

0x10

Gerät nicht gefunden. Überprüfe die Verkabelung.

0x11

Gerät antwortet nicht. Überprüfe die Konfiguration und Registeradresse.

1

ILLEGAL FUNCTION: Ungültiger Funktionscode.

2

ILLEGAL DATA ADDRESS: Ungültige oder schreibgeschützte Registeradresse.

12

INVALID CRC: Beschädigtes Paket. Überprüfe die Verkabelung und Verbindungen.

110

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

Weitere Ressourcen #