# Serial Connect

Dieser Funktionsblock öffnet und verwaltet eine serielle (COM) Verbindung. Verwenden Sie ihn, um serielle Geräte zu verbinden, den Verbindungszustand zu überwachen und eine Verbindungskennung bereitzustellen, auf die andere Blöcke verweisen können.

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

Dieser Funktionsblock hat keine Eingänge.

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

`ConnId` Eindeutige Kennung für die geöffnete serielle Verbindung. Verwenden Sie diesen Wert, um die Verbindung aus anderen Blöcken zu referenzieren.

`Connected?` Boolesches Feld, das anzeigt, ob die serielle Verbindung aktuell aktiv ist.

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

`Port` Name des COM-Ports, mit dem verbunden werden soll (z. B. COM3).

`Baud` Übertragungsgeschwindigkeit (z. B. 115200).

`Read timeout (s)` Zeit in Sekunden, die bei Leseoperationen gewartet wird.

`Line delimiter` Wählen Sie die Zeilenendung, die Ihr Gerät verwendet (LF / CRLF / CR).

`AutoReconnect` Schalter, der die automatische Wiederverbindung bei Verbindungsabbruch aktiviert.

`Reconnect interval (s)` Intervall zwischen Wiederverbindungsversuchen, wenn AutoReconnect aktiviert ist.

`Idle disconnect (s)` Leerlaufzeit, nach der die Verbindung automatisch geschlossen wird, um den Port freizugeben.

## 🎨 Funktionen <a href="#features" id="features"></a>

* Automatisches Verbindungsmanagement: Öffnet eine Verbindung mit den konfigurierten Parametern und stellt die `ConnId` anderen Blöcken zur Verfügung.
* Auto-Reconnect: Versucht optional, die Verbindung wiederherzustellen, wenn das Gerät nicht verfügbar ist.
* Idle-Disconnect: Schließt den Port bei Nichtbenutzung, um zu vermeiden, dass das Gerät für andere Anwendungen blockiert wird.
* Menschlich lesbare Einstellungen: Wählen Sie die Newline-Konvention und passen Sie Timeouts an, um das angeschlossene Gerät abzustimmen.

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

1. Stellen Sie die Werte für `Port` und `Baud` so ein, dass sie mit Ihrem Gerät übereinstimmen.
2. Konfigurieren Sie `Read timeout (s)` und `Line delimiter` entsprechend dem Protokoll Ihres Geräts.
3. Aktivieren Sie gegebenenfalls `AutoReconnect` und setzen Sie `Reconnect interval (s)`, wenn der Block sich automatisch von Verbindungsabbrüchen erholen soll.
4. Passen Sie `Idle disconnect (s)` an, damit der Block den Port bei Nichtnutzung schließt.
5. Führen Sie das Szenario aus. Der Block öffnet die Verbindung und liefert `ConnId` und `Connected?`. Verwenden Sie die `ConnId` in anderen Kommunikationsblöcken, die eine Verweiskennung akzeptieren.

## 📊 Bewertung <a href="#evaluation" id="evaluation"></a>

Bei der Ausführung stellt der Block sicher, dass eine serielle Verbindung mit den aktuellen Einstellungen existiert. Ändern sich die Einstellungen, wird die vorherige Verbindung freigegeben und eine neue aufgebaut. Die Ausgänge spiegeln die aktive Verbindungskennung und den aktuellen Verbindungsstatus wider.

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

* Verwenden Sie `Led Output`, um den Zustand von `Connected?` visuell in Ihrer UI darzustellen.
* Verwenden Sie `String Input` oder `Number Input` und `String Merge`, um Befehle zu erstellen, die über die serielle Verbindung gesendet werden.
* Verwenden Sie `Data Write Global` / `Data Read Global`, um `ConnId` oder serielle Ergebnisse ohne direkte Verkabelung mit anderen Teilen Ihres Szenarios zu teilen.
* Leiten Sie serielle Daten in `Data to JSON` oder `CSV Export` weiter, um die Kommunikation für spätere Analysen zu protokollieren.
* Leiten Sie geparste Daten über `MQTT Publish` oder `REST API - Post` an entfernte Systeme weiter, um Cloud-Integration oder Monitoring zu realisieren.
* Verwenden Sie `Debug Input`, um Nachrichten während der Entwicklung Ihres seriellen Workflows zu inspizieren.
* Kombinieren Sie mit `Send Mail`, um E-Mail-Benachrichtigungen auszulösen, wenn die Verbindung abbricht oder bestimmte Nachrichten eintreffen.

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

* Wenn `Connected?` weiterhin false ist: Überprüfen Sie, ob Port und Baud korrekt eingestellt sind; prüfen Sie Gerätetreiber und den Geräte-Manager Ihres Betriebssystems.
* Wenn der Port nicht geöffnet werden kann: Stellen Sie sicher, dass keine andere Anwendung denselben COM-Port verwendet. Schließen Sie andere Programme oder aktivieren Sie dort Idle-Disconnect.
* Wenn Zeilen abgeschnitten oder zusammengeführt erscheinen: Probieren Sie eine andere Einstellung für `Line delimiter` oder erhöhen Sie `Read timeout (s)`.
* Bei häufigen Verbindungsabbrüchen: Aktivieren Sie `AutoReconnect` und erhöhen Sie `Reconnect interval (s)`, um dem Gerät Zeit zur Erholung zu geben.
* Wenn unerwartete Zeichen erscheinen: Prüfen Sie Baudrate und Paritäts-/Serieneinstellungen in der Gerätedokumentation und passen Sie diese an.


---

# 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/serial-connect.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.
