Serial Write
Ce bloc fonction envoie des données brutes via une connexion série sélectionnée. Il est conçu pour des transmissions simples et non bloquantes et propose des options d'UI pratiques pour convertir des types de données courants, ajouter des terminaisons de ligne et contrôler le comportement de réémission.
📥 Entrées
Enable Utilisé pour activer ou désactiver l'envoi. Lorsque false, le bloc n'envoie rien.
Data La charge utile à envoyer. Accepte des nombres, du texte, des listes, des booléens ou des valeurs de type octet selon les contrôles sélectionnés.
ConnId Identifiant de la connexion série à utiliser. Fournissez l'identifiant de connexion produit par un bloc gestionnaire de connexion.
📤 Sorties
Ce bloc fonction ne produit pas de sorties.
🕹️ Contrôles
Data Type Choisissez comment la Data fournie sera convertie avant l'envoi. Choix courants : string, integer, float, boolean, et formats byte/hex.
Line ending Sélectionnez une séquence terminale à ajouter à la charge utile. Les options incluent généralement LF, CRLF, CR ou none.
Send policy Choisissez quand transmettre :
On changen'envoie que lorsque la charge utile finale diffère de la dernière charge envoyée.Alwaysenvoie à chaque évaluation du bloc lorsqu'il est activé.
🎨 Fonctionnalités
Conversion des types de données pour les formats courants : entrez des valeurs lisibles humainement, le bloc enverra la séquence d'octets correspondante.
Terminaison de ligne configurable pour correspondre aux attentes de l'appareil distant.
Politique d'envoi pour éviter la répétition de messages identiques lorsque ce n'est pas nécessaire.
Comportement d'écriture non bloquant pour que le flux continue de s'exécuter pendant la transmission.
Fonctionne avec des blocs gestionnaires de connexion externes qui fournissent des valeurs
ConnId.
📊 Mécanisme d'exécution
Lors de l'évaluation du bloc :
Si l'entrée
Enableest inactive ou vide, rien n'est envoyé.Si des valeurs valides pour
DataetConnIdsont présentes, le bloc convertitDataselon leData Typesélectionné et ajoute laLine endingchoisie.Si la
Send policyestOn change, le bloc compare la charge utile préparée à la charge précédente et saute l'envoi si elles sont identiques.La charge utile en octets préparée est envoyée vers la connexion série référencée par
ConnIdsans bloquer le reste du système.
📝 Instructions d'utilisation
Créez ou sélectionnez une connexion série et notez son identifiant de connexion.
Fournissez cet identifiant à l'entrée
ConnId.Injectez la valeur que vous souhaitez envoyer dans l'entrée
Data.Réglez le contrôle
Data Typepour correspondre à votre donnée (par exemple utilisezHexBytespour des chaînes hex ouBytespour des listes d'octets brutes).Choisissez la
Line endingsouhaitée si l'appareil récepteur en attend une.Utilisez la
Send policypour éviter les répétitions inutiles lors de l'envoi de valeurs constantes.Basculez
Enablepour démarrer ou arrêter l'envoi.
💡 Conseils et astuces
Combinez avec
Serial Connect/ blocs gestionnaires de connexion pour obtenir et gérer les valeursConnId.Utilisez
String InputouNumber Inputpour préparer et valider laDataavant l'envoi.Préformatez des charges complexes avec
String MergeouData to JSONpour obtenir des chaînes structurées (par ex. messages JSON).Si vous devez enregistrer ou exporter les données envoyées, ajoutez
CSV ExportouImage Loggeren aval dans votre flux.Pour un envoi conditionnel, combinez avec
Logic Input,And,OrouGreaterpour contrôler les transmissions.Pour des ponts de protocole, associez à
MQTT PublishouREST API - Postpour transmettre les données série vers des services réseau.Utilisez
Debug Inputpour inspecter les charges utiles sortantes durant le développement.
🛠️ Dépannage
Rien n'est envoyé : vérifiez que
Enableest actif, queDatan'est pas vide et queConnIdréférence une connexion active.L'appareil récepteur ignore les messages : vérifiez la
Line endingchoisie et essayez différentes options (LF, CRLF, CR ou none).Messages identiques non envoyés alors qu'attendus : confirmez que la
Send policyest réglée surAlwayssi vous avez besoin d'envois répétés.Octets inattendus sur la ligne : assurez-vous que le
Data Typecorrespond au format de la valeur fournie (par ex. utilisezHexBytespour des chaînes hex ouBytespour des listes numériques).
Mis à jour