Modbus Read

Dieser Funktionsblock liest Daten von einem Modbus-Server (Coils oder Register) über eine bereitgestellte Modbus-Client-Verbindung. Verwenden Sie die Bildschirmsteuerung, um die Zieladresse, die Anzahl der zu lesenden Werte und den Modbus-Datentyp auszuwählen.

📥 Eingänge

Enable Ein boolesches Gate, das das Lesen zulässt oder verhindert. Wenn False, führt der Block kein Lesen durch und gibt keine Daten zurück.

Modbus Client Geben Sie ein Modbus-Client-Verbindungsobjekt an (in der Regel aus einem Modbus Connect-Block). Der Block verwendet diesen Client zur Kommunikation mit dem Server.

📤 Ausgänge

Data Das Leseergebnis als generische Liste. Bei Register-Lesungen ist dies eine Liste numerischer Registerwerte; bei Coil-/Discrete-Lesungen eine Liste von booleschen Werten. Wenn das Lesen fehlschlägt oder deaktiviert ist, ist die Ausgabe leer/None.

🕹️ Steuerungen

Address Geben Sie die Startadresse (Ganzzahl) am Modbus-Gerät ein, von der gelesen werden soll.

Quantity Geben Sie an, wie viele aufeinanderfolgende Elemente (Register oder Coils) gelesen werden sollen.

Data Type Wählen Sie den Modbus-Datentyp aus, der gelesen werden soll: Coil, Discrete Input, Input Register oder Holding Register.

🎯 Funktionen

  • Unterstützt das Lesen sowohl bitbasierter (Coils/Discrete Inputs) als auch wortbasierter (Input/Holding Registers) Datentypen.

  • Verwendet eine externe Modbus-Client-Verbindung, die über den Eingangsbereich Modbus Client bereitgestellt wird, sodass die Kommunikation von den Block-Einstellungen getrennt bleibt.

  • Liefert einfache numerische und boolesche Ergebnisse als Liste, geeignet zum Protokollieren, Plotten oder zur Weiterverarbeitung.

  • Eingebaute Fehlerberichte zeigen Kommunikationsfehler an, damit Sie reagieren können (z. B. reconnect, retry, alert).

⚙️ Funktionsweise

Wenn der Block aktiv ist, prüft er den Eingang Enable und benötigt einen gültigen Client am Eingang Modbus Client. Er liest den konfigurierten Adressbereich mithilfe des ausgewählten Data Type und gibt die Werte am Ausgang Data zurück. Schlägt das Lesen fehl oder ist der Block deaktiviert, werden keine Daten zurückgegeben und es wird eine hilfreiche Fehlermeldung protokolliert.

💡 Tipps und Tricks

  • Verwenden Sie Modbus Connect, um die erforderliche Modbus Client-Verbindung zu erstellen und bereitzustellen.

  • Steuern Sie, wann gelesen wird, mit Logic Input oder Rising Edge (manueller Trigger oder Einzel-Lesevorgang).

  • Zum Zurückschreiben von Werten an ein Gerät kombinieren Sie mit dem Modbus Write-Block.

  • Protokollieren Sie Messwerte zur späteren Überprüfung mit CSV Export oder speichern Sie sie mit Data Write Local / Data Write Global.

  • Visualisieren Sie numerische Ausgaben in Echtzeit, indem Sie die Ergebnisse in den Scope-Block leiten.

  • Verwenden Sie Debug Input, um während der Einrichtung und Fehlersuche die zurückgegebenen Data zu prüfen.

🛠️ Fehlersuche

  • Keine Daten zurückgegeben: Stellen Sie sicher, dass ein gültiger Client an Modbus Client angeschlossen ist und Enable auf True steht.

  • Falsche Werte oder partielle Lesungen: Überprüfen Sie, ob Address und Quantity im Adressraum des Geräts liegen und die Gerätegrenzen nicht überschreiten.

  • Kommunikationsfehler: Prüfen Sie die Netzwerk-/seriellen Einstellungen über den Modbus Connect-Block und stellen Sie sicher, dass keine andere Anwendung den Zugriff blockiert.

  • Unerwartetes Datenformat: Vergewissern Sie sich, dass Sie den richtigen Data Type (Coils vs. Registers) für die erwarteten Werte ausgewählt haben.

Zuletzt aktualisiert