# TwinCAT Write

Dieser Funktionsblock schreibt einen Wert in eine TwinCAT-PLC-Variable über eine bestehende PLC-Verbindung. Verwenden Sie ihn, um numerische, boolesche oder textuelle Werte aus Ihrem Szenario in die SPS zu senden und ein einfaches Erfolgszeichen zu erhalten.

## 📥 Eingänge

* `Connection` — PLC-Verbindungsobjekt (bereitstellen z. B. über einen Kommunikationsblock wie `TwinCAT Connect`).
* `Value` — Der in die PLC-Variable zu schreibende Wert (Zahl, Text, boolean oder strukturierter Wert, abhängig von der PLC-Variable).

## 📤 Ausgänge

* `Success` — Boolean, der anzeigt, ob der Schreibvorgang erfolgreich war.

## 🕹️ Steuerungen

* `Variable Name` — Geben Sie den exakten PLC-Variablennamen/Adresse ein, in die geschrieben werden soll (wie in Ihrem TwinCAT-Projekt definiert).

## ⚙️ Ausführungsablauf

Beim Ausführen dieses Blocks:

1. Liest er die bereitgestellten Eingänge `Connection` und `Value` sowie die Steuerung `Variable Name`.
2. Prüft, ob ein Variablenname, eine gültige Verbindung und ein Wert vorhanden sind.
3. Versucht, den bereitgestellten Wert über die angegebene Verbindung in die spezifizierte PLC-Variable zu schreiben.
4. Gibt `Success` als True aus, wenn der Schreibvorgang erfolgreich abgeschlossen wurde; andernfalls False und es wird eine Fehlermeldung zur Fehlersuche protokolliert.

## 🎯 Funktionen

* Einfacher Schreibvorgang für eine einzelne Variable mit einem klaren booleschen Ergebnis.
* Eingangsflexibel: Akzeptiert generische Werte, sodass numerische, textuelle und boolesche Datenquellen verwendet werden können.
* Fehlerberichterstattung: Informiert, wenn Verbindung, Variablenname oder Wert fehlen bzw. wenn das Schreiben fehlschlägt.

## 📝 Nutzungshinweise

1. Fügen Sie einen PLC-Verbindungsblock wie `TwinCAT Connect` hinzu und konfigurieren Sie ihn.
2. Verbinden Sie die Connection-Ausgabe mit dem Eingang `Connection` dieses Blocks.
3. Stellen Sie den zu schreibenden Wert über einen geeigneten Eingangsblock bereit (z. B. `Number Input` oder `String Input`) und verbinden Sie ihn mit `Value`.
4. Geben Sie den PLC-Variablennamen in der Steuerung `Variable Name` ein.
5. Führen Sie das Szenario aus und prüfen Sie den Ausgang `Success`, um den Schreibvorgang zu bestätigen.

## 💡 Tipps und Tricks

* Verwenden Sie `TwinCAT Connect`, um den Eingang `Connection` zu erstellen und zu liefern.
* Nutzen Sie `Number Input`, `String Input` oder `Logic Input`, um den Eingang `Value` entsprechend dem Variablentyp in der SPS vorzubereiten.
* Überprüfen Sie das Ergebnis nach dem Schreiben, indem Sie dieselbe Variable mit `TwinCAT Read` lesen.
* Wenn der Werttyp unklar ist, leiten Sie die Daten vor dem Schreiben durch `Data Type Converter`, um die Typkompatibilität sicherzustellen.
* Fügen Sie stromaufwärts eine `Debug Input`-Prüfung oder einen `Is None`-Check hinzu, um fehlende oder ungültige Werte zu erkennen und fehlgeschlagene Schreibvorgänge zu vermeiden.
* Protokollieren Sie erfolgreiche Schreibvorgänge oder Fehler z. B. mit `CSV Export` oder `MQTT Publish` für Prüfprotokolle oder Fernüberwachung.

## 🛠️ Fehlersuche

* Wenn `Success` False ist: Überprüfen Sie, ob der Eintrag in `Variable Name` exakt so geschrieben ist wie in der SPS (inkl. Namespaces/Pfade).
* Stellen Sie sicher, dass die angegebene `Connection` aktiv und korrekt konfiguriert ist (Status von `TwinCAT Connect` prüfen).
* Bestätigen Sie, dass der Werttyp zum PLC-Variablentyp passt; konvertieren Sie ggf. den Typ vorab.
* Prüfen Sie die vom Block angezeigten Logs auf aussagekräftige Fehlermeldungen, die bei der Behebung helfen.


---

# 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/twincat-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.
