Discussions au sujet de NI LabVIEW

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

Reset variable globale à la fermeture d'un vi.

Bonjour à tous,

 

Je souhaiterais vider une mémoire globale ( ou mettre à 0) à la fermeture d'un vi. Je m'explique .

Le vi "A"  me génère une valeur numérique dans une variable globale . Le vi "B" fonctionnant en parallèle lit la variable globale en permanence.

Jusque là, tout va bien.

A la fermeture du vi "A" , je souhaite vider (ou  remettre à 0) la variable globale. Le but est d'afficher un message d'erreur dans "B" si la variable globale n'est pas " active".

J'espère avoir été clair. 🙂

Je m'aperçois qu' à la fermeture de "A" La variable globale garde la dernière valeur. ( le pc n'est pas coupé et LV n'est pas relancé.)

 

Merci pour vos infos.

 

 

 

0 Compliments
Message 1 sur 15
15 395 Visites

Hello,

 

Pourquoi avant la fermeture de ton vi tu ne ferais pas le reset, en ajoutant une structure sequence deroule, tu pourrais alors ecrire 0 a ta variable

 

Meme si  rien ne vaut une bonne FGV avec un cas Reset 🙂

 

Nacer

Nacer M. | Certified LabVIEW Architecte

0 Compliments
Message 2 sur 15
15 391 Visites

Merci pour ta réponse rapide.

Mais avec quel outil tu testes la fermeture du vi ? J'ai essayé avec un noeud de propriété ...marche pas ! ( je ferme le vi avec la croix rouge en haut à droite de la fenetre.)

FGV... ça me dit quelque chose .C' n' est pas une variable à plusieurs états que tu choisis?

0 Compliments
Message 3 sur 15
15 385 Visites

Salut,

 

Avec un exemple ca sera plus evident, la par exemple t as une boucle avec une variable ( la mienne est local mais c est le principe), a la fin de l execution de ton programme, sur appuie du bouton stop, ba tu as le reset de ta variable.

 

En faite je pense que peut etre tu execute tout le temps ton VI alors que tu devrais faire une boucle qui permet de tester et quand t as fini t appuie sur le bouton stop et ca reset.

 

Voila 

 

Nacer

Nacer M. | Certified LabVIEW Architecte

0 Compliments
Message 4 sur 15
15 382 Visites

Merci.

Je ne connaissais pas cette fenêtre...Par contre, pourquoi le vi "Exit " est il  grisé ?

Sinon je ne ferme pas la fenetre avec un bouton stop mais en fermant la fenêtre. Le résultat est le même ?

Je teste  !

0 Compliments
Message 5 sur 15
15 377 Visites

Elle est grise, car ca permet de quitter labview quand tu cree un exe pour etre sure de ne rien laisser, ca serait embettant en cours de dev!

 

 

Non cela n'a rien a voir! A moins que tu geres les evenements, mais je ne pense pas, et le mieux c est de creer des boucles, apres je ne sais pas comment est ton programme, ni ton niveau en LabVIEW, car avec LabVIEW y a pleins de solutions plus ou moins difficile.


Ps : Desole pour mon manque d accent je suis au UK, et les claviers anglais y en a pas 😕

Nacer M. | Certified LabVIEW Architecte

0 Compliments
Message 6 sur 15
15 375 Visites

Pas de pb pour les accents !

Mon niveau LV est moyen....

En tous cas merci , je vais essayé différentes méthodes.

0 Compliments
Message 7 sur 15
15 373 Visites

va voir du côté des "Notifier" (palette synchronisation)

 

pour communiquer entre 2 boucles indépendantes ... c'est bien mieux.

 

tu n'auras pas besoin de faire un polling pour avoir ta donnée.

 

avec le "time-out" tu n'auras pas de problèmes pour détecter la fermeture de "A".

 

difficile de faire un "cours LV" en un post (j'en serais par ailleurs bien incapable)

 

google + labview + Notification / Notifier ... la connaissance viendra toute seule vers toi   Smiley clignant de l'œil

 

 

 

 

 

0 Compliments
Message 8 sur 15
15 366 Visites

edit : je trouve ma réponse précédente un peu "courte".

Il fut un temps où j'étais bien content de recevoir des "petits exemples"

 

un (tout) petit vi pour te permettre de "voir" comment fonctionne (et comment on cable) un Notifier.

 

vi ci-joint en LV2011.

 

à partir de "là" ... seule l'imagination peut placer une limite.

 

tu vois ... je "passe" une donnée d'une boucle vers l'autre ... elles sont totalement indépendantes.

et quand je stoppe la boucle "émettrice", la boucle "réceptrice" en est informée via "wait on notification / timed out ?"

 

bon code !

 

SR1.png

0 Compliments
Message 9 sur 15
15 360 Visites

Merci pour ton explication très précise  ! C'est clair, un petit dessin est mieux...etc 🙂

Je comprend le principe mais je fonctionne sur 2 vi distincts (  2 fenêtres indépendantes) .Avec une variable globale ça fonctionne aussi  ?

 

0 Compliments
Message 10 sur 15
15 335 Visites