Zum Hauptinhalt springen

RevPi als Modbus RTU Master

Einleitung

Das RevPi Basismodul kann als Modbus RTU Master fungieren, sodass Sie mit verschiedenen Modbus RTU Slaves wie Temperatursensoren, Tasten und Bewegungsmeldern kommunizieren können. Diese Anleitung führt Sie durch das Einrichten und Konfigurieren Ihres RevPi als Modbus RTU Master für robuste industrielle Kommunikation.

Voraussetzungen

Hardwareanforderungen

  • 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)

Softwareanforderungen

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

Vorbereitung

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

  1. Schließen Sie einen USB-Anschluss des RevPi Basismoduls an den Adapter an.
  2. Verwenden Sie einen D-Sub 9-Stecker, um den Adapter mit den Slave-Geräten zu verbinden.
  3. Weisen Sie die Adresse der Slaves zu und notieren Sie diese. Falls notwendig, können Sie dazu Informationen in den Herstelleranweisungen finden.
info

Wenn Sie mehrere Slaves verwenden, müssen Sie sicherstellen, dass jeder Slave eine eigene Adresse hat. Wenn zwei oder mehr Slaves dieselbe Adresse haben, treten Kommunikationsfehler auf.

D-sub connector config

SignalSub-D Pin
RS485-1
RS485+2
GND5
+5V6

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.

Stellen Sie 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ßen Sie das RS485-Netzwerk an:
    Verkabeln Sie die A (+) und B (-) Leitungen vom RevPi RS485 Terminal (oder USB-RS485-Adapter) zu den Slave-Geräten.
  2. Weisen Sie eindeutige Slave-Adressen zu:
    Jeder Slave muss eine eindeutige Adresse haben. Entnehmen Sie das Handbuch des Geräts, um die Adresse zu konfigurieren.

Hinweis: Doppelte Slave-Adressen führen zu Kommunikationsfehlern.

Schritt 2: Konfigurieren des Modbus RTU Masters in PiCtory

Starten Sie PiCtory.

Webstatus login

Fügen Sie das Basismodul hinzu und fügen Sie den virtuellen Modbus RTU Master zu Ihrer Konfiguration hinzu.

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

▷ Öffnen Sie den Ordner Virtuelle Geräte im Gerätekatalog.

  • Ziehen Sie 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

Konfigurieren Sie den Modbus RTU Master

  • Wählen Sie den Modbus RTU Master in der Konfiguration aus.

Modbus RevPi connect 4 wiring

  • Stellen Sie die folgenden Parameter im Wert-Editor ein: | Parameter | Beschreibung | |----------------------|------------------------------------------------------------------------------------------------------------------------------| | Input | Konfigurieren Sie bis zu 32 Eingabewerte (jeweils 16 Bits). | | Output | Konfigurieren Sie 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). |

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

Speichern Sie die Konfiguration und starten Sie den Treiber neu, um die Änderungen anzuwenden.

Schritt 3: Konfigurieren der Modbus-Befehle

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

  2. Modbus-Befehle hinzufügen:
    ➜ Definieren Sie in der Eingabemaske Befehle, um mit dem Slave zu kommunizieren:

ParameterBeschreibung
Slave Addr.Eindeutige Adresse des Slave-Geräts (stellen Sie sicher, dass keine Duplikate vorhanden sind).
FunktionscodeModbus-Funktion (z.B. READ_HOLDING_REGISTERS, WRITE_SINGLE_REGISTER).
RegisteradresseAdresse des Modbus-Registers oder Bits (siehe Slave-Dokumentation).
MengeAnzahl der zu lesenden oder zu schreibenden Register/Bits.
AktionsintervallIntervall zwischen den Befehlen (in Millisekunden).
GerätwertVariablenname im RevPi-Prozessabbild für das erste Wort/Bit des Befehls.

Modbus RevPi connect 4 verkabelung

hinweis
  • Für Geräte mit 0-basierter Adressierung erhöhen Sie die Registeradresse um 1 während der Konfiguration.
  • Stellen Sie sicher, dass die Befehle nicht im Prozessabbild überlappen.
  1. Speichern und Zurücksetzen:
    ▷ Klicken Sie auf Datei > Speichern.
    ▷ Klicken Sie auf Werkzeuge > Treiber zurücksetzen, um die Konfiguration anzuwenden.

Fehlerbehebung und Fehlercodes

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

FehlercodeBedeutung
0x10Gerät nicht gefunden. Überprüfen Sie die Verkabelung.
0x11Gerät antwortet nicht. Überprüfen Sie die Konfiguration und Registeradresse.
1ILLEGAL FUNCTION: Ungültiger Funktionscode.
2ILLEGAL DATA ADDRESS: Ungültige oder schreibgeschützte Registeradresse.
12INVALID CRC: Beschädigtes Paket. Überprüfen Sie die Verkabelung und Verbindungen.
110CONNECTION TIMED OUT: Slave hat nicht geantwortet.

Zum Zurücksetzen eines Fehlers schreiben Sie manuell 1 in das Master_Status_Reset- oder Action_Status_Reset-Register.

Hinweise und bewährte Verfahren

  • Verwenden Sie ein höheres Aktionsintervall bei hoher Systemlast, um Kommunikationsverzögerungen zu vermeiden.
  • Erweitern Sie die Kapazität des Modbus RTU Masters, indem Sie mehr Master für zusätzliche Werte hinzufügen.

Weitere Ressourcen