# 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 <a href="#inputs" id="inputs"></a>

`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 <a href="#outputs" id="outputs"></a>

Dieser Funktionsblock erzeugt keine Ausgänge.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`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 <a href="#features" id="features"></a>

* 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 <a href="#running-mechanism" id="running-mechanism"></a>

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 <a href="#usage" id="usage"></a>

* 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 <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* 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 <a href="#troubleshooting" id="troubleshooting"></a>

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/german/function-blocks/input-output/communication/modbus-write.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
