le 06-12-2014 02:28 AM
Bonjour,
je suis en train de mettre en place un banc d'essai automatisé, mais je suis autodidacte avec LabVIEW alors je voudrais avoir votre avis sur une partie que j'ai à programmer.
Mon programme configure le banc d'essai automatiquement (qui est un circuit haute tension), et pour des raisons de sécurité je dois exécuter des tâches dans un certain ordre, en vérifiant que tout s'est bien passé avant de passer à la suivante. Pour l'instant j'ai commencé à faire avec des conditions imbriquées, mais si je continue comme ça je vais finir avec 30 structures conditions...
Pour donner un exemple, je demande une action à mon banc, je teste que ça ait été réalisé, si c'est OK je passe à la 'action suivante, si c'est NOK j'affiche une erreur et j'arrête le programme (grosso modo). Et donc si c'est OK je lance l'action suivante, nouveau test, etc... Ce qui me fait imbriquer une condition pour chaque action et chaque test.
J'ai joint un exemple au cas où mon explication est pas claire.
Comme leur nom l'indique je me suis dit qu'une structure séquence pouvait peut être aider, mais je ne comprend pas à quoi elles servent étant donné qu'elles s'exécutent les unes à la suite des autres dès que toutes les "sorties" de l'une d'entre elle sont disponibles.
Merci de votre aide.
Résolu ! Accéder à la solution.
le 06-12-2014 02:44 AM
Hello,
Regardes dans les exemples et essaie une structure machine d'état. C'est une boucle while, pilotée par un enum ou un numérique. Par exemple tu commences à l'étape 0, selon l'issue tu passes à l'étape x ou y, etc etc... tu as des multiples conditions, pas seulement 2 comme avec un booléen, pour traiter tes différentes étapes.
le 06-12-2014 02:53 AM
J'ai vu qu'on pouvait faire un programme machine à état mais je n'ai pas la structure machine à état dans ma liste de fonction. J'ai LabVIEW 2010, elles ont du apparaître dans une version ultérieure. Malheureusement dans mon cas je suis obligé d'avoir une seule face avant pour cette partie ET tout le reste de mon programme (qui ne fait pas que ça), donc impossible d'utiliser le type de programme machine à état.
le 06-12-2014 02:56 AM
Non non la machine d'états est l'imbriquement d'une boucle for dans une boucle while.
Cherche dans les exemples, ou sur ce forum tu en trouveras.
C'est ce qu'il te faut.
le 06-12-2014 03:03 AM
OK! J'ai compris, faut que je fasse revenir dans ma while un paramètre qui dépend de i-1, mais pourquoi vers une boucle "for" plutôt que vers une structure condition multiple?
le 06-12-2014 03:06 AM
Autant pour moi, j'ai confondu "for" avec "case"... Mais tu as compris le principe!
le 06-12-2014 03:10 AM
Merci beaucoup, c'est exactement ce qu'il me faut. J'y aurai pas pensé, c'est vraiment pas bête et ça m'aurait bien servi pour une autre partie du programme. Je changerai si j'ai le temps.
le 06-12-2014 03:13 AM
Pas de quoi! Un ou deux petits kudos sur les messages qui t'ont aidé donneront encore plus de valeur à ton "merci"...
bonne continuation!