> 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-connect.md).

# TwinCAT Connect

Dieser Funktionsblock stellt eine Verbindung zu einer TwinCAT-PLC her, sodass andere Blöcke von der PLC lesen oder auf sie schreiben können. Verwenden Sie ihn, um die PLC-Client-Verbindung zu erstellen und aufrechtzuerhalten sowie den Verbindungsstatus an den Rest Ihres Szenarios zu melden.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

Dieser Funktionsblock hat keine Eingangssteckplätze.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

* `Connection` — Der aktive Verbindungs-Handle (zur Verwendung mit nachgelagerten Kommunikationsblöcken).
* `Success` — Boolean, der angibt, ob die Verbindung zur PLC erfolgreich hergestellt wurde.

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

* `AMS ID` — Geben Sie die PLC-AMS-Kennung (Adresse) ein. Wird normalerweise in der PLC-Konfiguration oder vom Systemadministrator bereitgestellt.
* `Port` — Geben Sie die Portnummer für die TwinCAT-Verbindung ein. Ein verbreiteter Standardport ist vorausgefüllt (kann bei Bedarf geändert werden).
* `Timeout (ms)` — Legen Sie das Verbindungs-Timeout in Millisekunden fest. Verwenden Sie größere Werte für langsamere oder entfernte Netzwerke.

Hinweis: Wenn die erforderlichen TwinCAT-Unterstützungsbibliotheken nicht auf dem System vorhanden sind, zeigt der Block eine Meldung in seiner Oberfläche an, dass TwinCAT-Module nicht verfügbar sind und die Verbindung nicht hergestellt werden kann, bis die benötigten Komponenten installiert sind.

## 🎯 Features <a href="#features" id="features"></a>

* Persistenter `Connection`-Ausgang, damit nachgelagerte Blöcke die Verbindung wiederverwenden können, ohne sie neu zu initialisieren.
* `Success` zeigt als Boolean an, ob die Verbindung steht — nützlich für bedingte Abläufe.
* Einfache, beschriftete Steuerfelder für `AMS ID`, `Port` und `Timeout (ms)`.
* Meldet fehlende Systemabhängigkeiten klar, sodass erkennbar ist, wann TwinCAT-Komponenten benötigt werden.

## ⚙️ Running mechanism <a href="#how-it-works" id="how-it-works"></a>

* Beim Ausführen versucht der Block, eine PLC-Verbindung mit den konfigurierten Werten `AMS ID`, `Port` und `Timeout (ms)` herzustellen.
* Bei Erfolg liefert er die etablierte `Connection` über den Ausgang und setzt `Success` auf true. Bei Fehlschlag liefert er eine leere/null-Verbindung und setzt `Success` auf false.
* Der `Connection`-Ausgang kann mit anderen Kommunikations-Blöcken verbunden bleiben, damit diese denselben Link nutzen, ohne immer wieder neue Verbindungen aufzubauen.
* Der Block zeigt in der UI klare Fehlermeldungen an, wenn Konfiguration fehlt oder Systemabhängigkeiten nicht vorhanden sind.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. Tragen Sie Ihre PLC-Adresse in `AMS ID` ein und den Zielport in `Port`.
2. Passen Sie `Timeout (ms)` an, wenn Ihr Netzwerk langsam oder unzuverlässig ist.
3. Führen Sie das Szenario aus und prüfen Sie den `Success`-Ausgang, um die Verbindung zu verifizieren.
4. Verbinden Sie den `Connection`-Ausgang mit Blöcken, die PLC-Lese-/Schreiboperationen durchführen.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Verwenden Sie `TwinCAT Read` und `TwinCAT Write`-Blöcke nach diesem Block, um Lese- und Schreibvorgänge mit der bereitgestellten `Connection` durchzuführen.
* Kombinieren Sie `Logic Input` mit dem `Success`-Ausgang, um PLC-Operationen nur bei aktiver Verbindung freizugeben.
* Nutzen Sie `Debug Input` oder ein Anzeige-/Logging-Block, um Verbindungsstatus oder Fehler während der Entwicklung anzuzeigen.
* Um gelesene Werte zu speichern oder nachzuverarbeiten, verbinden Sie Reader mit `CSV Export` oder `Data Write Global`-Blöcken.
* Wenn Aktionen beim Erscheinen oder Verschwinden der Verbindung ausgelöst werden sollen, verwenden Sie Logikblöcke wie `Rising Edge` oder `Set - Reset` mit dem `Success`-Ausgang.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Meldet der Block, dass TwinCAT-Module nicht verfügbar sind, stellen Sie sicher, dass die TwinCAT-Runtime und die erforderlichen Python-Pakete auf dem Rechner installiert sind und starten Sie die Anwendung neu.
* Bleibt `Success` false, überprüfen Sie, ob `AMS ID` und `Port` korrekt sind und vom Netzwerk aus erreichbar sind.
* Erhöhen Sie `Timeout (ms)` beim Verbinden zu entfernten PLCs oder bei Netzwerk-Latenz.
* Bei intermittierenden Verbindungsabbrüchen bauen Sie eine kleine Logik (z. B. `Delay Step` + `Retry`-Logik mit `Rising Edge`) ein, um Wiederverbindungen gezielt zu versuchen.
