Discussions au sujet des autres produits NI

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

lire seulement quand la valeur a été changée

Bonjour,

J'ai un appareil avec lequel je communique par rs232, je tente de faire un sorte de programme un peu comme un driver (malheureusement pour moi celui ci n'existe ni chez NI ni chez le fournisseur du produit), mais j'ai quelques soucis, par exemple j'ai une fonction pour choisir l'unité, et une autre pour la lire.

J'ai donc fait un programme qui fonctionne bien, à présent je voudrais integré ça dans une boucle, afin de pouvoir changer l'unité quand je le souhaite durant une manip.

Le souci est que le programme tel que je l'ai fait, lit mon unité à un timer donné, seulement moi je voudrais lire seulement après avoir changé l'unité, et ne pas envoyé la commande à tout bout de champs (tant que je ne la change pas il n'y a pas de raison de lire).

Donc je pense qu'il faut faire une structure condition, mais je ne sais pas comment exprimer ma condition qui serait "quand l'unité change", en terme de programmation.

 

Si quelqu'un peut m'aider...

 

Merci d'avance.

 

0 Compliments
Message 1 sur 6
3 491 Visites

Bonjour,

 

Si j'ai bien compris ton explication, je pense que la structure evenement serait le plus simple:

21834iECA160B22F69F554

 

Tu peux utiliser differents evenements tel que Value change. Dans ton cas tu utilises ta fonction pour choisir l'unite et pour la lire dans cette boucle, puis tu place autre chose dans le cas timeout par exemple. Sur la gauche tu peut recuperer ta nouvelle ou ton ancienne valeur directement.

 

 

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 2 sur 6
3 484 Visites

Merci, effectivement ça m'a beaucoup aidé.

 

Je n'avais jamais utilisé de structure évenement.

Du coup j'ai un souci, quelle condition donner pour sortir de la condition sans pour autant devoir faire un stop dans ma boucle?

Peut etre est ce avec le timer mais comment le configurer?

 

Merci d'avance.

0 Compliments
Message 3 sur 6
3 464 Visites

Le petit sablier en haut a gauche correspond au nombre de millisecondes au bout des quelles le cas timeout va etre executé si il ne s'est produit aucun des evenements.

Tu souhaite pouvoir sortir de quelle condition?

Par contre il ne faut pas abuser de ces structures, ne pas en mettre plusieurs sur un vi, ou les un dans les autres, sinon tout va planter tout le temps.

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 4 sur 6
3 460 Visites

Bonjour,

 

Je ne parviens pas à cabler le sablier, ça me met une erreur.

 

En fait comme c'est pour communiquer avec un instrument, j'ai une partie des instructions qui vont dans la structure condition (par exemple je veux lire l'unité seulement lorsque je l'ai changée), mais également des instructions qui se font à intervalle regulier (exemple lire la valeur de la pression toutes les 30 secondes).

J'ai donc une boucle while avec toutes ces instructions, dont une partie dans la structure évenement, mais seulement ça bloque à ma structure évenement, puisque tant que je ne fait pas de selection d'évenement, ça ne sort pas de cette structure.

Comment faire?

 

merci d'avance.

 

0 Compliments
Message 5 sur 6
3 434 Visites

Dans ce cas la, il faudrait surement utiliser deux boulce while en parallele, dont une avec l'evenement. As-tu bien les deux evenement (time out et valeur changée)? Car si tu n'as plus le timeout dans tes cas, tu vas avoir une erreur si tu cable le sablier. Quand tu edites les evenements tu peux aussi choisir l'option de verouiller la face avant ou non pendant l'execution, il faut donc la decocher dans ton cas.

 

Si jamais ca ne reponds pas bien a ton probleme, il y a toujours la possibilite d'utiliser un registre a decalage pour voir si ta valeur est changée, et d'utiliser un case avec le test de comparaison comme selecteur. 

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 6 sur 6
3 431 Visites