01-06-2012 03:53 AM
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.
01-06-2012 04:19 AM
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
01-06-2012 04:31 AM
Merci mais j'ai du mal à voir concrètement comment faire (ptet aussi parce que j'ai jamais utilisé ce type de structure).
01-06-2012 05:54 AM
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
01-06-2012 06:34 AM
Ok merci je vais voir ça.
01-06-2012 06:46 AM
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.
01-06-2012 06:47 AM
Merci!
01-13-2012 07:10 AM
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?
01-13-2012 07:15 AM
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
01-13-2012 07:38 AM
Merci, aurais-tu un exemple de ce type je ne vois pas à quoi ça réfère?