Zum Hauptinhalt springen

CODESYS-Beispiel: ModbusTCP-RTU-Slave

In diesem Beispiel konfigurierst und betreibst du sowohl einen Modbus TCP-Slave als auch einen Modbus RTU-Slave auf dem RevPi Connect+ mit CODESYS Control für Linux ARM/ARM64. Die Anwendung ist darauf ausgelegt, die ersten 10 Halteregister in die 10 Eingangsregister beider Slaves zu kopieren.

Voraussetzungen

Hardware

✓ RevPi Connect+

✓ 1 Modbus TCP-Slave

✓ 1 Modbus RTU-Slave

Für detaillierte Anleitungen zur Einrichtung deines Systems, sieh dir den Getting Started-Leitfaden an.

Software

✓ CODESYS Development System, installiert auf deinem PC

Um ein kompatibles System mit geeigneter Software sicherzustellen, beachte bitte die CODESYS Systemanforderungen.

Überblick

Die folgende Abbildung gibt einen Überblick über den CODESYS-Gerätebaum für das Setup:

CODESYS Device Tree Overview

Anpassung für RevPi Core oder Compact

Um das Projekt für RevPi Core oder RevPi Compact anzupassen:

▷ Klicke mit der rechten Maustaste auf RevPi Connect im CODESYS-Gerätebaum.

▷ Wähle "Gerät aktualisieren" aus.

▷ Wähle RevPi Core oder RevPi Compact als Ersatz und benenne das Gerät entsprechend um.

Schritt 1: Konfigurieren des Modbus RTU-Serienanschlusses

Für RevPi Connect oder RevPi Core:

  1. Bearbeite die Konfigurationsdatei:

    sudo nano /etc/CODESYSControl_User
  2. Füge folgende Zeile hinzu:

    [SysCom]  
    Linux.Devicefile=/dev/ttyUSB
  3. Weise die COM-Ports in CODESYS wie folgt zu:

    • /dev/ttyUSB0 → COM-Port 1
    • /dev/ttyUSB1 → COM-Port 2
    • /dev/ttyUSBn → COM-Port n

    Wenn ein zusätzlicher USB-485-Konverter angeschlossen ist, muss der korrekte COM-Port identifiziert werden.

Für RevPi Compact:

  • Standard-RS485-Anschluss:
    ▷ Bearbeite /etc/CODESYSControl_User und füge hinzu:
    [SysCom]  
    Linux.Devicefile=/dev/ttyAMA
  • USB-485-Konverter verwenden:
    ▷ Füge stattdessen folgende Zeile hinzu:
    [SysCom]  
    Linux.Devicefile=/dev/ttyUSB

Schritt 2: Konfigurieren des Modbus RTU-Slaves

Configuring Modbus RTU Slave

▷ Ordne die Halteregister und Eingangsregister der Anwendung POU_Modbus zu, um die Daten für die Anwendungslogik zugänglich zu machen.

Configuring Modbus RTU Slave

Schritt 3: Konfigurieren des Modbus TCP-Slaves

Die Konfiguration für den Modbus TCP-Slave ist ähnlich wie für den Modbus RTU-Slave.

Schritt 4: Modbus TCP- und RTU-Master simulieren

  1. Erforderliche Software:

    • Verwende die Anwendung QModMaster für die Simulation. Du kannst sie hier herunterladen.
  2. Funktionalität:

    • Write Multiple Registers: Schreibt Daten in die Halteregister des Slaves.
    • Read Holding Registers: Liest die Daten der Eingangsregister des Modbus TCP-/RTU-Slaves, der auf dem RevPi-Gerät läuft, zurück.

Configuring Modbus RTU Master

Configuring Modbus RTU Master

Schritt 5: Modbus TCP-Unit-ID

  • Die Modbus TCP-Unit-ID erfüllt die gleiche Funktion wie die Slave-ID.
  • Die Unit-ID 255 wird empfohlen, um das Gateway selbst anzusprechen.
  • Wenn du QModMaster verwendest, beachte, dass es Unit-ID 0 anstelle von 255 verwendet, um das Gateway anzusprechen.

Configuring Modbus RTU Master

Configuring Modbus RTU Master