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

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 change n'envoie que lorsque la charge utile finale diffère de la dernière charge envoyée.

  • Always envoie à 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 :

  1. Si l'entrée Enable est inactive ou vide, rien n'est envoyé.

  2. Si des valeurs valides pour Data et ConnId sont présentes, le bloc convertit Data selon le Data Type sélectionné et ajoute la Line ending choisie.

  3. Si la Send policy est On change, le bloc compare la charge utile préparée à la charge précédente et saute l'envoi si elles sont identiques.

  4. La charge utile en octets préparée est envoyée vers la connexion série référencée par ConnId sans bloquer le reste du système.

📝 Instructions d'utilisation

  1. Créez ou sélectionnez une connexion série et notez son identifiant de connexion.

  2. Fournissez cet identifiant à l'entrée ConnId.

  3. Injectez la valeur que vous souhaitez envoyer dans l'entrée Data.

  4. Réglez le contrôle Data Type pour correspondre à votre donnée (par exemple utilisez HexBytes pour des chaînes hex ou Bytes pour des listes d'octets brutes).

  5. Choisissez la Line ending souhaitée si l'appareil récepteur en attend une.

  6. Utilisez la Send policy pour éviter les répétitions inutiles lors de l'envoi de valeurs constantes.

  7. Basculez Enable pour démarrer ou arrêter l'envoi.

💡 Conseils et astuces

  • Combinez avec Serial Connect / blocs gestionnaires de connexion pour obtenir et gérer les valeurs ConnId.

  • Utilisez String Input ou Number Input pour préparer et valider la Data avant l'envoi.

  • Préformatez des charges complexes avec String Merge ou Data to JSON pour obtenir des chaînes structurées (par ex. messages JSON).

  • Si vous devez enregistrer ou exporter les données envoyées, ajoutez CSV Export ou Image Logger en aval dans votre flux.

  • Pour un envoi conditionnel, combinez avec Logic Input, And, Or ou Greater pour contrôler les transmissions.

  • Pour des ponts de protocole, associez à MQTT Publish ou REST API - Post pour transmettre les données série vers des services réseau.

  • Utilisez Debug Input pour inspecter les charges utiles sortantes durant le développement.

🛠️ Dépannage

  • Rien n'est envoyé : vérifiez que Enable est actif, que Data n'est pas vide et que ConnId référence une connexion active.

  • L'appareil récepteur ignore les messages : vérifiez la Line ending choisie et essayez différentes options (LF, CRLF, CR ou none).

  • Messages identiques non envoyés alors qu'attendus : confirmez que la Send policy est réglée sur Always si vous avez besoin d'envois répétés.

  • Octets inattendus sur la ligne : assurez-vous que le Data Type correspond au format de la valeur fournie (par ex. utilisez HexBytes pour des chaînes hex ou Bytes pour des listes numériques).

Mis à jour