LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problème d'affichage graph XY

Bonjour à tous,

 

Je débute sur labview et rencontre quelques problèmes pour l'affichage de données en graph XY, plusieurs températures en Y (à partir d'un assistant DaQ) en fonction de leur position en X (positions mises sous forme de tableaux).

 

J'arrive bien à afficher les courbes via l'utilisation du graph XY express, mais les données ne semblent pas se mettre à jour correctement, et lorsque j'augmente la fréquence d'acquisition mes signaux affichés en graph déroulant deviennent de plus en plus bruités. Je travaille à partir de cartes 4353, qui ont une fréquence d'acquisition de 1 Hz. Ce qui explique le bruit, mais sur mes graph XY je dois afficher jusqu'à 25 points, et donc la fréquence d'acquisition de 1Hz ne suffit pas.

 

J'ai pensé utiliser le buffer du vi "xy chart buffer", mais j'avoue être un peu perdu avec les types de données, clusters et tableaux... et ne suis arrivé à rien. Et je ne vois pas comment mettre en place un stockage de données, ou alors au contraire pouvoir augmenter la fréquence mais imposer au graph déroulant de ne prendre qu'1 point/seconde.

 

Je vous donne un vi simplifié en pièce jointe, n'hésitez pas à me demander des précisions,

 

Merci pour votre aide

 

 

 

0 Kudos
Message 1 of 3
(2,154 Views)

Bonjour Nova_R,

 

Bienvenue sur le forum de discussions de National Instruments

 

En ce qui concerne votre digramme il y a plusieurs choses qu'il faudrait modifier, pour que la programmation soit plus "propre" :

 

Vous utilisez une boucle While, mais elle n'est pas cadencée. Vous devez cadencer votre boucle While pour garentir une execution plus stable. Pour cadencer votre boucle il vous suffit de procéder comme suit :

 

cadencement.png

 

Vous trouverez la fonction "attendre multiple de ms" (symbolisée par un métronome) dans la palette Programmation >> Informatiosn Temporelles

 

 

 

Ensuite vous utilisez exclusivement des VI Express, et dans une boucle While. Pour des raisons de performance il est recommandé de ne pas utiliser de VI Express dans une boucle While.

Vous devriez également remplacer chaque VI Express par un code plus optimisé, vous trouverez des codes plus optimisés sous forme d'exemple dans la recherche LabVIEW (Aide >> Recherche d'exemples).

 

Cordialement,

Message 2 of 3
(2,130 Views)

Bonjour Vincent,

 

Merci pour votre réponse rapide.

C'est vrai que j'ai été au plus simple, et plus rapide vu mon niveau en utilisant les VI express.

 

Je vais remodifier mon programme, mais merci pour les informations su le cadencement, je pense que ça devrait régler mon problème.

 

Bonne journée

Nova_R

 

0 Kudos
Message 3 of 3
(2,119 Views)