Discussions au sujet de NI LabVIEW

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

Structure à évènement: problème de coordination temporelle

Bonjour,

 

Ce VI nécessite l'intervention de l'utilisateur pour fonctionner. L'utilisateur a le choix de cliquer sur 2 ronds de coté qui lui donne accès après un temps variable (et suivant un clic lorsque le délai est écoulé) à 1 point.

 

Il peut répondre sur un rond et changer pour l'autre mais pour ceci je souhaite qu'il réponde au préalable un certain nombre de fois sur un autre rond qui est placé lui au milieu. Prenons un exemple: il clique 1 fois à droite, le bouton de gauche doit disparaitre. Si il veut cliquer à gauche, il doit cliquer n fois sur le bouton de centre et ensuite le bouton gauche apparait et le droit disparait.

 

Là mon vi ne fonctionne pas comme ça. Déjà je n'arrive pas à programmer l'exigence d'appuyer plusieurs fois sur le bouton de centre. Ensuite, je dois appuyer sur le bouton centre + sur le bouton droit pour faire disparaitre ce bouton et apparaitre le bouton gauche.

 

Merci d'avance pour votre aide et en espérant que mes explications soient claires. 

0 Compliments
Message 1 sur 16
4 197 Visites

Bonjour,

 

vu ta problématique, je pense qu'il serait mieux d'utiliser une machine à état pour représenter le comportement de tes boutons ainsi que les transitions possibles.

 

tu pourras aussi combiner ta structure évènement (détection de l'appui sur les boutons) avec la machine à état pour faire quelque chose de facilement maintenable et évolutif.

 

Cordialement

Benoît C.
Certified LabVIEW Developer
Message 2 sur 16
4 189 Visites

Merci mais j'ai du mal à voir concrètement comment faire (ptet aussi parce que j'ai jamais utilisé ce type de structure).

0 Compliments
Message 3 sur 16
4 183 Visites

Tape machine à état dans l'aide LabVIEW, et tu as pas mal d'explication sur le sujet.

 

Concrètement, tu définis un modèle dans lequel tu créés des états et des transitions entre les états. Le mieux est de commencer par faire un schéma avec tous tes états et leurs propriété, ensuite tu définis les transitions (les conditions pour passer d'un état à l'autre), et ensuite tu passes au codage.

 

Cordialement

Benoît C.
Certified LabVIEW Developer
0 Compliments
Message 4 sur 16
4 177 Visites

Ok merci je vais voir ça.

0 Compliments
Message 5 sur 16
4 175 Visites

Bonjour,

 

Je pense aussi que passer par une machine a états devrait t'aider a résoudre ton problème. Voici un lien sur le sujet :

 

http://zone.ni.com/devzone/cda/tut/p/id/3024

 

Cordialement.

0 Compliments
Message 6 sur 16
4 171 Visites

Merci!

0 Compliments
Message 7 sur 16
4 168 Visites

Bonjour,

 

Je comprends la solution mais je bloque sur la réalisation. En effet, comment faire sans utiliser plusieurs structures à événements pour chaque état puisque le passage de l'un à l'autre se fait toujours en fonction d'une réponse de l'utilisateur?

0 Compliments
Message 8 sur 16
4 130 Visites

tu peux combiner une MAE avec un modèle producteur consommateur :

 

 - tu mets ta boucle évènementielle dans la boucle productrice

 

 - tu mets ta MAE dans la boucle consommatrice

 

ainsi, tu as une seule boucle évènementielle qui envoit les ordres de changement à la MAE

 

Cordialement

Benoît C.
Certified LabVIEW Developer
0 Compliments
Message 9 sur 16
4 127 Visites

Merci, aurais-tu un exemple de ce type je ne vois pas à quoi ça réfère?

0 Compliments
Message 10 sur 16
4 124 Visites