Discussions au sujet de NI LabVIEW

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

structure évènement

Résolu !
Accéder à la solution

Bonjour,

 

J'ai soucis avec l'utilisation de la structure évènement. J'ai simplifié mon programme pour avoir être plus clair. En face avant je dispose :

  • d'un cadran relié à une jauge qui ne sont pas gérés par la structure évènement;
  • d'une glissière connectée à un réservoir qui eux sont génés par la structure évènement.

 

Mon problème est qu'une modification de l'entrée cadran n'est pas répercutée sur l'indicateur jauge. Pourtant, comme indiqué dans un post du forum, j'ai bien décoché l'option "Verrouiller la face ..." dans "Editer les évènements".

 

Je vous joins le fichier vi.

 

Merci.

Djamel

0 Compliments
Message 1 sur 5
3 868 Visites

Bonjour Djamel and all,

La boucle while ne se réactivera que lorsque qu'un événement aura eu lieu, comme la variable cadran est dans la boucle et non dans la structure événement il ne se passe rien. Par contre une modification de cette variable sera prise en compte si il y a un événement sur la commande glissière.

De plus il y a une erreur dans la structure événement car elle a du être modifiée, éditée au cour de la programmation, j'ai déjà eu ce problème et cela m'avait pris pas mal de temps avant de "comprendre" ce qui se passait.

Voire ce post : http://forums.ni.com/t5/Discussions-de-produit-de-NI/bloquage-boutons-FA-pendant-une-acquisition/m-p...

Cordialement
Jean-Marc
0 Compliments
Message 2 sur 5
3 864 Visites

Bonjour,

 

concernant la structure évènement, il faut toujours placer l'élément sur lequel on souhaite détecter une modification dans la structure évènement, dans l'évèement associé, comme dans l'exemple suivant :

 

fghfgh.png

 

L'extrait de VI m'a supprimé la condition Glissière : Valeur changée, mais le plus important est de bien placer l'élément glissière

 

Cordialement

Benoît C.
Certified LabVIEW Developer
0 Compliments
Message 3 sur 5
3 850 Visites
Solution
Accepté par l'auteur du sujet Djamel_LFC

Bonjour,

Tu n'as pas cablé de valeur sur l'entrée de timeout. Cette valeur par défaut est de -1. Cela signifie que ta structure évènement attend à l'infini un évenement.

 

Le cadran n'est utilisé dans aucun évènement donc la modification de sa valeur ne change en rien l'attente de la boucle évènement.

Si tu ajoute une valeur au timeout (200ms suffit largement pour de l'affichage) tu auras le comportement que tu recherche.

 

Un conseil: Regarde le fonctionnement de ton vi en utilisant l'ampoule pour surligner l'éxecution, tu comprendras mieux comment se déroule le code.

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
Message 4 sur 5
3 849 Visites

Merci à tous pour vos réponses. J'ai tenu compte de vos remarques en intégrant ma glissière dans la structure évènement et en forçant le timeout à 200 ms. J'ai le comportement souhaité.

 

Bonne journée.

Djamel

0 Compliments
Message 5 sur 5
3 838 Visites