Remplir un tableau à partir d'un graphe, en temps réel

Bonjour,
J’ai un petit problème avec mes thermocouples, le signal qu’elles renvoient à l’acquisition est très bruité, j’ai donc filtré passe-bas ce signal. Mon principal problème se situe à l’étape suivante, celle du traitement du signal.En effet je voudrais relever des valeurs toutes les minutes et remplir un tableau avec la date et l’heure de ces relevés.
J’ai donc créé une table qui affiche les valeurs relevé mais le problème est que la table se remplie vraiment très vite, je n’arrive pas à le régler le système de façon à relever le signal comme je voudrais.
De plus je ne sais pas qu’elles sont celle du signal filtré et celle du signal non filtré.
Est-ce que quelqu’un pourrait m’éclairer svp ?
Merci d’avance pour vos réponses !
Résolu !
Accéder à la solution.

Voila le VI.
J'ai oublié de préciser que j'ai simulé un signal dent de scie avec un bruit blanc pour effectuer les essais et que les thermocouples seront cablées par la suite et reliées à un DAQ.
Pièces jointes :
exemple filtre 2.1.vi ‏74 KB

Similar Messages

  • Remplir un tableau au fur et à mesure

    Bonjour,
    Je dois tracer un diagramme de Bode en amplitude. Pour cela, j'ai créé un tableau de fréquence et un tableau d'amplitude qui me permette de tracer le gain.
    Je voudrais remplir mon tableau au fur et à mesure que le valeur sont mesurées. Le problème est que lorsque je relance une acquisition, le nouveau graphe ce superpose à l'ancien et les valeurs du tableau ne sont pas réinitialisées.
    J'utilise LabVIEW 8.5.
    Pourriez-vous m'indiquer comment faire pour réinitialiser le tableau à chaque fois que l'on recommence une acquisition ?
    Cordialement

    Bonjour,
    Merci d'avoir posté sur le forum NI,
    Je
    vous conseil d’initialiser votre tableau avec une constante 0 puis de remplacer
    chaque élément de celui-ci par les valeurs mesurées.
    Je
    vous joins un VI qui initialise un tableau avec la valeur 0 (taille du tableau sélectionné
    par l’utilisateur) puis des valeurs aléatoires sont générées afin de remplir le
    tableau.
    Cordialement
    Samuel G.
    Samuel G. | Application Engineer Team Leader
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet
    Pièces jointes :
    Tableau.vi ‏11 KB

  • Ne pas remplir un tableau avec les valeur par default

    Bonjour
    Voila mon problème.
    L'utilisateur doit selectionner une zone sur une image et l'ajouter à une liste.
    Il peut aller jusqu'à 3 zones. Il peut également choisir le mode de traitement de l'ensemble des zones.
    Lorsqu'il démare l'acquisition, on entre dans une boucle cadencé while, puis on regarde le boléan correspondant au mode, ensuite on entre dans un boucle for dont n est lié à la taille de la liste des zones.
    Le tableau est un tableau de cluster de 2 éléments.
    Dans certaines conditions, je ne veux pas remplir le tableau.
    le seul moyen que j'ai trouvé pour remplir le tableau selon ces conditions est grace au variables locales.
    Problème, cela prend trop de RAM et je suis limité ensuite.
    je joins un VI tres simplifié de mon probleme
    Merci
    Attachments:
    exemple.vi ‏85 KB

    Voila le VI.
    J'ai oublié de préciser que j'ai simulé un signal dent de scie avec un bruit blanc pour effectuer les essais et que les thermocouples seront cablées par la suite et reliées à un DAQ.
    Pièces jointes :
    exemple filtre 2.1.vi ‏74 KB

  • Graphe + (affichage temps réel) des données d'un tableau

    bonjour,
    voila j'ai un léger probleme avec mon vi ,
    j'ai deux tableaux , un avec la température et un avec le temps, lorsque j'execute mon eurotherm reagit bien 50°C pendant 30 secondes
    pas de souci.
    cependant je voudrai que ceci s'affiche en temps réel sur un graphique déroulant ou xy or celui-ci réagit bizarrement
    et je ne sais pas comment faire pour le faire bien apparaitre
    j'utilise une fonction assembler por assembler les 2 tableaux contenant la température et la durée cependant ca ne amrche pas comme je veux ejk vous joins mon vi, voyez si vous pouvez y a pparter des modifications.
    merci d'avance
    Attachments:
    température=f(temps).vi ‏46 KB

    Hi,
    thanks to post your questions in english, otherwise you can post any questions you want in french in the french community of the forum.
    Please also try to avoid creating several treads for the same question. This tread is transfered to the link below:
    graphe + (affichage temps réel) des données d'un tableau
    Regards,
    ClémentG

  • Comment remplir un tableau de données avec une structure événement ?

    Bonjour à tous.
    Je cherche à récupérer les données des curseurs d'un graph XY dans un tableau.
    Comme je fait plusieurs relevés j'utilise une fonction événement.
    j'ai réussi à incrémenter l'index du tableau à chaque enregistrement mais je n'arrive pas à inscrire les données dans le tableau.
    Comment inscrire ces données dans un tableau ?

    partant du principe qu'un petit VI vaut mieux qu'un long discours
    si tu as des questions, n'hésites pas
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
    Attachments:
    add to array.vi ‏26 KB

  • Graphe en temps réel par tableau de valeurs

    Bonjour,
    Je cherche à programmer une IHM en liaison avec un microcontrolleur.
    Une des fonctions à réaliser est de recevoir les données envoyées par le microcontrolleur, de les traiter et de les afficher.
    J'ai du mal au niveau de l'affichage pour l'instant, et je me demandais si vous pourriez m'aider.
    Le protocole mis en place est la réception d'un tableau de maximum 20 valeurs toutes les secondes.
    Ce que je n'arrive pas à effectuer est l'affichage "temps réel" des valeurs. C'est à dire que je souhaite actualiser l'affichage du graphe avec les nouvelles valeurs reçue, ainsi qu'en affichant en abcisse le temps t et non pas le nombre de valeurs.
    Ce n'est peut-être pas très clair donc je vous link mon VI test à ce propos.
    Su ce VI je génère des valeurs aléatoires que je traite. Ensuite j'essaye de les envoyer par array de 20 sur mon graph.
    Les problèmes rencontrés sont :
    _ Les nouvelles valeurs sont rajoutées "à gauche" du graph, c'est à dire au niveau du 0 de l'axe des abcisses et pas "à la suite" du graph précédent
    _ Les valeurs de mon tableau se remplissent également dans le mauvais sens : la dernière valeur du tableau correspond à l'index 0 alors que je souhaiterais le contraire
    Merci d'avance pour votre aide.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    concatenate graph v1.0.vi ‏21 KB

    Voici les résultats que j'obtiens en cherchant graph XY dans l'aide. Cf pièce jointe.
    Mon logiciel est en anglais, mais je ne pense pas que les exemples soient différents d'un language à l'autre.
    Les seuls VI proposés ayant comme nom graph XY sont ceux permettant de mettre un graph dans Excel ou Word, ce qui n'est pas ce que je recherche.
    Cet exemple ne serait-il pas présent sur ma version de Labview ?
    Pièces jointes :
    forum labview01.png ‏56 KB

  • Supprimer une ligne d'un tableau 2D type chaine et l'inserer dans le même tableau à partir d'une colonne spécifié

    Bonjour à tous
    Tous d'abord merci pour l'aide que vous pouvez m'apporter.
    Je vous explique ma problématique.
    J'ai un Tableau 2D type chaine. Je veux séléctionner une ligne de ce tableau et la supprimer de ce tableau. (jusque là rien de compliqué).
    La ligne que je viens de supprimer je voudrais l'inserer dans le même tableau mais à partir d'une colonne spécifié.
    Exemple :
    Tableau de départ
    A A A A A A A A
    B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Je supprime la ligne 2
    Tableau d'arrivé
    A A A A A A A A                          B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Voià, J'espère avoir été suffisamment claire dans mes explications.
    Merci encore pour votre aide.
    Résolu !
    Accéder à la solution.

    bonjour ; 
    essayer avec sce code 
    Sentenza wrote:
    Bonjour à tous
    Tous d'abord merci pour l'aide que vous pouvez m'apporter.
    Je vous explique ma problématique.
    J'ai un Tableau 2D type chaine. Je veux séléctionner une ligne de ce tableau et la supprimer de ce tableau. (jusque là rien de compliqué).
    La ligne que je viens de supprimer je voudrais l'inserer dans le même tableau mais à partir d'une colonne spécifié.
    Exemple :
    Tableau de départ
    A A A A A A A A
    B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Je supprime la ligne 2
    Tableau d'arrivé
    A A A A A A A A                          B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Voià, J'espère avoir été suffisamment claire dans mes explications.
    Merci encore pour votre aide.
    Sentenza wrote:
    Bonjour à tous
    Tous d'abord merci pour l'aide que vous pouvez m'apporter.
    Je vous explique ma problématique.
    J'ai un Tableau 2D type chaine. Je veux séléctionner une ligne de ce tableau et la supprimer de ce tableau. (jusque là rien de compliqué).
    La ligne que je viens de supprimer je voudrais l'inserer dans le même tableau mais à partir d'une colonne spécifié.
    Exemple :
    Tableau de départ
    A A A A A A A A
    B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Je supprime la ligne 2
    Tableau d'arrivé
    A A A A A A A A                          B B B B B B B B
    A A A A A A A A
    A A A A A A A A
    Voià, J'espère avoir été suffisamment claire dans mes explications.
    Merci encore pour votre aide.
    Forza Juventus
    Pièces jointes :
    test.vi ‏11 KB

  • Remplir un tableau

    Bonjour,
    Je suis un debutant sur Labview je veux juste savoir comment stocker des valeur dans un tableau et les afficher ensuite et ses valeurs je les prends à partir d'un code source c'est des temperature Merci 

    Bonjour,
    J'ai modifié votre VI afin de récupérer uniquement les valeurs de température de la ligne Temp.
    Cordialement.
    Pièces jointes :
    Tp-essai-Meteo - Copie_Modifié.vi ‏10 KB

  • Enlever des valeurs d'un tableau à partir d'un seuil

    Bonjour
    Exxiste t'il un Vi qui me permet d'enlever des valeurs d'un tableau en lui donnant un seuil .
    je m'explique : des données décimales de tensions analogiques rentrent dans mon tableau dans une plage de 0 à 10 , je souhaiterai ensuite enlever toutes  les valeurs,  par exemples,  supérieurs à 3,25 .
    Merci.
    Résolu !
    Accéder à la solution.

    Bonjour
      Je ne peux lire le VI de Bastien mais je te propose ceci :
      Dans une boucle for : comparer les valeurs avec la valeur seuil
    La fonction select attribue 0 si la valeur est plus basse que la valeur seuil
      La deuxième boucle for enlève toute les valeurs 0 du tableau en utilisant les fonctions search 1D array et Delete from array.
    L'image devrait t'éclairer.
    Francis
    Pièces jointes :
    tableau.JPG ‏57 KB

  • Comment faire un tableau à partir d'un autre tableau en ne prenant qu'une ligne sur 2 ?

    J'ai un tableau principal et je voudrais récupérer une ligne sur 2 ou sur 4 affin de discriminer mon premier tableau. ces lignes récupérées constitueraient alors un second tableau. Les 2 tableaux sont en 2D.

    Bonjour Madness
    Je passerai le tableau (2D) dans une boucle for.
    A l'intérieur, j'utiliserai la fonction "Decimate 1D array" dans palette "Array". Pour 1 ligne sur 5, tirer sur le "Decimate" pour qu'il ait une longueur de 5 elements, brancher uniquement le premeir vers la sortie de la boucle.
    NB : Si on récupère ainsi les colonnes au lieux des lignes, mettre avant et apres la boucle for le vi "transpose array".
    Please take some time to give a rating to my answer.
    Cheers.
    Doc-Doc
    Doc-Doc
    http://www.machinevision.ch
    http://visionindustrielle.ch
    Please take time to rate this answer

  • Problème graphe en temps relatif

    Bonjour,
    J'ai crée un VI d'acquisition de tension avec un port USB NI9219 qui mesure différentes tension d'entrée à une fréquence élevée(ex : 100 Hz). De plus mon VI enregistre les mesures que lorsque la tension mesurée change de 0,01v. Le VI trace également les courbes de tension dans un graphe déroulant qui comporte tous les points enregistrés (et seulement ceux la) depuis le lancement de l'application.
    C'est sur ce point que je n'arrive pas à avoir un graphe déroulant avec plusieurs courbes (4 maximum) avec une échelle des x en temps relatif. C'est à dire de t=0 (ex : minutes) jusqu'a t=fin du VI
    Lorsque je met les x en temps relatif il ne me met pas de temps mais des valeurs abérantes. De plus il n'incrémente pas du temps éffectué entre 2 mesures, il incrémente le temps de 1.
    (ex : on a t=5min entre 2 mesure enregistrées mais la courbe incréménte le temps de 1 sur la valeur abérante).
    Avez vous des solutions pour mon problème. Merci.
    Cordialement.
    Solved!
    Go to Solution.

    Cette valeur correspond à l'heure de la mesure, 952500:36:41 correspondant à 14h36 et 41s.
    Cela permet d'horodater les points plus précisément.
    Si vous souhaitez recréer votre échelle de temps en X, il faudra modifier le T0 de votre courbe.
    Pour cela vous allez devoir utiliser la fonction Construire une waveform permettant d’insérer votre courbe et aussi de modifier le t0, on insère cette fonction dans une boucle For afin de traiter les 4 courbes.
    Au départ du VI on initialise un registre à décalage à 0 afin que nos premiers points commencent à 0, puis on devra multiplier l’horloge d’échantillonnage par le nombre de point afin de définir le t0 des tours de boucles suivants.
    Cela devrait résoudre votre probléme.
    Cordialement
    Christophe S.
    FSE East of France І Certified LabVIEW Associate Developer І National Instruments France

  • Visualisation d'un graphe en temps reel à travers une subroutine

    Bonjour tous,
    Je développe un programme dans lequel je fais intervenir plusieurs subroutines. L'une d'entre elles me permet de visualiser un graphe (courbe d'hystérésis) en temps réèl. Malheureusement, ce graphe qui fonctionne très bien lorsque cette subroutine tourne seule ne fonctionne plus lorque cette subroutine est incorporée dans le programme principal. En effet, je n'obtiens que deux demi-courbes (rampe montante-rampe descendante) une fois qu'elles sont effectuée dans leur intégralité. Ces deux demi courbes correspondent à deux boucle while effectuées l'une après l'autre.
    Comment faire donc pour garder ce sous programme (que je vous envoie) en tant que subroutine facilement incorporable dans le programme principal tout en ayant la possibilité de visualiser la construction du graphe point par point (et non demi courbe après demi courbe).
    Merci à ceux qui ont essayé de comprendre, et grand merci (+ chocolats à Noël) pour ceux qui m'auront donné une solution.
    Attachments:
    hystérésis visible.vi ‏124 KB

    Bonjour,
    Pour visualiser une acquisition en continu à partir d'un programme principale plusieurs solutions existent :
    Le plus simple est de modifier la structure du programme pour que le sous-VI ne contienne pas la boucle while et que celle-ci soit présente dans le programme principal.
    Une autre solution simple est d'afficher la face avant du sous-VI contenant le graphique déroulant en premier plan lorsque vous faîtes appel à ce sous-VI. Vous avez aussi éventuellement la possibilité d'inclure la face avant du sous-VI dans un conteneur de face avant secondaire.
    Le problème que vous rencontrez fait appel à des notions abordées durant nos journées de formation.
    Vous pouvez également consulter les différentes ressources pédagogiques disponibles à l'addresse suivante :
    http://digital.ni.com/worldwide/france.nsf/web/all/F32FE08B3CE85FB6C1256EEF0045AEE3?opendocument&node=200102_f
    Salutations,
    Marc Larue
    Ingénieur d'application
    NIF

  • Remplacer des valeurs dans un tableau

    Bonjour,
    Je souhaite réaliser un tableau de 10 cases. Les cases sont remplies avec l'aide d'une boucle for. Mon problème est que je réinitialise le tableau à chaque fois que la boucle est finie. Ce que je voudrai c'est que au redémarrage de la boucle For, je remplisse le tableau à partir de la case 1 sans à chaque fois réinitialiser le tableau. Ceci veut dire que tant qu'une case n'est pas remplacée, elle garde la valeur qu'elle avait lors de la précédente boucle.
    Pouvez-vous m'aider ?
    Résolu !
    Accéder à la solution.

    Voici un exemple, j'espère que sa répond à la question
    Rodéric L
    Certified LabVIEW Architect
    Pièces jointes :
    exemple.vi ‏9 KB

  • Problème d'acquisition et de traitement de donnée analogique

    Bonjour,
    Je dois faire l'acquisition de données provenant d'un encodeur angulaire ( pour mesurer la position d'un pendule) avec une carte NI PCI-6013 je prend mes données sur N échantillons à raison de 5000 échantillons à une fréquence de 50kHz. Je dois donc afficher l'angle en continue et si l'utilisateur le souhaite enregistrer, au temps souhaité et à une fréquence de : 10,100,1000,10000 Khz,  la position en fonction du temps. Tout marche bien pour afficher l'angle en continue mais voilà dès que j'enregistre et que j'affiche le graphe en fonction du temps les données sont saccadées ( print screen en pièce jointe).
    Je suis débutant sur labview et c'est la première fois que je fais de l'acquisition. Je met mon vi en pièce jointe toute remarque est bonne à prendre ne serais-ce que pour simplifier mon programme.
    Je vous remercie d'avance
    Pièces jointes :
    Pendulesimple2012.JPG ‏136 KB
    PenduleSimple2012V1.01.vi ‏73 KB

    Bonjour Plantes,
    Dans votre programme, vous utilisez un assistant DAQ en échantillonnage fini, intégré dans une boucle While, certainement pour faire de l'acquisition en continue.
    Pourquoi ne pas utiliser directement un échantillonnage continu?
    Votre problème est certainement lié à la manière dont vous construisez vos tableaux (de manière dynamique), ce faisant LabVIEW à besoin de faire des réallocations mémoire constante pour remplir ces tableaux. Ce qui engendre un temps qui aura tendance à augmenter tout le long de l'exécution de votre application.
    Aussi, le fait de passer de gros tableaux à votre Graph XY, demande du temps à LabVIEW pour rafraichir votre FaceAvant ce qui peut donner cette sensation de saccade.
    Pour éviter cela, je vous encourage à utiliser une structure producteur/consommateur décrite ci-après. Cette Architecture permet de faire dans une boucle votre acquisition de données de manière continue ou non, et ensuite de déporter le traitement des données dans une autre boucle (consommatrice). Ce faisant votre acquisition de données n'est pas impactée par le temps de traitement des données.
    Ceci étant dit, je vous encourage à prendre connaissance des éléments suivant, qui vous permettrons de mieux comprendre comment fonctionne LabVIEW et comment utiliser de manière efficace la programmation DAQ, et les architectures associées:
    1 . Getting Started with NI LabVIEW Student Training
    2 . LabVIEW Application Design Patterns
    3 . Learn 10 Functions in NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
    4 . Getting Started with NI-DAQmx: Main Page
    Je vous souhaite une bonne journée,
    Rémi D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Les rencontres techniques de NI - Mesures et acquisition de données : de la théorie à la mise en ...

  • Graphe + tableau

    salut tout le monde!
    je veux faire un graphe de temps à partir d'un tableau comme indique les photos!!
    est t-il possible de faire n graphe pareil! 
    merci pour l'aide
    Pièces jointes :
    table event.PNG ‏7 KB
    graphique.PNG ‏29 KB

    Salut malmou,
    Ta question a suscité mon intérêt, je suis arrivé à faire quelque chose qui ressemblait à ce que souhaites faire:
    La méthode:
    - A période régulère, tu enregistre l'état de l'événement: actif (1) ou non actif (0)
    - Tu utilises un cluster pour envoyer les données dans un Graphe déroulant
    Ensuite tout est fait dans la config du graphe:
    - superposer les courbes
    - mode d'interpolation (carré)
    - remplissage sous la courbe jusqu'à 0
    Francis M | Voir mon profil
    Certified LabVIEW Developer

Maybe you are looking for

  • Xml Validation & XQuery Update

    Hello, I have a question on xml validation in Berkeley DB XML (2.5.16). I read in documentation that an xml can be validated against an xml DTD or Schema when is loaded into a container. However, when an XQuery Update is to be executed is there any c

  • On upgrading to Ver 4 I lost my Norton toolbar if I upgrade to Ver 5 will I lose it again?

    When I upgraded to Firefox 4 I lost my Norton toolbar with the security logins. Norton managed to restore the toolbar by upgrading to the latest version 2011. Will I lose this toolbar again when I upgrade to Firefox 5

  • None of the Ontario universities are on the list!

    Why is the University of Toronto (or any other accredited Ontario university) not on the list during Creative Cloud subscription? Thanks.

  • RRI : Passing the dates of the weeks

    Hi All, I have 2 queries and there is a jump from one query to another. In query 1 I have to display result for 4 weeks in a month (Week 1, Week 2, Week 3, Week 4) for the current year and prior year. And from this query I have a jump to Prior Year,

  • Can I edit the "purchased" playlist to track songs from Amazon?

    My smart playlist for "purchased" songs is set to track "purchased AAC" or "protected AAC." This picks up everything from Itunes but nothing purchased from Amazon. Is there a way to edit to retrieve those tracks as well? Thanks.