Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Recetion de données via liaison série

Bonjour,

Actuellement je développe une application qui repose sur la réception de données via liaison Série, pour l'exploiter sous Labview pour l'affichage sur des gauges et des indicateurs.

j'arrive à recevoir la données via le VI VISA et la lecture de donnée est bonne, mais la trame que je reçoit est variable en taille , elle a la forme suivantes 

 <Heder (2 bytes)><ID-frame><Data-Lengh><Data><CRC> 

d'où la taille de ma trame dépend de l'ID-frame.

Comment je peux développer une idées pour recevoir cette donnée dans un registre ou bien tableau pour tirer l'information utile pour l'afficher?

 

Merci 

0 Compliments
Message 1 sur 31
2 935 Visites

Salut Marouene,

j'imagine que les données utiles sont les data 🙂 et que le reste ne t'intéresse pas!?!?

Le Header, le ID-frame ainsi que Data-Length ont sans doute toujours la même longueur, il te suffirait dans ce cas de les éliminer de la trame complète, il te restera les données (et CRC à éliminer aussi), avec une longueur variable, mais si tu as la trame entière, ça ne pause aucun soucis.

Ou alors, tu as besoin de l'ID-frame pour savoir de quelles données il s'agit, mais le résultat est le même, tu piège l'ID-frame et en fonction de sa valeur, tu traites les données de la manière adéquate.
Si tu pouvais donner un ou deux exemple de trames différentes, ça aiderait 😉

0 Compliments
Message 2 sur 31
2 931 Visites

Merci pour votre réactivité, 

En fait la trame comme j'ai mentionné a la forme suivante :


Header: two byte for frame start mark
Message type: byte informing the type of data present
Data length: one byte informing the size of data being transferred (possible value is from
1 to 255 byte)
Data: the transferred data (number of bytes informed in the previous item)
CRC: 2 byte with the calculated CRC 

 

Mon but est de récupérer chaque trame à part et la mettre dans un un tableau , bien sur à chaque arrivé de trame pour que je puisse exploiter la donnée contenu dedans et l'afficher sur les Gauges.

Le ID-Frame est important car avec celui-ci je peux identifier sur quelle gauge sera l'affichage.

 

J'ai besoin d'une idée ou algorithme ou bien un exemple sous Labview pour l'acquisition de ce type où la trame est variable  si la trame été standard en taille c'est pas difficile mais ma problématique c'est qu'elle est variable .

 

Merci 

0 Compliments
Message 3 sur 31
2 915 Visites

en fait, seules les data changent de taille, le reste ne change pas.
J'imagine que tu reçois la trame sous forme de chaine de caractère, et si c'est le cas, ça ne devrait pas être bien compliqué de scinder les infos, et les mettre dans un tableau si tu veux ou dans toute autre chose.
Je vais voir pour te faire un petit Vi en imaginant une trame quelconque qui répond aux critères.

0 Compliments
Message 4 sur 31
2 903 Visites

Merci , je serai reconnaissant 😉 pour votre exemple 🙂 ça m'aiderai pour avancer.

0 Compliments
Message 5 sur 31
2 898 Visites

quelle version de LV as tu?

0 Compliments
Message 6 sur 31
2 883 Visites

J'ai la dernière Version:  Labview 2017 

0 Compliments
Message 7 sur 31
2 877 Visites

Parfait, ce sera plus simple (encore que c'est pas compliqué d'enrgistrer un Vi pour une version antérieure 🙂 )
Je te file le petit Vi, il extrait les différentes parties de la trame, après, tu en fais ce que tu veux (conversion en valeurs numériques, stockage dans un tableau, tout est permis.
La trame que j'ai immaginée n'est peut-être pas très top, l'idéal serait de partir d'une trame réelle que tu aurais reçu de ta liaison série.

Message 8 sur 31
2 865 Visites

Je vous remercie énormément 🙂 pour l'exemple , je vais l'essayer et vous tenir au courant , ainsi que de poster mon projet complet afin de servir les demandeurs d'aide. 

🙂 

0 Compliments
Message 9 sur 31
2 858 Visites

Je remarque que notre ami Phil est toujours au taquet pour "aider".

C'est très sympa ça ... kudo !

0 Compliments
Message 10 sur 31
2 834 Visites