From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
le 07-11-2014 04:52 AM
Bonjour a tous,
Je realise un programme permettant de controler un porte echantillon a l'aide de moteurs micrometriques.
Pour le moment mon programme est capable d'effectuer un scan parametrable par l'utilisateur.
Ce scan je l'ai place dans une structure evenement avec un bouton START. Jusque la ca marche.
J'ai aussi des deplacements unitaires (increments) dans des structures evenements.
Ces structures evenements sont placees dans une boucle while avec un bouton STOP. Et la ca ne marche pas... Je ne peux pas arreter la boucle while avant que les evenements se soient lancer et je ne peux pas choisir par quel evenement je commence...
Je souhaiterais que l'utilisateur puisse lancer le programme, modifier les parametres du scan, lancer une acquisition, modifier les parametres, relancer une acquisition, faire un deplacement unitaire etc de maniere aleatoire comme il le souhaite et enfin qu'il appuie sur stop quand il a fini pour quitter.
J'espere que vous pourrez m'aider la dessus, je n'ai pas trouve de reponse sur le forum et je pense que votre experience et savoir faire me serait tres utile.
Merci d'avance !
le 07-11-2014 09:56 AM
Bonjour,
Tu doit créer un evenement qui signale le changement de la valeur de ton bouton dans la structure évènement (Stop : Value Change), ainsi tu pourras sortir quand tu veux de la boucle!
le 07-22-2014 08:25 AM
Merci pour ta reponse, pour sortir du while cela marche, mais j'ai maintenant plusieurs sous VIs et je souhaiterais que mon interface se lance en continue (j'ai donc mis tous mon programme dans un while) et pouvoir executer les fonctionnalites de chaque sous VI aleatoirement en cliquant sur un bouton associe (j'ai donc mis chaque sous VI dans une structure evenement avec bouton associe le tout dans le while).
Le probleme est que je ne peux executer mes evenements que dans un ordre specifique, les un apres les autres (pas possible d'en lancer un 2 fois de suite) .
Comment faire pour simplement executer une partie de programme (ici les sous VI) en fonction des choix de l'utilisateur sur la face avant ?
Merci d'avance a tous !
07-22-2014 09:22 AM - modifié 07-22-2014 09:23 AM
Salut,
as-tu déjà regardé du côté des machines à états qui utilisent des événements ? Je pense que c'est ce que tu cherches 😉
http://www.ni.com/white-paper/2926/en/
Aurelie
le 07-23-2014 06:08 AM
Merci beaucoup !
J'ai resolu mon probleme en mettant des timeouts sur mes events (je n'y avais pas pense).
Neanmoins je pense que les machines a etats me seront utiles par la suite.
Merci pour vos reponses,
Olivier