Discussions au sujet de NI LabVIEW

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

Vitesse affichage graphe deroulant

Bonjour,

 

J'ai un problème de vitesse d'affichage sur un graphe deroulant.

Je m'explique:

Mon VI se decompose comme suit (malheureusement je ne peux pas le poster):

J'ai un modèle à deux boucles (productrice/consommatrice)

Dans ma boucle productrice, je fais une acquisition de 16 voies grâce à un DAQ assistant en mode continu et j'envoie ces données sur une file d'attente (cette boucle est cadencée à freq d'echantillonage/2).

Dans ma boucle consommatrice, je recupère mes données de ma file d'attente, je les dessassemble  et je les regroupe par 4=> j'ai donc 4 fils de données à 4 voies ici.

Je leur fais faire quelques calculs à ces données (des divisions, des additions, filtre ) et ensuite je les affiche dans 4 graphes deroulants (on a donc 4 courbes dans chaque graphe).

 

J'ai trois graphes dont les données sont moins importantes, ou l'echelle des X n'est donc pas en mise a jour auto mais manuelle.

Mon 4ème graphe est plus grand en taille et son echelle de X est en mise à jour automatique en temps absolu. 

 

Mon problème est que ce 4eme graphe prend un certain retard au cours du temps à l'affichage, notemment pour une fréquence d'acquisision du DAQ à 1000Hz (à 100Hz pas de problème). Si je chronomètre mon acquisition sur 1 minute et que je regarde la différence avec le temps écoulé sur le graphe, j'ai envrion 7s de décalage entre les deux (le graphe affiche 53s au lieu de 60).

 

Je sais que le graphe n'est pas fait pour faire de l'affichage en temps réel mais les acquisitions ne seront pas de très longue durée. Si je prend du retard au cours du temps ce n'est pas bien grave mais 7s en 1min c'est enorme.

 

Il ya de plus une chose que je ne comprend pas : Si l'affichage prend du retard, lorsque j'arrête mon acquisition le graphe ne devrait-il pas continuer à se mettre à jour pour les dernières valeurs qu'il resterait dans la file d'attente? (je precise que j'arrête ma boucle consommatrice sur l'erreur du sous VI :" supprimer le premier élément d'une file d'attente", normalement, ma liste devrait se vider jusqu'au bout; ma boucle productrice elle s'arrête à l'appui du bouton stop, ce qui libère la liste)

 

J'aimerais donc savoir si il y aurait un moyen de reduire ce décalage par une astuce de programmation par exemple...

J'ai aussi remarqué que filtrer les données prend beaucoup de temps et ralentit grandement la boucle productrice, mais bon je ne vois pas comment le faire accélerer...

 

0 Compliments
Message 1 sur 12
5 379 Visites

petits conseils pratiques :

- si tu postes dans cette section c'est mieux de poster en anglais

- si tu veux vraiment poster en français, il y a une section francophone

 

Peux tu poster un screenshot de ton code?

 

Pour ta partie acquisition, tu acquiers comment tes données? par paquets? de quelle taille?

D'après ce que tu décris, je me demande si tu acquiers les points 1 par 1, si c'est ça, il faut pas, il faut acquerir par paquet, pour la taille des paquets tu divise ta fréquence d'acquisition par 10 comme ça tu auras 1 paquet toutes les 100ms.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 12
5 357 Visites

Ah oui effectivement.

Du coup saurais-tu comment je pourrais modifier mon message initial afin de tout traduire en anglais?

 

Sinon pour la partie acquisition, c'est en mode continu.

Il faut donc que je règle mon DAQ assistant en acquisition N echantillons c'est ça?

0 Compliments
Message 3 sur 12
5 348 Visites

@mecatronicengineer wrote:

 

Il faut donc que je règle mon DAQ assistant en acquisition N echantillons c'est ça?


oui

 


@mecatronicengineer wrote:

Ah oui effectivement.

Du coup saurais-tu comment je pourrais modifier mon message initial afin de tout traduire en anglais?

 

 


Ben, il est un peu long ton message donc si t'es à l'aise en anglais vas-y et aide toi avec google translate et sinon poste ton message dans la section francophone.

Ah, doit y'avoir un modérateur qui est passé par là, le message est déplacé.

 


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 12
5 344 Visites

Ah bon parfait, pas besoin de traduire...!! Smiley très heureux

 

 

Sinon  merci beacoup pour le tuyau, je vais tester ça et je te ferais un retour.

0 Compliments
Message 5 sur 12
5 339 Visites

Bonjour,

 

Bon ben j'ai fait la modification que tu m'as dit et la plus rien ne fonctionne dans mon porgramme.

J'ai une fontion filtre qui se met en erreur : l'erreur 20020.

 

Si j'enlève cette fonction filtre, mon graphe n'est plus continu, il y a des "trous" toutes les X mesures (j'image que c'est le nombre d'échantillons que j'ai mis dans le DAQ assistant).

 

Est-ce que j'ai loupé une étape?

0 Compliments
Message 6 sur 12
5 315 Visites

tu peux poster ton code?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 7 sur 12
5 307 Visites

Bonjour,

 

Non malheureusement je ne peux pas poster mon VI...

 

Par contre j'ai résolu le problème du filtre donc cela a l'air de fonctionner pour la vitesse de l'affichage, en 2min de mesure il n'y a pas eu de décalage!! super!

Le seul hic c'est que tout mes N echantillons j'ai un espace dans mon graphe, ma courbe n'est pas continue.

Je joint une photo pour visualiser.

image graphe.png

Alors après je balance direct mes données DAQ assistant dans le graphe, peut être qu'il faut passer à une étape intermédaire pour qu'il me mette le tout en continu.

 

 

0 Compliments
Message 8 sur 12
5 284 Visites

Peux tu au moins poster un screenshot de la partie qui gère l'affichage dans le graph?

En fonction du type de graph et du type de données que tu utilises la solution sera différente ; j'espère juste que tu utilises pas des fils bleus Smiley frustré


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 9 sur 12
5 282 Visites

sisi données dynamiques...pourquoi?

c'est un graphe deroulant sinon avec X en mise a jour auto en temps absolu.

je vais ce que je peux faire pour le screen shot.

Merci de ton aide en tout cas.

0 Compliments
Message 10 sur 12
5 279 Visites