Discussions au sujet de NI LabVIEW

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

Récuperer une valeur d'une autre vi : ctrl Val.get

Bonjour,

 

Je souhaiterai récuperer une valeur d'un contrôle ou d'un indicateur depuis une VI.


Dans ma vi principal j'ai une structure event qui me permet d'appeller et de switcher entre deux sous-VI.

J'aimerai pouvoir récuperer une des valeurs de la premirees VI pour l'injecter dans la seconde. Pour l'instant j'utiise crl-val.set pour injecter une constante dans la nouvelle Vi et ca marche nickel cepandant quand il s'agit de récuperer la valeur à l'aide de ctrl val.get ca ne fonctionne pas.

 

Ma strucure event se construit autour de deux boutons et de deux sous-vi, lorsque l'utilisateur appuie sur le bouton 1 cela affiche dans un subpannel la vi1 et lorsque l'utilisateur appuie dur le bouton2 cela affiche la sous-vi2.

Mon controle val-set fonctionne parfaitement car lorsque le bouton2 est appuyé la sous-vi2 recupere le parametre et se lance.

En revanche lorsqu'on appuie sur le bouton 1 la sous-vi 1 se lance mais la valeur n'est pas récupérée , enfin elle est récupéré mais la valeurs de mon indicateurs sur la vi principal ne se met pas à jour, il faut pour cela que je réappuie sur le bouton 1.

 

Connaissez vous une solution pour que cette indicateur se mette à jour automatiquement ?

J'ai aussi esszyé en utilisant  une variable global et j'obtient le meme resulats.

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

Merci d'avance pour votre aide, cordialement.

0 Compliments
Message 1 sur 5
3 801 Visites

Pour moi, c'est un souci dans l'architecture de ton programme, donc  sans Vi nous ne pourrons pas t'aider.


Vérifie bien, car d'après ton explication, ça sent le non respect du flux de données à plein nez.

Es tu sur de bien écrire ta valeur après avoir lu la valeur de ton sous vi ....


Cdt,

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 2 sur 5
3 796 Visites

En ce qui concerne l'écriture de la valeur dans le sous vi (sousVI_2) je n'ai aucun problème.

Je fais appel à la réference, puis Run Vi, puis ctrl val set, puis insert into panel et cela fonctionne. Cela se passe lors de mon event case n2.

Pour l'instant la valeur que j'injecte est une valeur par defaut car je n'arrive pas à récuperer la valeur réel dans mon autre vi (sousVI_1).

Mais lorsque j'appuie sur mon bouton2 ma vi s'affiche et la valeur de la variable est bien prise en compte.

Pour récuperer cette valeur je procède a peu près de la meme manière dans mon event case 1.

J'appelle la réference de la sousVI_1, puis Run Vi, puisCtrl Val.get, puis insert into Panel.

J'ai mis un indicateur dans ce meme event case et un dans la sous-vi pour 'voir la donnée'. Lorsque je modifie le controleur de la donnée, l'indicateur s'actualise bien dans la sous vi mais absolument pas dans la vi principale. Cependant si je refait appel à l'event case1 cela 's'actualise' et mon indicateur affiche correctement la valeur dans ma vi principale.

 

Je sais que c'est peut etre un peu flou mais pour des raisons techniques je ne peux pas vous fournir de vi pour mieux m'expliquer pour l'instant. Je pourrai peut être prochainement mettre des screen shots mais pas plus.

 

cordialement

0 Compliments
Message 3 sur 5
3 794 Visites

Sasn fournir ton code Final, fait nous un code de démonstration sur ta facon de faire, avec un MAIN et un sous vi , dans lequel tu viens positionner une valeur, car pour être grand utilisateur de cette méthode, je peux certifier quelle est robuste et fonctionne correctement, sous réserve d'une bonne architecture.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 4 sur 5
3 791 Visites

Bonjour MicroPom,

Peux tu joindre un code d'exemple, ça nous permettera de mieux cerner ton problème.

Cordialement,

 

Jovan N. - Application Engineering
0 Compliments
Message 5 sur 5
3 779 Visites