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

Serial Write

Dieser Funktionsblock sendet Rohdaten über eine ausgewählte serielle Verbindung. Er ist für einfache, nicht blockierende Übertragungen ausgelegt und bietet benutzerfreundliche UI-Optionen zum Konvertieren gängiger Datentypen, Anhängen von Zeilenenden und Steuern des Wiederübertragungsverhaltens.

📥 Eingänge

  • Enable Wird verwendet, um das Senden zu aktivieren oder zu deaktivieren. Wenn false, sendet der Block keine Daten.

  • Data Die zu sendende Nutzlast. Akzeptiert Zahlen, Text, Listen, Booleans oder byte-ähnliche Werte, je nach gewählten Steuerelementen.

  • ConnId Die Kennung der seriellen Verbindung, die verwendet werden soll. Geben Sie die ConnId an, die von einem Verbindungsmanager-Block bereitgestellt wird.

📤 Ausgänge

Dieser Funktionsblock erzeugt keine Ausgänge.

🕹️ Steuerungen

  • Data Type Wählen Sie aus, wie das angegebene Data vor dem Senden konvertiert werden soll. Gängige Optionen sind string, integer, float, boolean sowie byte-/hex-Formate (HexBytes, Bytes).

  • Line ending Wählen Sie eine Folge aus, die an die Nutzlast angehängt wird. Typische Optionen: LF, CRLF, CR oder none.

  • Send policy Legt fest, wann gesendet wird:

    • On change sendet nur, wenn die finale Byte-Nutzlast sich von der zuletzt gesendeten unterscheidet.

    • Always sendet bei jeder Auswertung, sofern aktiviert.

🎨 Funktionen

  • Konvertierung von Datentypen für gängige Formate, sodass Sie benutzerfreundliche Werte eingeben und der Block die entsprechende Byte-Sequenz sendet.

  • Optionales, konfigurierbares Zeilenende, um Erwartungen des Empfangsgeräts zu erfüllen.

  • Send-Policy, um das wiederholte Senden identischer Nachrichten zu vermeiden.

  • Nicht-blockierendes Schreibverhalten, sodass der Fluss während der Übertragung weiterläuft.

  • Arbeitet mit externen Connection-Manager-Blöcken zusammen, die ConnId-Werte bereitstellen.

📊 Ausführungsmechanismus

Beim Auswerten des Blocks passiert Folgendes:

  1. Wenn Enable inaktiv oder leer ist, wird nichts gesendet.

  2. Sind gültige Werte für Data und ConnId vorhanden, konvertiert der Block Data entsprechend der Einstellung bei Data Type und hängt das gewählte Line ending an.

  3. Ist Send policy auf On change gesetzt, vergleicht der Block die vorbereitete Nutzlast mit der vorherigen und überspringt das Senden, falls identisch.

  4. Die vorbereitete Byte-Nutzlast wird auf die serielle Verbindung gesendet, die durch ConnId referenziert wird — ohne den Rest des Systems zu blockieren.

📝 Nutzungshinweise

  1. Erstellen oder wählen Sie eine serielle Verbindung und merken Sie sich die Verbindungskennung.

  2. Geben Sie diese Kennung in den ConnId-Eingang.

  3. Füttern Sie das gewünschte Sendeformat in den Data-Eingang.

  4. Stellen Sie Data Type so ein, dass es zu Ihren Daten passt (z. B. HexBytes für Hex-Strings oder Bytes für rohe Byte-Listen).

  5. Wählen Sie ein Line ending, falls das Empfangsgerät eines erwartet.

  6. Nutzen Sie Send policy, um unnötige Wiederholungen bei konstanten Werten zu vermeiden.

  7. Schalten Sie Enable ein oder aus, um das Senden zu starten oder zu stoppen.

💡 Tipps und Tricks

  • Kombinieren Sie mit Serial Connect / Connection-Manager-Blöcken, um ConnId-Werte zu erhalten und zu verwalten.

  • Verwenden Sie String Input oder Number Input-Blöcke, um Data vor dem Senden vorzubereiten und zu validieren.

  • Formatieren Sie komplexe Nutzlasten ggf. vorab mit String Merge oder Data to JSON, wenn Sie strukturierte Strings (z. B. JSON) senden möchten.

  • Wenn Sie gesendete Daten protokollieren möchten, hängen Sie nachgelagerte Blöcke wie CSV Export oder Image Logger an.

  • Für bedingtes Senden kombinieren Sie mit Logic Input, And, Or oder Greater, um Übertragungen zu steuern.

  • Für Protokoll-Bridges koppeln Sie mit MQTT Publish oder REST API - Post, um serielle Daten an Netzwerkdienste weiterzuleiten.

  • Nutzen Sie Debug Input, um ausgehende Nutzlasten während der Entwicklung zu prüfen.

🛠️ Fehlersuche

  • Es wird nichts gesendet: Prüfen Sie, ob Enable aktiv ist, Data nicht leer ist und ConnId auf eine aktive Verbindung verweist.

  • Empfangsgerät ignoriert Nachrichten: Überprüfen Sie das gewählte Line ending und probieren Sie LF, CRLF, CR oder none aus.

  • Identische Nachrichten werden nicht gesendet, obwohl erwartet: Stellen Sie Send policy auf Always, wenn wiederholte Senden erforderlich ist.

  • Unerwartete Bytes auf der Leitung: Stellen Sie sicher, dass Data Type zum bereitgestellten Format passt (z. B. HexBytes für Hex-Strings oder Bytes für numerische Listen).

Zuletzt aktualisiert