le 05-21-2015 07:23 AM
Bonjour a tous !
J'aimerais savoir comment faire pour relancer une boucle while. Je m'explique : quand la boucle est lancee, on peut creer un bouton stop tout simple pour l'arreter. Seulement, existe t'il un moyen tout aussi simple de faire s'executer une nouvelle fois cette boucle ?
L'idee est de pouvoir simplement : lancer le trace d'un graphe a partir d'une DAQ, pouvoir l'arreter (en gardant la courbe a l'ecran), puis de le relancer (et de rafraichir le graph a partir de rien).
Je vous remercie d'avance pour votre aide.
ps : desole pour l'absence d'accents mais il n'y en a pas sur un clavier allemand 😕
le 05-21-2015 07:35 AM
Bonjour,
Tu peux peut-être regarder du côté des machines d'états dont un exemple est disponible dans les modèles de base LabVIEW. En créant 3 états tu devrais pouvoir faire ce que tu souhaites :
Je te laisse jeter un oeil à tout ça, n'hésite pas si tu veux plus d'informations 😉
le 05-21-2015 08:07 AM
Merci beaucoup pour ta reponse !
Tu me conseilles donc de creer une structure event, selectionnee par un bouleen ou enum, dans laquelle il y aura : un etat ou le graphique affiche les donnees, un deuxieme etat ''pause'' ou rien ne sera relie au graphique, et un troisieme etat avec une constante ''null'' reliee au noeud de propriete history data pour avoir une sorte de clear chart ?
le 05-21-2015 08:51 AM
Bonjour,
Non une machine à état est composée d'une boucle FOR dont les valeurs sont pilotées par un enum, incluse dans une boucle While.
La structure "Event" est à utiliser surtout quand tu as besoin d'intéragir suite à une action utilisateur, sur face avant par exemple.
Cdt,
Michael.
05-21-2015 08:54 AM - modifié 05-21-2015 09:01 AM
Tu me conseilles donc de creer une structure event, selectionnee par un bouleen ou enum, dans laquelle il y aura : un etat ou le graphique affiche les donnees, un deuxieme etat ''pause'' ou rien ne sera relie au graphique, et un troisieme etat avec une constante ''null'' reliee au noeud de propriete history data pour avoir une sorte de clear chart ?
Regarde les exemples qu'on trouve sur le web
Le concept c'est d'utiliser l'Enum pour faire discuter de ce qu'on veut faire : initialiser, acquérir, attendre l'appui sur un bouton... et on discture de ça dans une structure condition.
Le plus propre est de laisser une seule structure event qui est dans l'étape où on attends une interaction de l'utilisateur (avec plusieurs structures event on risque de bloquer l'interface par mégarde, donc surtout à éviter).
Edit : plusieurs intérêts :
le 05-21-2015 10:31 AM
Sinon dans le menu de LabVIEW :
Aide > Recherche d'exemples
ça ouvre une fenêtre et on trouve un exemple de machine à état dans :
Fondamentaux > Boucles et structures > Pricnipes de bases des machines à états
Le VI proposé est abondamment documenté, ça aide à comprendre 😉
le 05-22-2015 12:39 AM
Je vais etudier ca en detail merci beaucoup pour votre aide 🙂 je ne connaissais pas ce concept de ''machine a etats''.
(je rame aussi un petit peu parce que je travaille sur labVIEW en allemand et je ne parle, tout au plus, qu'anglais)
bonne journee
le 05-22-2015 08:21 AM
le 05-22-2015 09:36 AM
MathieuSteiner a écrit :
Michael.C a écrit :
est composée d'une boucle FOR
Boucle while plutôt
A+
Effectivement, j'ai fait une erreur, en ecrivant le message, tout en faisant autre chose. Je voulais dire une structure"Condition" dans une boucle while avec une registre à décalage pour le passage d'un cas à un autre.