Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Suite de tests

Résolu !
Accéder à la solution

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.

0 Compliments
Message 1 sur 8
4 743 Visites

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.

Francis M
Message 2 sur 8
4 739 Visites

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. Smiley indifférent

0 Compliments
Message 3 sur 8
4 737 Visites

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.

Francis M
Message 4 sur 8
4 735 Visites

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?

0 Compliments
Message 5 sur 8
4 732 Visites
Solution
Accepté par alstomtarbes

Autant pour moi, j'ai confondu "for" avec "case"... Mais tu as compris le principe!

 

state machine.png

Francis M
Message 6 sur 8
4 730 Visites

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.Smiley heureux

0 Compliments
Message 7 sur 8
4 728 Visites

Pas de quoi! Un ou deux petits kudos sur les messages qui t'ont aidé donneront encore plus de valeur à ton "merci"... Smiley clignant de l'œil

 

bonne continuation!

Francis M
Message 8 sur 8
4 725 Visites