From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet des autres produits NI

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

Problème arrêt programme acquisition USB6009

Je me permets de vous contacter pour un problème de programme sur lequel je bute depuis une semaine. Vous trouverez en fichier le programme sous labView 2009.
Pour résumé, ce programme fait l'acquisition de trois tensions analogiques et une entrée numérique DIO0 via un boitier USB6009 et la programmation d'une tension analogique sur la voie AO0.
J'ai une première boucle de lecture des valeurs qui s'opère toute les 500ms
J'ai une structure évenement "Start Process" qui me permet de tracer un graphique X,Y avec X le temps en cours et Y une valeur analogique
Mon problème principal est le suivant:
Lorsque le programme "Process" se termine, la seule boucle qui continue à tourner est la boucle d'acquisition des tensions et d'affichage des tensions analogiques sur des indicateurs en face avant.
Lorsque je clique alors sur le bouton "Cancel", j'obtiens un sablier sur le PC et je n'ai plus la main sur le PC même en fermant LabView, je dois rebooter!! je n'arrive pas à voir et à isoler le problème même en phase animation de l'execution ( ampoule)? ou alors l'erreur est tellement grosse que je ne la vois pas!!
Pouvez vous m'aider car je commence à m'arracher les cheveux
Autre petit détail, moins important celui-là, je n'arrive pas à trouver la procédure pour effacer un graphique afin qu'il n'y en ait qu'un seul de visible sur le graphe?

En vous remerciant d'avance

0 Compliments
Message 1 sur 4
2 868 Visites

Première chose, quand tu remets ton booléen à la fin du programme c'est mieux de le faire en début de programme, au cas ou tu ai un problème lors d'une éxécution, sinon tu as un bug aussi à l'exécution suivante.

 

Pourquoi n'utiliserais tu pas une occurence pour synchroniser tes boucles?

 

Sinon d'un point d evue graphique tu pourrais améliorer ton programme afin qu'il soit plus facile à maintenir (commentaires, sous VI, label sur les cables, merger les erreurs, j'aurais aussi récupéré le status des erreurs pour la condition d'arrêt avec un ou pour s'ajouiter à ton bouton stop)

Rodéric L
Certified LabVIEW Architect
0 Compliments
Message 2 sur 4
2 865 Visites

Bonjour,

Tout à fait d'accord avec Rodéric, tu devrais commencer par faire des sous vi pour que ce soit plus clair, et relier tous tes clusters d'erreur qui sont pour l'instant inutiles, vu qu'ils sont réliés entre deux ou trois fonctions uniquement à chaque fois. C'est une habitude à prendre, c'est déja utilie rien que pour la gestion du flux de données.

 

Pour ce qui est de graphe, pour le vider, tu peux tout simplement cabler une constante vide.

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 3 sur 4
2 856 Visites

Merci de votre réponse, je suis en train de faire des modifications sur le programme en suivant vos conseils.

Merci encore de votre aide, le programme ne plante plus, j'avais complétement zappé la condition d'événement associée au bouton "Cancel' !! A 19H30 je n'étais plus très clair!!

0 Compliments
Message 4 sur 4
2 843 Visites