Comment pouvons-nous aider ?

Print

Lecture et extraction des données d’une trame ASCII envoyée via le port RS232/485 de l’automate ACE

 

Nous allons voir ici comment extraire des données d’une trame ASCII. Dans cet exemple, nous verrons comment extraire des données d’une trame de longueur fixe. Exemple : Commençons par une trame comme celle-ci : *ST,0000,01,9876,5432,1722,0268,01,1377# Nous voulons extraire la valeur en gras :

  • 9876 le niveau de liquide
  • 5432 le niveau de liquide en temps réel
  • 01 l’état de l’alarme

Nous allons mettre en place une sous-routine pour gérer cette lecture et cette extraction.

Ouvrez un nouveau sous-programme avec les données d’entrée/sortie suivantes

  • niveau de liquide
  • niveau de liquide en temps réel
  • état de l’alarme
  • Ouverture du port COM pour l’écoute
  • Vérifie s’il y a un message ou non
    • Si oui, nous passons à l’étape 2
Nous appelons le sous-programme pour convertir la chaîne ASCII en un nombre

  • Transfert de l’ensemble de la trame/chaîne ASCII
  • Nous indiquons la position de la valeur dans la chaîne
  • ensuite, nous récupérons la valeur dans la balise « Number »

Nous devons faire cela pour chaque valeur.

N’oubliez pas de déclarer votre port RS232/485 ACE comme « custom », et non « Modbus » A propos de la sous-routine de conversion ASCII-valeur, vous la trouverez dans le projet Vous pouvez télécharger le projet et ses sous-routines ici