LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

reduce number of points displayed

Hello,

I have datas from the PXI, which are inserting in an array to be displayed in a waveform chart. The problem is that it uses a  lot of memory of my computer because it displays all the point, point by point. I would like to display only 1 of 10 points for example, or use a buffer to display 10 points by 10 points but I don't succeed. Someone can help me ?

I join my VI but it works with the PXI so I think you can't run it. For my test, the input (6 in trigger respiratoire) is a sine with 0.3Hz for frequency. The interesting part of my program for this question is the sequence in the right of block diagram (the rest is for the communication with the PXI).
0 Kudos
Message 1 of 10
(3,866 Views)
Hello,

All the sub-vis are missing and there are a lot... could you save your VI as a LLB and repost it please ?

Tryin' to help

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

Epictetus

Antoine Chalons

0 Kudos
Message 2 of 10
(3,859 Views)
Yes I join the subVI but they are useless for my question...
0 Kudos
Message 3 of 10
(3,858 Views)

If that is the case, just remove the shift register and insert into array function and  display on the chart, only those points that you are flushing out from the queue.

Since your Chart has its own history buffer, use it to fix the number of points to be displayed

Message 4 of 10
(3,850 Views)
Ok, une petite question : quelle est la taille du tableau qui arrive dans la boucle d'affichage (provenant de la queue) ? Et est elle fixe ?

Si elle n'est pas fixe, il serait peut ĂȘtre bon de faire en sorste qu'elle le soit ; par exemple le PXI envoie sont tableau dans la queue seulement quand elle contient 10 Ă©lĂ©ments et juste aprĂšs l'avoir mis dans la queue, le tableau est vidĂ©. Ainsi la boucle d'affichage recoit des tableaux de dix point dont elle peut par exemple faire la moyenne (ou une moyenne glissante selon le type de donnĂ©e que tu affiches).
Les possibilité sont quasi-infinie, il faut que tu définisses bien ce que tu veux afficher et ne pas mettre trop de point.
De plus, le tableau de la boucle d'affichage grandi indéfiniment... Il faut limiter sa taille !

Hope this helps...

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

Epictetus

Antoine Chalons

0 Kudos
Message 5 of 10
(3,849 Views)
 ...and, to add to Dev's post you can set the Chart History lenght which is 1024 by default 😉


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

Epictetus

Antoine Chalons

0 Kudos
Message 6 of 10
(3,847 Views)
Thank you for your helps.

I tried devchander option but I have got a problem with the charts buffer, in fact I obtain only a part of the waveform, even if I increase the chart history length...


To answer to TiTou, I will use french, it will be easier and he looks like speak french fluently !

Je n'ai pas fixé la taille du tableau. En fait je ne suis pas sure d'avoir bien compris : quand le tableau provenant du PXI contient 10 éléments, j'utilise la fonction "enqueue element", sinon rien ?

Les données recueillies sont en fait la courbe respiratoire d'un patient en temps réel, donc je ne veux pas une moyenne de la courbe mais bien la courbe entiÚre. Mais je suis en suréchantillonnage avec le PXI, et l'affichage par paquets de points ou de seulement quelques points me permettrait de réduire la consommation du processeur !
0 Kudos
Message 7 of 10
(3,835 Views)
 Smiley Very Happy Je suis français, donc oui, j'espĂšre que mon français est comprĂ©hensible 😄

C'est juste que en anglais tu as plus de chance d'obtenir une rĂ©ponse 😉

Pour n'envoyer que des paquets de données de taille constante, dans le PXI, tu peux emplier tes données dans un tableau à chaque acquisition, dÚs que la taille atteint une certaine valeur (à toi de la fixer en fonction de la fréquence d'aqui et de la fréquence de rafraichissement que tu souhaite sur le graph) tu envoies ce paquets de données à la boucle d'affichage et tu vides le tableau (cable un tableau vide).
Dans la boucle d'affichage, tu fais un Preview Queue à fréquencee élevé et tu ne fais un dequeue que lorsque la taille est supérieur à zéro.

C'est plus clair ? Smiley Surprised

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

Epictetus

Antoine Chalons

0 Kudos
Message 8 of 10
(3,829 Views)
J'ai fait ce que tu m'as dit (mise Ă  part l'histoire du preview queue que je n'ai pas comprise :() mais j'ai toujours un problĂšme : mĂȘme en changeant la "chart history length", je n'ai qu'une petite partie de courbe affichĂ©e. En fait, j'utilise un sinus en simulation et j'ai mĂȘme pas un quart de sinus affichĂ©.

A savoir que j'ai dĂ©couvert les queue il y a seulement 1 semaine et que la partie acquisition des donnĂ©es du PXI ne vient pas de moi (je suis seulement stagiaire...) donc je ne maĂźtrise vraiment pas tout 😉

DĂ©solĂ©e de "squatter" le forum ainsi mais je commence vraiment Ă  dĂ©sespĂ©rer 😞

Je te joins le VI modifié grùce à tes explications.
0 Kudos
Message 9 of 10
(3,823 Views)

Bonjour,

 

Il me semble que Titou parle de la fonction « obtenir l’état d’une file d’attente Â». Celle-ci vous renvoie les informations sur l’état actuel de la file d’attente, comme le nombre d’élĂ©ments stockĂ©s par exemple
 Utile donc pour mettre en place un systĂšme de dĂ©clencheur.

Reportez-vous au VI Queue Stack - LIFO dans le rĂ©pertoire labview\examples\general\queue.llb pour obtenir un exemple d'utilisation du nƓud Obtenir l'Ă©tat d'une file d'attente.

En gérant la sortie de votre queue ainsi, vous ne devriez plus rencontrer de problÚme sur votre graphique.

Cordialement,

BRAUD Jean-Philippe
Field Sales Engineer - Nord et Centre France
LabVIEW Certified Developper
0 Kudos
Message 10 of 10
(3,794 Views)