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
EnableWird verwendet, um das Senden zu aktivieren oder zu deaktivieren. Wennfalse, sendet der Block keine Daten.DataDie zu sendende Nutzlast. Akzeptiert Zahlen, Text, Listen, Booleans oder byte-ähnliche Werte, je nach gewählten Steuerelementen.ConnIdDie Kennung der seriellen Verbindung, die verwendet werden soll. Geben Sie dieConnIdan, die von einem Verbindungsmanager-Block bereitgestellt wird.
📤 Ausgänge
Dieser Funktionsblock erzeugt keine Ausgänge.
🕹️ Steuerungen
Data TypeWählen Sie aus, wie das angegebeneDatavor dem Senden konvertiert werden soll. Gängige Optionen sind string, integer, float, boolean sowie byte-/hex-Formate (HexBytes,Bytes).Line endingWählen Sie eine Folge aus, die an die Nutzlast angehängt wird. Typische Optionen: LF, CRLF, CR oder none.Send policyLegt fest, wann gesendet wird:On changesendet nur, wenn die finale Byte-Nutzlast sich von der zuletzt gesendeten unterscheidet.Alwayssendet 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:
Wenn
Enableinaktiv oder leer ist, wird nichts gesendet.Sind gültige Werte für
DataundConnIdvorhanden, konvertiert der BlockDataentsprechend der Einstellung beiData Typeund hängt das gewählteLine endingan.Ist
Send policyaufOn changegesetzt, vergleicht der Block die vorbereitete Nutzlast mit der vorherigen und überspringt das Senden, falls identisch.Die vorbereitete Byte-Nutzlast wird auf die serielle Verbindung gesendet, die durch
ConnIdreferenziert wird — ohne den Rest des Systems zu blockieren.
📝 Nutzungshinweise
Erstellen oder wählen Sie eine serielle Verbindung und merken Sie sich die Verbindungskennung.
Geben Sie diese Kennung in den
ConnId-Eingang.Füttern Sie das gewünschte Sendeformat in den
Data-Eingang.Stellen Sie
Data Typeso ein, dass es zu Ihren Daten passt (z. B.HexBytesfür Hex-Strings oderBytesfür rohe Byte-Listen).Wählen Sie ein
Line ending, falls das Empfangsgerät eines erwartet.Nutzen Sie
Send policy, um unnötige Wiederholungen bei konstanten Werten zu vermeiden.Schalten Sie
Enableein oder aus, um das Senden zu starten oder zu stoppen.
💡 Tipps und Tricks
Kombinieren Sie mit
Serial Connect/ Connection-Manager-Blöcken, umConnId-Werte zu erhalten und zu verwalten.Verwenden Sie
String InputoderNumber Input-Blöcke, umDatavor dem Senden vorzubereiten und zu validieren.Formatieren Sie komplexe Nutzlasten ggf. vorab mit
String MergeoderData 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 ExportoderImage Loggeran.Für bedingtes Senden kombinieren Sie mit
Logic Input,And,OroderGreater, um Übertragungen zu steuern.Für Protokoll-Bridges koppeln Sie mit
MQTT PublishoderREST 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
Enableaktiv ist,Datanicht leer ist undConnIdauf eine aktive Verbindung verweist.Empfangsgerät ignoriert Nachrichten: Überprüfen Sie das gewählte
Line endingund probieren Sie LF, CRLF, CR oder none aus.Identische Nachrichten werden nicht gesendet, obwohl erwartet: Stellen Sie
Send policyaufAlways, wenn wiederholte Senden erforderlich ist.Unerwartete Bytes auf der Leitung: Stellen Sie sicher, dass
Data Typezum bereitgestellten Format passt (z. B.HexBytesfür Hex-Strings oderBytesfür numerische Listen).
Zuletzt aktualisiert