Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

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

Highlighted

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 Kudos
Message 1 of 16
(2,364 Views)
Highlighted

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 of 16
(2,356 Views)
Highlighted

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

0 Kudos
Message 3 of 16
(2,350 Views)
Highlighted

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 Kudos
Message 4 of 16
(2,344 Views)
Highlighted

Ok merci je vais voir ça.

0 Kudos
Message 5 of 16
(2,342 Views)
Highlighted

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 Kudos
Message 6 of 16
(2,338 Views)
Highlighted

Merci!

0 Kudos
Message 7 of 16
(2,335 Views)
Highlighted

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 Kudos
Message 8 of 16
(2,297 Views)
Highlighted

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 Kudos
Message 9 of 16
(2,294 Views)
Highlighted

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

0 Kudos
Message 10 of 16
(2,291 Views)