From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

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 234 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 226 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 220 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 214 Visites

Ok merci je vais voir ça.

0 Compliments
Message 5 sur 16
4 212 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 208 Visites

Merci!

0 Compliments
Message 7 sur 16
4 205 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 167 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 164 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 161 Visites