> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/input-output/communication/twincat-read.md).

# TwinCAT Read

Dieser Funktionsblock liest eine Variable aus einer TwinCAT-PLC und gibt den gelesenen Wert zusammen mit einem Erfolgsindikator aus. Er ist für einfache PLC-Datenabfragen in Automatisierungsszenarien gedacht.

## 📥 Eingänge (sockets)

`Connection` — Generisches PLC-Verbindungsobjekt (bereitstellen z. B. über einen Verbindungsblock wie `TwinCAT Connect`).

## 📤 Ausgänge (sockets)

`Data` — Der aus der PLC gelesene Variablenwert.\
`Success` — Boolean-Flag, das anzeigt, ob der Lesevorgang erfolgreich war.

## 🕹️ Steuerungen

`Variable Name` — Textfeld, in das Sie den Namen der PLC-Variable eingeben, die gelesen werden soll. Dieser Name muss mit dem in der PLC definierten Variablen-Identifier übereinstimmen.

## 🎯 Funktionen

* Einfache PLC-Leseoperation mit klarer Erfolgsmeldung.
* Erwartet eine Verbindung von einem separaten Verbindungsblock, sodass die Verwaltung der Verbindung von Lesevorgängen getrennt bleibt.
* Validiert wichtige Eingaben und meldet klare Fehler, wenn Verbindung oder Variablenname fehlen.

## 📝 How to use

1. Stellen Sie eine PLC-Verbindung zum Eingang `Connection` her. Üblich ist die Verwendung des Blocks `TwinCAT Connect` und das Verbinden seines Ausgangs mit diesem Block.
2. Geben Sie die Ziel-PLC-Variable im Steuerfeld `Variable Name` ein.
3. Starten Sie die Auswertung (manuell oder über Flusssteuerungen). Der Block versucht, die benannte Variable zu lesen und liefert `Data` und `Success`.
4. Verwenden Sie den Ausgang `Success`, um nachgelagerte Logik zu steuern (z. B. Logging oder Speicherung), sodass nur bei gültigen Lesevorgängen gehandelt wird.

## 📊 Runtime behavior

Bei Ausführung prüft der Block, ob eine gültige `Connection` vorhanden ist und ob `Variable Name` nicht leer ist. Fehlt eine dieser Vorgaben, meldet er einen Fehler und setzt `Success` auf false. Bei gültiger Konfiguration führt er den Lesevorgang aus und gibt den Variablenwert auf `Data` sowie ein Boolean auf `Success` aus.

## 💡 Tips and Tricks

* Verwenden Sie `TwinCAT Connect`, um die PLC-Verbindung herzustellen und an `Connection` zu übergeben.
* Kombinieren Sie mit `Rising Edge` oder `Cycle Timer`, um die Lesehäufigkeit zu steuern (z. B. einmal beim Start oder periodisch).
* Senden Sie erfolgreiche Lesevorgänge an `CSV Export` oder `Data to JSON`, um Werte für spätere Analysen zu protokollieren.
* Verwenden Sie `Debug Input` oder `Scope`, um Werte beim Erstellen und Testen zu inspizieren.
* Zum Schreiben von Werten zurück in die PLC koppeln Sie diesen Block mit `TwinCAT Write` und steuern Lese/Schreib-Zeitpunkte mit Logikblöcken (z. B. `Logic Input` oder `Set - Reset`).
* Nutzen Sie `Data Write Local` oder `Data Write Global`, um Werte für andere Teile Ihres Szenarios verfügbar zu machen.

## 🛠️ Fehlersuche

* Bei der Meldung "Connection is not established": Prüfen Sie, ob der Verbindungsblock (z. B. `TwinCAT Connect`) korrekt konfiguriert und verbunden ist.
* Ist `Variable Name` leer, unternimmt der Block keinen Leseversuch — geben Sie einen gültigen PLC-Variablen-Identifier ein.
* Schlägt ein Lesevorgang trotz gültiger Eingaben fehl, prüfen Sie Zugriffsrechte in der PLC, Schreibweise des Variablennamens sowie Netzwerk-/PLC-Status. Nutzen Sie `Debug Input`, um die Rohantwort zu erfassen, und `Success`, um Fehlerpfade zu gestalten.
* Für stabile periodische Abfragen steuern Sie die Lesevorgänge mit Timing-Blöcken wie `Cycle Timer` und ergänzen einfache Retry-Logik mit Logikblöcken.
