le 05-06-2009 04:40 AM
Bonjour à tous.
Je suis actuellement en train de réaliser une application windows à l'aide de Labview pour un procédé de production.
Dans le logiciel que je créé, l'utilisateur doit entrer des références de matériel, et selon la référence entrée, une test est déroulé.
L'utilisateur place une sonde dans un appareil et clique sur un bouton pour commencer le test.
A la fin du test, le programme doit être prêt pour une nouvelle sélection et un nouveau test, avec les commandes textes vides et les LEDs éteintes.
Et c'est cet état initial que je n'arrive pas à obtenir.
Je pourrait contourner le problème en dédiant un sous-VI à chaque étape et en appelant ce sous-VI à chaque tour (le VI est normalement - il me semble - initialisé lors d'un appel et ne garde donc pas les valeurs précédant son appel) mais cette solution me semble plus lourde et lente.
Je travaille sur la version de démo de Labview et la version achetée prévue dès que j'aurais des VI concluants est la version de base (restrictions budgétaires obligent)
Merci d'avance pour votre aide
Résolu ! Accéder à la solution.
le 05-06-2009 10:44 AM
Bonjour Dworak_of_Sky,
Merci d'avoir posté sur le forum National Instruments.
Ne connaissant pas l'architecture de ton application je t'indiquerais deux méthodes: la première consiste à créer une variable locale qui te permet de venir changer la valeur quand bon te semble sur ton diagramme, la seconde est de passer par un nœud de méthode qui te permet de réinitialiser ta commande ou ton indicateur.
Tu peux, si cela est possible, poster ton code et nous regarderons afin de t'apporter la meilleure solution.
le 05-06-2009 03:08 PM
Merci pour cette réponse rapide 🙂
Je teste ces deux solutions demain matin.
05-06-2009 03:24 PM - modifié 05-06-2009 03:24 PM
Voici les deux méthodes dont je t'ai parlé:
le 05-06-2009 04:35 PM
Je n'ai pas le système que je conçois chez moi, je ne peux donc pas tester ca chez moi à moins de développer une VI imitant le comportement de mon système (un peu long à cette heure :$).
Il me semble que j'avait déjà essayé de manipuler la variable locale. Mais est-il possible de la relier ensuite à un indicateur ?
Sur ton image, la commande n'est pas reliée à la variable ? comment le programme sait qu'il doit stocker la valeur de la commande dans la variable ? (la commande pouvant d'ailleurs aussi bien être une constante ou un résultat je pense)
le 05-06-2009 04:45 PM
Dans mon image je voulais juste te montrer ce dont je parlais... à mon avis pour faire un initialisation il vaut mieux relier une constante à ta variable locale 😉
Après d'une manière générale je te conseille de passer par une architecture à Machine à Etat ce qui te permettra d'avoir un état d'initialisation de tes variables et cette struture te permet d'avoir l'ordre d'éxécution des états qui changent en fonction de tel ou tel paramètre.
le 05-06-2009 05:11 PM
(Réflexion à "voix haute")
Le noeud de méthode pourrait être utilisé couplé à un bouton pour réinitialiser les champs si l'utilisateur se trompe dans la saisie des données...
Et il pourrait aussi être utilisé en dernière étape de la structure "séquence" avant de revenir au premier écran...
Je teste ca demain 🙂
Merci beaucoup pour ton aide BenjaminR 🙂
le 05-11-2009 05:41 AM
Merci encore 🙂
les variables locales ont solutionné mon problème.