le 01-21-2020 02:39 PM
Bonjour,
J'aurai besoin de vos conseils. Je dois développer une interface permettant de manipuler des fichiers textes. Dans un premier temps l’utilisateur sélectionne un répertoire de travail ainsi que son nom d'utilisateur depuis une liste. Ensuite cet utilisateur accède à un menu ( autre VI) puis selon le menu sélectionné arrive dans un sous menu. De la on effectue les tâches nécessaires.
Au début j'avais réaliser des vi qui appelaient d'autres vi avec des séquences. Ayant été bloqué avec ces séquences, je modifie l'ensemble de mes vi afin de travailler en machine d'état.
J'aurai besoin de quelques informations peut on mettre une machine d'état dans une autre, est-il possible d’interagir d'un vi à l'autre avec des transitions liés à 2 ou plusieurs vi. Est-il possible de parcourir un VI avec une machine d'état d'ans lancer un autre tout en fermant l'actuel ?
Merci d'avance
Résolu ! Accéder à la solution.
le 01-22-2020 04:19 AM
Salut Pic²,
Alors, pas sur de comprendre tes questions amigo...
- "Mettre une machine d'état dans une autre" ? Pourquoi ? Dans quel contexte ? Tu veux dire "Une machine d'état qui lancerait un VI qui contiendrait une autre machine d'état" ? C'est jouable à condition de bien les coder !
- "Parcourir un VI avec une machine d'état d'ans lancer un autre tout en fermant l'actuel" ? Je n'ai malheureusement pas compris...
Pour faire ce que tu souhaites faire, j'ai l'impression que TestStand couplé à du code LabVIEW serait parfait pour toi. Mais bon, en admettant que tu ne possèdes pas TestStand, ça reste faisable en LabVIEW sans se faire autant de noeuds au cerveau...
Je t'ai fait un exemple rapide en PJ, pour LabVIEW 14 et plus récent:
Tu verras avec ce projet qu'il est relativement aisé de faire ce que tu souhaites.
le 01-22-2020 05:52 AM
Merci beaucoup pour la réponse je regarde ça cet après midi. Si j'ai des questions je me permettrais de revenir vers toi.
Slts
le 01-22-2020 06:28 AM
(Si ça a permis de te débloquer, n'hésite pas à marquer la réponse "Comme Solution" et à donner un petit Kudo qui fait toujours plaisir à l'égo !)
le 01-22-2020 08:36 AM
Ok je fais ça de suite. Je ne comprends pas pourquoi le Previous Button n'est pas dans le cas "previous button" : value change.
Sinon dans l’ensemble j'ai compris le reste. Je vais essayer de faire un sous menu du menu car pour mon projet j'en aurai besoin.
Encore merci de ton aide
le 01-22-2020 08:43 AM
Top si c'est ce que tu veux !
Le fait que le contrôle "Previous Button" ne soit pas dans l'évenement "Previous Button : Value Change"... n'est qu'un oubli de ma part ! Mais il est anecdotique : en réalité, l’événement n'a pas besoin que le contrôle soit présent pour fonctionner, il faut juste que le contrôle soit créé sur le diagramme, peu importe ou il se trouve.
Après, on met effectivement les contrôles dans les événements correspondant en général, mais c'est une simple convention (pour qu'ils soient plus facile à trouver si on a envie de faire quelque chose avec).
le 01-22-2020 08:57 AM
ok merci, bon à moi de jouer maintenant ^^
le 01-22-2020 10:29 AM
@Pic²
Suite à nos MP :
le 01-23-2020 12:41 PM
Encore merci j'ai appris pas mal de chose ( définition de type .ctl) grace à toi 😉 Idem vu que tu avais mis un cluster j'ai pu voir également à quoi ça servait et l’intérêt ça va bien me servir surtout que tu peux y mettre plusieurs types chaine, entier, etc . Moi je passé par des variables globales d'ailleurs j'ai du mal à voir la différence entre variables globales et cluster car au final car on peut mettre un enum en variables globales et impacter tout les vi concernés non?
Et pour finir la machine d'état j'ai bien compris avec chaque état de machine stocké dans un "control" pour permettre une maintenabilité en cas d'évolution. J'ai fais l'essais aujourd'hui de réaliser un appel d'un autre vi machine d'état permettant de créer un sous menu si on appuit sur un menu. Il faut faire de la gymnastique de cerveau mais du coup j'ai eu la réponse à ma question initiale qui était est ce qu'une machine d'état peut en appeler une autre. La quand je clique sur précédent du vi de sous menu je reviens bien dans le vi de menu. Par contre quitter l'application de le vi de sous menu pour quitter l'application complète pas encore réussi j'essaye de nouveau demain. Je vais voir si je peux le quitter en agissant directement sur le vi main ou si je dois d'abord quitter le vi de menu pour après quitter le vi du main.
Mais en tout cas encore merci pour ton aide 😉