IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

[Débutant] Moyenne, valeur max d'un signal


Sujet :

LabVIEW

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut [Débutant] Moyenne, valeur max d'un signal
    Bonjour tout le monde,
    je viens vers vous car je suis en train de faire un programme en Labview, mon premier ...lol
    Je déjà fais du langage G sous HPVee, mais bon ça fait longtemps.

    Donc mon programme :

    j'utilise un NI usb 6009, pour récupérer une tension, qui est une mesure de courant.

    J'ai trouvé un programme qui fait ce que je veux mais qui fait une acquisition de T°. (moy, min et max) dans les tuto de NI.

    Le truc c'est que, quand je le fais de mon côté ça ne marche pas. J'ai :
    MOY = tension instantané
    MAY = Tension instantané

    Je vous mets une une image de mon programme :



    J'essaie plusieurs outils d'analyse mais rien !

    Si quelqu'un a une idée pour m'aiguiller merci d'avance

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,

    Ton programme est une boucle qui effectue une acquisition de quelques points avant de les traiter. Donc, il est normal que tu n'obtienne que des valeurs instantannées.

    Il faut que tu fasse une boucle qui fasse l'acquistion de ces quelques points et qui les concatenent au points precedement acquis.
    Tu pourras donc faire tes stats sur l'ensemble.
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    merci je vais essayer,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    je suis toujours en train de chercher.... car sa marche pas lol.

    Mais je pensais que sous labview il existait des outils qui permettait de fair la moyenne et les valeur MAX/MIN d'un graphique?

    Car mon but est très simple.... lol, déterminer la valeur moyenne et la valeur max de deux signaux

    bon je replonge ds mes recherche....

  5. #5
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,
    Les outils existent et fonctionnent plutot bien.

    Le probleme est que tu ne leur donne pas les bonnes données a traiter.
    Au lieu de donner une courbe de 20 secondes, tu leur donne 20 fois une courbe de 1 seconde. Il est donc normal que tu aie des resultats ne correspondant pas a ceux que tu veux.... Le programme ne fait que ce que tu lui demande.


    Je repete que tu doit concatener ta courbe avec les precedentes par l'intermediaire d'un Append WaveForm et des Shift Register de la boucle while ( desolé mais je n'ai pas les noms francais).
    Je ne peux pas mettre de copie ecran car Je n'ai pas de LV sous la main.

    Bon courage quand meme.

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  6. #6
    Membre averti Avatar de VictorNet
    Profil pro
    Inscrit en
    Février 2008
    Messages
    275
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 275
    Points : 382
    Points
    382
    Par défaut
    Si tu veux faire ça d'une façon sale, tu peux utiliser le noeud de proprieté de ton graph, il y a un historique des données que tu va pouvoir moyenner.

    Shift Register : registre à decalage
    "L'imagination est plus importante que le savoir." -Albert Einstein-

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Scyrius Voir le message
    Hello,
    Les outils existent et fonctionnent plutot bien.

    Le probleme est que tu ne leur donne pas les bonnes données a traiter.
    Au lieu de donner une courbe de 20 secondes, tu leur donne 20 fois une courbe de 1 seconde. Il est donc normal que tu aie des resultats ne correspondant pas a ceux que tu veux.... Le programme ne fait que ce que tu lui demande.


    Je repete que tu doit concatener ta courbe avec les precedentes par l'intermediaire d'un Append WaveForm et des Shift Register de la boucle while ( desolé mais je n'ai pas les noms francais).
    Je ne peux pas mettre de copie ecran car Je n'ai pas de LV sous la main.

    Bon courage quand meme.

    a+



    oki je te remercie;

    Shift Register = registre a décalage
    je suis en train d'essayer avec ce système.

    mais il est clair que sa change qd même de HPVee, j'ai retrouver mon programme, et je trouve que ce logiciel était plus intuitif.... enfin c comme pour tout qd on est habituer a un truc... c dur de passer a autre chose lol


    Nœud du graphe ?
    je ne connais pas.... je v voir
    merci

  8. #8
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,

    Je considere que la seule difference de LV par rapport a VEE est que ce sont tous les 2 des langages graphiques, c'est tout,

    LV fonctionne par flux de données: tu fais evoluer des données. Dans ton cas, ta donnée de depart est une wfm vide a l'origine que tu remplis progressivement et sur laquelle tu fais des traitements.

    Pour info, tu peux acceder aux proprietes "cachées" des controles: le noeud de proprietes mais la, cela fait plutot doublon dans ton programme: tu mets des datas dans ton graph puis tu les recuperes pour les traiter, autant faire les 2 en meme temps ( les mettre et les traiter)
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Comme je ne maitrise pas encore tres bien LV, je vais pas persister avec les registre a décalage.

    Je vais juste faire une moyenne en faisant la somme de toutes mes valeurs avec le nombre d'incrémentassions....

    Cela ne devrais pas etre trop compliqué.

    Je vous tiens au courant...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    bon et bien rien du tout pour la somme/nb itteration.
    La somme renvoie des valeurs incohérente.....

    qq Valeur négative alors que mon signal est toujours positif.

    je tourne en ce moment avec ce programme :



    mais comme dis plus je doit stocker les valeurs ds un tableau, pour ensuite faire la moyenne et trouver le max..... mais je trouve pas le mopyen de faire un tableau.....la honte.... je pense qu'en labwindows ce serai plus simple
    lol

  11. #11
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,

    Detail auquel je n'avais pas pensé: comment as-tu configuré l'assistant DAQ?

    Autre detail: comment sais tu que te signal est toujours positif?

    derniere remarque: ton code s'ameliore ( le bouton stop, ...)

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    merci pour tes encouragement...

    alors :
    la tension devrais toujours être positive car :
    je récupère la tension au borne d'une résistance 0.1 ohm. qui est en série avec une éolienne et une batterie.
    Tension fournie par l'éolienne : 0 -> 12v.
    De plus lorsque je regarde au multimètre la tension est toujours positive.

    La configuration de l'assistant DAQ :

    Configuration
    V1 : Mode d'acquisition : N échantillons
    échantillons a lire : 10K
    fréquence : 10K

    Configuration du terminal : RSE

    Déclenchement : aucun


    voila voila,
    je v prospecter pour trouver ma solution...

    merci pour votre aide

  13. #13
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,

    Erreur de debutant ( mais sans consequence ) : il ne faut jamais utiliser un voltmetre pour regarder un signal evoluant dans le temps ....

    Pour le reste , c'est ok a premiere vue.

    J'en reviens donc a ce que j'ai dis auparavant: tu dois utiliser le registre a decalage pour pouvoir faire des calculs coherents. Regarde les exemples LV, il y a ce qu'il faut.

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    oui c vrais pour le voltmètre....

    En ce qui concerne le registre a decallage, j'ai regarder des exemple... mais me sentait encors a mon aise...

    cela peut marché pour faire une moyenne sur des 10aines? 100aines d'echantillons?


    merci

  15. #15
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Pas de limite sur le principe mais bon, c'est comme en C, si tu joues avec des millions de données, ca marche mais ca rame.....

    Concernant le registre a decalage, n'oublie pas que LV fonctionne par flux.

    Tu as ton tableau vide au depart ( un flux) qui arrive à ta boucle While ( a gauche).
    Tu effectues des operations sur celui-ci puis ton flux arrive a droite de ta boucle.
    Le principe du registre à decalage est de transferer les valeurs de droite de l'iteration n dans les valeurs de gauche de l'iteration n+1.
    Ainsi, si, dans la boucle, tu ajoute des données issues de DAQ à ton tableau, celui-ci contiendra toujours toutes les données quelque soit l'iteration et tes mesures de moyennes seront faites entre [ T0, Tn] et pas entre [Tn-1 , Tn].

    Pour moi, tu dois absolument utiliser cette methode car elle est simple et correspond a l'esprit Labview.

    Bon courage.
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    oki
    merci

    je suis en train d'y travailler


    je te tiens au courant


    merci

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bon j'ai réussi a faire qq chose :

    cela me donne des résultat satisfaisant :



    Cepandant, lors du démarrage j'ai ma moyenne qui m'affiche une valeur qui tend vers l'infini et rapidement tombe a zero et ensuite me donne une valeur cohérente de la moyenne total

  18. #18
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,

    Une petite aide: tu a 10 points dont la moyenne est 5. tu ajoute un nouveau point qui est egal a 6. Quelle est la nouvelle moyenne?
    aide: (5*10+6)/11

    Ce n'est pas du Labview mais de l'algorithmie ...

    Pense a eclaircir un peu ton code, il est un peu brouillon mais ca commence a etre bien.
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2011, 11h34
  2. Réponses: 1
    Dernier message: 13/05/2009, 11h23
  3. [Débutant] Déterminer la valeur max d'un signal
    Par tiya17 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 29/08/2008, 14h26
  4. Réponses: 9
    Dernier message: 05/01/2007, 20h04
  5. Sélection d' une valeur max depuis 2 tables
    Par ipeteivince dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/05/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo