Discussions au sujet de NI LabVIEW

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

ne pas lire colonnes d'un tableau en fonction d'une condition

Bonjour à tous,

 

je fais appelle à votre aide car j'ai un soucie avec un sous Vi que je n'arrive pas à résoudre depuis plus d'une semaine.

J'ai un VI principale qui a pour but de tracer un graphe XY avec un certain nombre de courbes ( 2 a 40) issue de mesures réalisées à l'aide de thermocouple, jusque là j'y arrive sans soucie. Sauf que dans ce diagramme, je dois trouver une période d'une heure durant laquel aucune de ces courbes ne varie de plus de 2 Kelvin pendant une heure. J'ai donc commencer à faire un sous-VI qui me cherche cette période. Lorsque toutes les courbes respectent cette condition, mon Sous VI réalise très bien sont travail. Mon problème arrive dans le cas où une ou plusieurs courbes ne respectent pas cette condition. Dans ce cas la j'aimerais que mon programme detectent ces courbes et les mettent de côté tout et face une nouvelle recherche avec mes courbes viables afin de trouver ma période avec les courbes viables. De plus il faut que je récupére dans un tableau le numéro des colonnes qui ne respectent pas la condition afin d'en informer l'utilisateur.

 

Je vous fourni le Vi que j'ai travaillé, avec un tableau de 33 courbes dans le but que vous visualisiez mieux mon problème. Je n'ai pas d'exemple où les courbes ne respectent pas la condition donc durant mes test je diminue la température de 2 K à 1K ou 0,5 K. Dans mon VI , mon problème correspond à la partie 3 de ma séquence. actuellent si une courbe ne respecte pas la condition, mon programme n'arrive plus a chercher la période et me trouve des durée plus grande que mon tableau ce qui est normqlement impossible... De plus il n'arrive pas à me faire un tableau indiquant la colonne des courbes réticente.

 

Je vous remerci par avance et espère que vous serez plus inventif que moi 😞

 

coridalement,

 

Grit

 

PS : le premier VI est en 2013 et le deuxieme est le meme en 2012

Tout télécharger
0 Compliments
Message 1 sur 5
4 411 Visites

Salut,

 

Je veux bien t'aider, mais ton vi est assez illisible et manque de commentaires, et ne veux pas passer trop de temps à essayer de comprendre ce que tu voulais faire.

Trois remarques à la vue de ton vi:

- un ctrl + u ne serait pas du luxe pour arranger un peu tout ça

- la séquence empilée est à éviter, ça crée des câbles dans tous les sens. Privilégie une boucle conditionnelle imbriquée dans  une boucle while, type machine d'état. Avec des régistres  décalage, le résultat est beaucoup plus propre et lisiable

-  essaie de commenter un peu, de mettre des étiquettes à tes câbles. Toi même tu gagneras en compréhension

Francis M
0 Compliments
Message 2 sur 5
4 397 Visites

Bonjour,

 

Merci de ta réponse, j'avoue que c'est un gros bazard.

 

J'ai mis en pièce jointe le même VI après ctrl+U et j'y ai ajouter des commentaires.

 

J'espère les avoir écrit de facon assez clair

 

Cordialement,

 

Grit

0 Compliments
Message 3 sur 5
4 391 Visites

Désolé je m'y perds... cette séquence empilée est vraiment à proscrire, au profit d'une machine d'états, beaucoup beaucoup beaucou (beaucoup) plus lisible... dans tone exemple, en fonction de ce qui se passe à l'étape 0, tu peux directement passer à l'étape 2 et éviter de te trainer des booléens... j'ai tenté de réorganiser ton vi, il y a trop de choses. Il faudrait vraiment simplifier ton vi et isoler le code qui pose pb car en l'état c'est indépannable...

Francis M
0 Compliments
Message 4 sur 5
4 386 Visites

je vais essayer de recommencer avec cette méthode alors, merci d'avoir essayé 🙂

 

Cordialement

 

Grit

0 Compliments
Message 5 sur 5
4 383 Visites