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 :

Regrouper 2 acquisitions sous le même VI pour afficher sur un graphe unique


Sujet :

LabVIEW

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut Regrouper 2 acquisitions sous le même VI pour afficher sur un graphe unique
    Salut,
    je suis debutant sous labview, je suis en stage et je dois réaliser l'acquisition du courant et de la position d'un moteur. Pour cela j'ai un codeur incremental et son conditionneur ainsi qu'une sonde ampermetrique.
    J'arrive a acquerir les données sous labview dans deux VI différents mais qd je ve regrouper les deux acquistions sous le meme VI de façon à pouvoir afficher sous le meme graphe, les deux courbes, ca ne marche plus. Pourquoi??

  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,

    Poste un peu de code et indique-nous ta version ( ainsi que DAQ ) si tu veux que l'on t'indique des pistes.

    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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    Je suis sous labview 8.2 et j'ai une carte PCMCIA 6024E.
    Labview m'indique l'erreur -50103 lorsqu'il passe par la deuxieme acquisition.
    Je joint des images montrant mon code et l'erreur, le code de mes deux acquisitions differentes, séparées et le code du regroupement.
    Merci

  4. #4
    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 viens de regarder ton code et quelque chose me choque: tu effectues la creation de ta voie DaqMx a chaque iteration de boucle while...

    Il faut que tu crée le DaqMx avant de le demarrer à l'exterieur de la boucle puis que tu boucles sur la fonction de lecture.

    L'erreur provient du fait que tu veux recreer le meme voie DAQ a l'iteration suivante alors la precedente n'est pas close.

    Juste pour info, tu peux regrouper les 2 voies DaqMx en 1 seule. Cela permettra de simplifier ton code. Mais ce n'est absolument pas obligatoire, c'est zuste plus beau
    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.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci,
    J'ai modifié mon code et cela fonctionne pour un echantillonage toutes les 10ms, mais le temps devien de plus en plus lent. Je voudrais passé à un échantillonage toutes les 1ms. Sinon j'ai un PB ac mon intensité je voudrai la transformer en tension rms mais je n'arrive pas.
    Ci joint mon code.

  6. #6
    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,
    Normalement, tu peux descendre beaucoup plus bas.
    Si cela rame, je suppose que cela vient d'un tableau de points qui grossit, grossit ... Je parle par experience lol

    Je ne peux pas regarder tes VI ( pas la bonne version), peux tu faire des copie jpeg?

    merci
    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.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    J'ai pu enregistrer mon code en une version inferieure, mais je ne pouvais que l'enregistrer en version 8. Sinon je mets des imprim ecran.
    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 viens de regarder ton programme. Je confirme: le probleme vient de la taille des tableaux utilisés qui augmente sans cesse, le systeme a du mal a suivre.

    C'est un probleme courant. Pour le resoudre, il n'y a pas d'autre solution que de limiter la taille des tableaux.

    A priori, tu n'utilise les points que pour l'affichage et pour calculer la vitesse.

    As tu reellement besoin de conserver tous les points a afficher?
    S'il le faut, stocke les dans un fichier au fur et a mesure ( via un FileAppend) et tu pourra plus tard les recharger.

    Pour la vitesse, tu devra trouver un petit algo plus evolué pour calculer la vitesse a partir de la position et de la vitesse precedente.
    Vive les maths, lol

    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.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci,
    J'ai besoin de garder en memoire tous les points durant 2min environ sachant que je souhaiterais réaliser une acquisition toutes les 1ms. Ca fait beaucoup ds un tableau mais je vois pas comment faire autrement.
    Par contre c quoi un FileAppend?
    Merci.

  10. #10
    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 2 minutes sont tout a fait tenable à 1ms, cela fait moins de 1 mega de données par tableau. Cependant, tu n'as pas qu'un seul tableau...

    Par FileAppend, je parlais des fonctions de base qui ajoute des données a la fin d'un fichier. ( le mode append ).
    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.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    En fait si j'ai bien compris, tu me conseil juste de sortir l'ecriture du tableau de la boucle. c'est ca?
    Merci encor.

  12. #12
    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

    Ce qu'il faut faire, c'est juste limiter la taille du tableau en memoire.

    Pour cela, tu dois simplement redimensionner le tableau pour ne garder que les dernier points ( 1000*60*2 = 120 000 points ), il faut faire juste apres l'ajout des points au tableau.

    Si tu tiens à enregistrer tes points, il faut le faire en mode APPEND sur les points issus du daq ( ainsi tu enregistrera a la fin du fichier juste les nouveaux points).

    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.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    Je suis désolé mais je débute sous labview et je ne voi pas comment faire, ni pour fixer la taille du tableau. Par contre en sortant de la boucle je sais faire un ajout de tableau de tableau.
    Et le mode APPEND je voi pas du tout ce que c'est et je n'ai rien trouvé, ni sur internet, ni sur l'aide de labview.
    Merci

  14. #14
    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
    Pour le tableau, regarde dans la palette Tableau. Tu y trouvera toutes les fontions necessaires ( ajout, redimension, ...). Fais un CTRL+H pour afficher la fenetre d'aide. Elle te donnera les infos utiles quand tu survelera a la souris la fonction

    Concernant la gestion des fichiers, la marche a suivre est plus compliquée pour un neophique car tu dois modifier le format des datas. Oublie donc ce point. D'ailleurs, je ne suis pas certain que les fichiers sont utiles pour toi.

    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.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    En fait cela veut dire que je suis pbligé de faire plusieurs acquisition dans ma boucle, par exemple 1000, et que ma boucle dure 1s, et que je remplie un tableau avec ces 1000 valeurs. Alors je peux sortir de ma boucle et remplir un tableau avec les n fois 1000 valeurs??
    Si c'est le cas, j'ai un problème car je ne cadence pas mon acquisition, je fais une acquisitin à chaque fois que je passe dans la boucle et en même temps je rempli le tableau au fur et à mesure.
    Merci.

  16. #16
    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
    La gestion des tableaux sous LV est tres simple mais differente du C.
    La, c'est de la concatenation toute simple.


    Tu créé un tableau vide:T=[]

    tu fais une boucle, tu ajoutes 3 points T=[]+[1,2,3]=[1,2,3]
    tu redimensionne a 2 pts => T=[2,3]

    tu refait une boucle d'ou T=[2,3] + [4,5,6]
    tu redimensionne d'ou T=[5,6]

    etc
    et tout ca dans ta boucle. Comme ca tu affiche toujours le meme nombre de points, les n derniers du tableau
    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.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Salut,
    J'ai essayer de faire ce que tu m'a demande ds un vi different.
    J'ai relalise une boucle for ou j'incremente 3 fois, j'ai donc le tableau [1,2,3], mais quand je lui demande de redimensionner le tableau, il me renvoi le tableau [1,2]. Je voudrais garder les derniers resultats et non les premiers.

  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
    oupss, j'ai été trop vite: tu doit extraire le tableau a partir de la position x pour une longueur y.
    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.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci ça fonctionne mieux, j'ai même réussi à le faire pour des tableaux à plusieurs dimensions.
    Je vais voir si je peux augmenter ma vitesse d'acquisition.
    Tchao a+.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PROC] Regrouper plusieurs modalités sous un même libellé
    Par Rinenes dans le forum SAS Base
    Réponses: 6
    Dernier message: 30/08/2011, 23h55
  2. load image vers serveur pour afficher sur page
    Par gardorheian dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/09/2010, 08h46
  3. code pour afficher sur listview en dao
    Par sanfour_walhan dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/12/2006, 21h22
  4. $dispo[0] et session pour afficher sur page suivante?
    Par oceane751 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2006, 04h10
  5. Regrouper des fichiers sous un même nom
    Par Azharis dans le forum C++
    Réponses: 7
    Dernier message: 22/06/2005, 12h05

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