Modbus Write

Dieser Funktionsblock sendet Werte an einen Modbus-Server über einen bereitgestellten Modbus-Client. Verwenden Sie ihn, um Coils oder Holding Registers aus Ihrem Szenariographen zu schreiben.

📥 Eingänge

Enable Dieser boolesche Eingang steuert, ob Schreibvorgänge ausgeführt werden. Wenn er nicht bereitgestellt oder auf False gesetzt ist, versucht der Block nicht zu schreiben.

Modbus Client Dieser Eingang erwartet ein Client-Objekt, das vom Block Modbus Connect erzeugt wurde. Stellen Sie einen gültigen Client bereit, um die Kommunikation zu ermöglichen.

Data Generische Daten zum Schreiben. Akzeptiert einen Einzelwert oder eine Liste (zum Schreiben mehrerer Coils/Register).

📤 Ausgänge

Dieser Funktionsblock erzeugt keine Ausgänge.

🕹️ Steuerungen

Address Geben Sie die Modbus-Register-/Coil-Adresse ein, in die geschrieben werden soll. Verwenden Sie ganzzahlige Werte, die mit Ihrer Geräteadresse übereinstimmen.

Data Type Wählen Sie zwischen Coil und Holding Register, um den zu beschreibenden Modbus-Ressourcentyp festzulegen.

🎯 Funktionen

  • Unterstützt das Schreiben einzelner Werte oder Listen an mehrere Adressen, wenn das Gerät dies erlaubt.

  • Ermöglicht die Auswahl des Zielressourcentyps über ein Dropdown: Coil oder Holding Register.

  • Respektiert den Eingang Enable, sodass Schreiben aus Logik oder Benutzereingaben gesteuert werden kann.

  • Meldet Fehler im Log, falls das Schreiben fehlschlägt, damit Sie Verbindungs- oder Konfigurationsprobleme diagnostizieren können.

⚙️ Ablauf

Wenn der Block ausgeführt wird:

  • Wenn der Eingang Enable False oder nicht vorhanden ist, wird kein Schreibvorgang versucht.

  • Wenn kein Client am Eingang Modbus Client bereitgestellt ist, wird kein Schreiben durchgeführt.

  • Wenn aktiviert und ein gültiger Client vorhanden ist, sendet der Block die bereitgestellten Data an die in Address eingetragene Adresse unter Verwendung des gewählten Data Type.

  • Fehler (Verbindungsprobleme, ungültige Adresse, nicht unterstützte Daten) werden im Log gemeldet, damit Sie entsprechend handeln können.

📝 Nutzungshinweise

  • Fügen Sie einen Block Modbus Connect hinzu und verbinden Sie dessen Ausgabe Modbus Client mit dem Eingang dieses Blocks Modbus Client.

  • Setzen Sie Address auf die Register- oder Coil-Adresse, in die Sie schreiben möchten.

  • Wählen Sie als Data Type Coil für boolean/Coils oder Holding Register für numerische Register.

  • Speisen Sie Ihre Werte in den Eingang Data ein (Einzelwert oder Liste).

  • Verwenden Sie einen Logic Input oder eine andere Steuerung, um Enable zu toggeln, wenn der Schreibvorgang stattfinden soll.

💡 Tipps und Tricks

  • Verwenden Sie Modbus Connect, um einen zuverlässigen Client zu erzeugen, und prüfen Sie die Verbindung mit Modbus Read, bevor Sie schreiben.

  • Steuern Sie den Eingang Enable über einen Logic Input oder eine bedingte Logik (z. B. Equals / Greater), damit Schreibvorgänge nur unter gewünschten Bedingungen erfolgen.

  • Bereiten Sie Schreibwerte mit Number Input vor oder stellen Sie Daten mit Blöcken wie String Merge oder Data Write Global / Data Write Local zusammen, wenn Sie Werte zwischenspeichern müssen.

  • Wenn Sie geschriebene Werte speichern oder exportieren möchten, kombinieren Sie diesen Block mit CSV Export oder REST API - Post, um externe Logs zu führen oder Benachrichtigungen zu senden.

🛠️ Fehlersuche

  • Kein Schreibvorgang: Prüfen Sie, ob der Eingang Enable True ist und ein gültiger Modbus Client verbunden ist.

  • Fehler wegen ungültiger Adresse: Stellen Sie sicher, dass Address eine Ganzzahl innerhalb der Geräteadresskarte ist und zum gewählten Data Type passt.

  • Unerwartetes Datenformat: Für Coil verwenden Sie boolean oder eine Liste von booleans; für Holding Register Zahlen oder eine Liste von Zahlen.

  • Schreibfehler: Überprüfen Sie die Verbindung mit Modbus Read und bestätigen Sie, dass der Server Schreibzugriffe auf die Zieladresse akzeptiert. Prüfen Sie die Logmeldungen für Details.

Zuletzt aktualisiert