Discussions au sujet de NI LabVIEW

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

Afficher avec une barre de défilement vertical

Résolu !
Accéder à la solution

Bonjour à tous,

 

J'ai un petit problème au niveau de l'affichage. Je m'explique: 

 

Je récupère des données (en communication série) grâce à un VISA READ. Ces données sont ensuite stockées dans la variable "buffer de lecture". jusque la aucun problème, tout s'affiche correctement.

 

En revanche, le problème c'est que j'aimerais garder toutes les lignes qui sont renvoyées, et je ne veux pas qu'il me supprime l'ancienne ligne et récrit la nouvelle ligne par dessus. J'ai essayé de remplacer les CR (carriage return), par des EOL, mais il continue à me réécrire par dessus l'ancienne ligne.

 

Vous trouverez un aperçu de ce que j'ai fait sur les images ci-jointes.

 

Ce que j'aimerais avoir c'est une sorte de buffer avec une barre de défilement vertical qui affiche toute les lignes reçu par le READ.

 

Je pense que le problème vient du fait que je réécrit dans la même variable, et qu'il met a jour cette dernière, mais pourtant dans les options de ma variable, cette options n'est pas cochée (voir l'image). Je ne sais pas comment faire autrement.

 

Merci pour votre aide

Tout télécharger
0 Compliments
Message 1 sur 4
2 178 Visites

En effet en écrivant de nouveau dans buffer de lecture la nouvelle variable lue supprime ce qui s'y trouvé avant.

Afin d'avoir la fonctionnalité que tu souhaites, il faut que tu stockes ajoute la nouvelle lue à ce qui a été reçu, pour cela le plus simple est l'utilisation de la fonction concaténer que tu trouveras dans la palette des chaine de caractère.

Ce sera à toi de gérer ce que tu veux afficher entre deux trames reçue ( espace, saut de ligne, autre)

Il est aussi judicieux de prévoir un mécanisme de remise à zéro du buffer.

Lorsque le buffer deviendra suffisamment grand il sera possible de défiler avec la barre de défilement vertical.

0 Compliments
Message 2 sur 4
2 135 Visites
Solution
Accepté par Koiken

Tu dois utiliser un registre à décalage pour garder en mémoire le contenu des itérations précédentes et concaténer ce contenu avec la nouvelle lecture. Voici un exemple simplifié.

 

Read Cumulative.png

Ben64

Message 3 sur 4
2 121 Visites

Thanks a lot! it worked.

0 Compliments
Message 4 sur 4
2 105 Visites