LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Tracer graphique température

Solved!
Go to solution

Bonjour.

Je suis enseignant et ultra novice avec Labview,

J'ai souhaité faire un .exe pour que mes élèves puissent voir en temps réel le tracé d'un graphique montrant la température en fonction du temps (expériences de changement d'état de l'eau par exemple).

L'acquisition des données se fait avec un arduino et une sonde ds18b20. Les élèves programment l'arduino à l'aide de mblock. Les valeurs de température sont affichées sur le port série.

Avec Labview, j'ai fait (ou plutôt copié sur la toile puis arrangé à ma façon) un VI qui récupère les données du port série et affiche la température et trace le graphique de son évolution au cours du temps.

Tout marche bien, mais je suis têtu et perfectionniste.

Le problème, c'est que j'initialise le registre à décalage avec une valeur (0 dans cet exemple) et donc, le premier point sur le graphique a pour valeur 0.

Ci-joint une copie d'écran du graphe et mon VI.

Comment faire pour que la première valeur sur le graphique soit bien une mesure et non une valeur arbitraire ?

idée : Il faudrait attendre une itération de la boucle while peut-être, avant de lancer le graphique, mais je ne sais pas comment faire.

MERCI D'AVANCE pour votre aide.

 

Download All
0 Kudos
Message 1 of 6
(1,348 Views)

Hi Solar,

 


@Spectrosolar wrote:

It's all good, but I'm stubborn and a perfectionist. The problem is that I initialize the shift register with a value (0 in this example) and therefore, the first point on the graph has a value of 0. Attached is a screenshot of the graph and my VI. How to make the first value on the graph really be a measure and not an arbitrary value?


There's not so  much "all good", but a lot of apparently LabVIEW beginner mistakes!

  • no wait time needed inside the loop
  • no sequence structure needed!
  • no bytes at port, especially when a TermChar is configured and used…
  • what's the point of dividing by "1"???
  • so many more beginner mistakes…

 

The answer to your question is really easy: don't initialize the array to already contain an element with the value "zero"! Initialize with an empty array (s you do with that other shift register)!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 6
(1,291 Views)

Merci pour votre réponse.

En effet, je suis débutant, donc je fais des erreurs de débutant 🙂

- le "wait time" c'est pour avoir un chronomètre à la seconde (1000ms)

- le "diviser par 1", je l'ai laissé, car si je mets "wait time à 100ms", je "divise par 10" pour avoir un chronomètre au dixième de seconde. 

Même si ce programme n'est pas bien fait, il fonctionne, donc pour l'instant, je m'en contente.

 

Pour mon principal problème, à savoir la première valeur à 0 sur le graphique, je n'ai pas compris votre réponse. Je ne sais pas comment initialiser avec un "empty array". Désolé, je débute vraiment.

Pouvez-vous être plus précis, et me guider davantage dans les icônes à utiliser dans chaque palette ? Relier quoi à quoi ? ou encore un "screenshot" ?

 

Merci encore pour votre aide.

 

ps : J'espère qu'on arrivera à communiquer, car j'écris en français, et le forum traduit en anglais.

0 Kudos
Message 3 of 6
(1,267 Views)
Solution
Accepted by topic author Spectrosolar

J'ai trouvé cela :

"

You're probably using a Build Array . That gives you an array with a single element, zero.

What you want is an empty array constant:

To get this, select the Array Constant from the Array palette and place it on your diagram. Then, from the Numeric palette select the numeric constant and drop it inside the array. Right-click on the element in the array constant and select Representation (pick the correct numeric representation).

"

Mon problème est résolu. (Je sais, mon VI n'est pas bien fait, mais cela fonctionne, donc je suis content)

 

Merci beaucoup.

0 Kudos
Message 4 of 6
(1,257 Views)
Solution
Accepted by topic author Spectrosolar

Hi Solar,

 

right-click the existing array constants and select Data Operations->Empty Array. Then save the VI…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 6
(1,224 Views)

Merci beaucoup.

 

0 Kudos
Message 6 of 6
(1,192 Views)