For the complete documentation index, see llms.txt. This page is also available as Markdown.

Serial Read

Dieser Funktionsblock liest die zuletzt empfangene Zeile einer seriellen Verbindung (nicht-blockierend) und konvertiert sie in einen gewählten Datentyp. Er ist darauf ausgelegt, gegen veraltete oder fehlerhafte Eingaben robust zu sein, indem bei Bedarf ein vom Benutzer definierter Standardwert zurückgegeben wird.

📥 Eingänge

  • Enable Boolean-Eingangsbuchse, die das Lesen aktiviert oder deaktiviert.

  • ConnId Generische Eingangsbuchse, die auswählt, von welcher seriellen Verbindung gelesen werden soll (Verbindungskennung).

📤 Ausgänge

  • Data Generische Ausgangsbuchse, die den zuletzt konvertierten Wert sendet (oder den Standardwert, wenn die Daten veraltet sind oder die Konvertierung fehlschlägt).

🕹️ Steuerungen

  • Stale timeout (s) Texteingabe, die festlegt, wie lange auf eine neue Zeile gewartet wird, bevor die Lesung als veraltet betrachtet wird.

  • Data Type Dropdown zur Auswahl des Konvertierungstyps für eingehende Zeilen. Verfügbare Optionen: String, Int, Float, Boolean, HexInt, Bytes.

  • Default (on stale/parse fail) Texteingabe, die den Ersatzwert angibt, der zurückgegeben wird, wenn keine frischen Daten verfügbar sind oder die Konvertierung fehlschlägt. Bei Bytes als Eingabe hexadezimale Zeichen (z. B. AA55) verwenden.

🎯 Funktionen

  • Nicht-blockierendes Lesen der zuletzt verfügbaren Zeile.

  • Erkennung veralteter Daten, damit alte Zeilen nicht unbegrenzt weitergereicht werden.

  • Mehrere Konvertierungstypen mit konfigurierbarem Fallback-Wert.

  • Einfache Ein- und Ausgänge zur Integration in größere Szenarien.

📝 Nutzung

  1. Geben Sie eine Verbindungskennung in ConnId an, die sich auf eine aktive serielle Verbindung bezieht.

  2. Verwenden Sie Enable, um das Lesen zu starten oder zu stoppen, ohne den Block zu entfernen.

  3. Stellen Sie Stale timeout (s) ein, um zu definieren, wie frisch die eingehenden Daten sein müssen.

  4. Wählen Sie den gewünschten Data Type zur Konvertierung der eingehenden Zeilen.

  5. Legen Sie Default (on stale/parse fail) fest, um zu steuern, was der Block ausgibt, wenn keine frischen oder parsebaren Daten vorliegen.

  6. Verwenden Sie die Ausgabe Data in nachgelagerten Blöcken zur Protokollierung, Visualisierung oder Veröffentlichung.

📊 Bewertung

  • Wenn aktiviert, versucht der Block, die zuletzt empfangene Zeile von der ausgewählten Verbindung zu lesen.

  • Wenn innerhalb des konfigurierten Stale-Timeouts keine neue Zeile ankommt, gibt der Block den konfigurierten Standardwert aus.

  • Wenn die Konvertierung in den ausgewählten Datentyp fehlschlägt, gibt der Block den konfigurierten Standardwert aus.

  • Für den Typ Bytes behandelt der Block den Standardwert als hexadezimalen Text.

💡 Tipps und Tricks

  • Verwenden Sie Debug Input, um rohe Ergebnisse während der Entwicklung zu protokollieren oder zu untersuchen.

  • Leiten Sie serielle Messwerte an Data to JSON oder CSV Export weiter für strukturierte Protokollierung oder Batch-Export.

  • Veröffentlichen Sie verarbeitete Werte mit MQTT Publish oder senden Sie sie an einen Webservice mittels REST API - Post.

  • Speichern Sie Werte zur späteren Verwendung mit Data Write Local oder Data Write Global und lesen Sie sie mit den entsprechenden Lese-Blöcken wieder aus.

  • Visualisieren Sie numerische Daten in Echtzeit mit Scope, um Trends oder Anomalien zu beobachten.

  • Kombinieren Sie mit Logic Input oder Vergleichsblöcken, um Aktionen basierend auf eingehenden Werten auszulösen (z. B. Alarm, wenn ein numerischer Messwert einen Schwellenwert überschreitet).

🛠️ Fehlersuche

  • Wenn auf Data keine Daten erscheinen, überprüfen Sie, ob die angegebene ConnId auf eine aktive Verbindung verweist.

  • Wenn die Ausgabe stets der Standardwert ist, erhöhen Sie Stale timeout (s) oder stellen Sie sicher, dass die Quelle aktiv Zeilen sendet.

  • Wenn die Konvertierung für einen numerischen oder booleschen Typ fehlschlägt, prüfen Sie das rohe Textformat vom Gerät und passen Sie den Standardwert entsprechend an.

  • Für den Typ Bytes stellen Sie sicher, dass der Standardwert als gültige hexadezimale Zeichenfolge ohne Leerzeichen oder Nicht-Hex-Zeichen angegeben ist.

Zuletzt aktualisiert