Stockage de données numériques dans un tableau pour pouvoir les traiter

Bonjour,
Je suis actuellement en stage, et mon sujet est : "Automatisation d'un banc de mesure du bruit émis". Je travaille essentiellement avec LabVIEW, et j'ai une question au niveau des tableaux. Alors en faite, j'utilise un analyseur de spectre et je souhaite récuperer le bruit. La fonction pour récuperer le bruit se trouve dans une boucle while et ressort seulement une donnée numérique par boucle, ce que je souhaite c'est donc de pouvoir la stocker à chaque boucle dans un tableau, puis de faire la moyenne de tableau, cependant je n'arrive pas à effectuer cela, j'ai essayé de créer un tableau mais je ne peux pas lui mettre en entrée une valeur à chaque fois, donc si vous savez comment je pourrais procéder je suis preneur !
Je vous remercie d'avance,
Cdt,
Florian
Solved!
Go to Solution.

Bonjour Flod29,
Une solution serait de créer un registre à décalage sur un tunnel de sortie de votre boucle afin de récupérer les valeurs des boucles précédentes et de calculer à partir de ces valeurs une moyenne (cf Capture1).
Une deuxième option serait de changer le mode du tunnel de sortie de votre boucle en Indexation afin de récupérer toute les valeurs dans un tableau en sortie de boucle (cf Capture 2).
Je vous souhaite une bonne journée,
Cordialement,
Sabri JATLAOUI - Certified LabVIEW Developer
Attachments:
Capture 1.PNG ‏5 KB
Capture 2.PNG ‏9 KB

Similar Messages

  • Comment afficher des controle numérique dans un cluster avec scrollbar?

    Bonjour, je rencontre quelques difficultées sur Labview!
    Objectifs: afficher dans un cluster des controles numériques. Le nombre de controles numériques est défini par l'utilisateur( et est limité a 30).
    Si le nombre de controle est supérieur a 5, j'aimerais faire apparaitre un scrollbar afin de garder une taille de fenetre raisonnable. En se deplacant sur le scrollbar, on doit voir apparaitre le 5+i eme controle.
    Cf vi ci joint.
    Merci de m'aidez svp. Je bloque sur ce probleme.
    Cordialement.
    Attachments:
    test1.vi ‏17 KB

    Salut tbob..
    Je n'ai jamais vu de "scrollbar" sur un "cluster".   Cependant, c'est possible d'en creer un a partir du Property Node..  Mais elle disparait immediatement...
    Voir l'image ci-jointe
    Message Edited by JoeLabView on 08-27-2007 01:07 PM
    Attachments:
    Scrollbar.PNG ‏15 KB

  • Acquisition de donn�e num�rique with pic

    salut;
    hi;
    i have a problème with sending data to pic , i wont to send numeric data from pc to pic . i will put my program of pic and the programm of labview , please healp me .
    #include<16F877.h>
    #include<stdlib.h>
    #use delay(clock = 4000000)
    #fuses HS,NOWDT,PUT,NOPROTECT, NOLVP
    #use rs232(baud = 9600, xmit = pin_c6, rcv = pin_c7)
    boolean rxf=0;  //initialisation de bit de flag
    #int_rda             // intrruption CAN --> (RS232 receive data available)
    void rda();
    void Init()            //procedure d'initialisation des ports de convertisseur et le canal d'acquisition du signal
       setup_adc_ports(A_ANALOG);   //tous les entrés de port "A" sont analogiques
       setup_adc(adc_clock_div_32);//initialisation du clock interne de convertisseur
       set_adc_channel(0);         // initialisation de la voie d'acquisition
       enable_interrupts(int_rda); //activer l'interruption materielle CAN-->(RS232 receive data available)
       enable_interrupts(global);  //activer l'interruption globale-->adc_off
       SET_TRIS_B( 0x00 );
    void Read_tx232()
       unsigned int x;
       x= read_adc();           //X reçoit le résulat de conv
       putc(x);                                 //**PIC-PC
        rxf =1;
    void write_rx232()
    char  source;
    unsigned int transmit;
    source = getc();
    transmit=source-48 //conversion de char en int
    output_b(transmit);
    rxf =1;
    void main()
    OUTPUT_B(0x00);
       Init();
       while(1)
          Read_tx232();
          rxf = 0;
          write_rx232();
          delay_ms( (500) );
    mouka
    Attachments:
    transmission série.c ‏2 KB
    FINALE.vi ‏66 KB
    programme sous labview.JPG ‏138 KB

    salut,
    j'ai un problème de communication entre mon pic et le logiciel labview
    en faite j'aime envoyer des commandes de labview vers le pic .
    la commande sera entier entre 0 et 255 , j'ai fait ma conversion en char et je l(ai envoyer vers le pic comme l'indique la figure si jointe .
    j'ai vérifier la présence de signal sur le pin RX du pic , " le signal existe" mais qu'and je le convertie en tension (a travers un dac 0808 et qui marche , le pic aussi il est en bonne état) j'obtient une tension presque nulle, très proche de zéro.
    donc mes questions sont :
    1-qu'est ce que c'est le    "   *IDN?\n    "    trouver dans le max ( mesure and automation) de labview?
    2-est ce que le premier caractère émit par labview est par défaut \n ou ça dépend de l'utilisateur ,
        parceque le nombre correspondant à \n est 13 et avec un peut de calcul (13*5)/256=0.13 justifie l'absence de la tension au bord de mon dac.
    3-est_ce_qu il'y de problème dans mon programme (labview)
    4-c'est quoi *IDN?
    j'éspaire avoir de l'aide parceque c'est vraimon urgent.
    et merci pour tous.
    remarque 5v est l'alimentration du pic.
    mouka
    Attachments:
    FINALE.vi ‏59 KB

  • J,ai acheté 2 livres numériques chez Cultura mais ne peux les lire. il est écrit "ce livre est protégé par Adobe DRM. Je me connecte surs mon compte Adobe et le même message apparait..que dois-je faire .

    I

    First, this is a user to user forum and no fellow user is under the obligation of answering any question. And second, your problem seems to be more related with Digital Editions than with Reader, so I suggest that you post your question here: Adobe Digital Editions.
    And don't forget that the forum in French is here: Forums en français

  • Filtre numérique pseudo temps réel

    Bonjour,
    Je travaille actuellement sur une application pour réaliser un traitement numérique du signal soit pour étudier les filtres numériques, soit pour corriger en "pseudo" temps réel des systèmes asservis.
    Je suis parti sur la version jointe mais avec la boucle cadencée, je suis limité en période d'éch. (Je ne touve pas une autre source que 1 kHz??).
    Je travaille en LV2012 avec une carte PCI6228 (mes VIs acceptent la USB6009 pour test).
    Je suppose que le temp de traitement (mesure des résultats à l'oscilloscope) est tel que Tech =  2 ms au minimum ?
    Puis-je utiliser au mieux la carte qui doit pouvoir travailler à plus de 500 Hz de fech mais enn utilisant une autre structure que les boucles cadencées ??
    merci de vos éléments de réponses.
    FcRd
    Pièces jointes :
    TraitementTpsReel.zip ‏443 KB

    Bonjour,
    Merci pour cette réponse.
    Nous n'aimons pas trop ActiveX car il est un peu trop "Microsoft dépendant". Nous avons eu déjà des problèmes avec une de nos applis en changeant de Word (par exemple): le service informatique ne demande pas notre accord pour installer telles ou telles mises à jour sur un poste...
    Pour le script (Matlab, Scilab), nous avons effectivement vu ces techniques mais cela ne convient pas à l'usage que nous voulons en faire, à savoir:
    - nous recherchons puis validons un protocole statistique avec un logiciel "spécialisé" et plus adapté
    - nous intégrons ces calculs statistiques dans notre appli LabVIEW en minimisant leur requalification.
    En important un script dans un code LabVIEW, rien ne garantit que personne n'a touché par mégarde au code Matlab/Scilab donc nous sommes obligés de revalider les calculs statistiques une fois le programme LV terminé.
    Avec un code compilé, nous pouvons garantir que le code statistique, une fois validé, ne peut être modifié. D'autre part, cela nous permettrait de corriger/modifier éventuellement les calculs sans avoir à requalifier toute l'appli.
    Nous voulons bien "séparer" les 2 parties pour:
    1 - minimiser les étapes de qualification
    2 - simplifier les mises à jour
    Nous cherchons donc un logiciel statistique qui puisse générer un code compilé ou utiliser un protocole de com compatible avec LabVIEW. Nous connaissons bien LabVIEW et ses possibilités mais au niveau logiciel mathématique compatible, nous n'y connaissons rien.
    Des statisticiens nous ont parlé de R mais n'étant pas des programmateurs ni des experts R, ils ne pouvaient pas nous dire s'il pouvait générer des codes compilés et/ou "dialoguer" avec LabVIEW.
    Matlab pourrait, nous a-t-on dit, générer des DLL/EXE mais de là à pouvoir les exploiter sous LabVIEW, nous n'en savons rien.
    Nous continuons à chercher. Encore merci.

  • Quelle est le courant maximum que peux fournir une sortie numérique de la Carte NI USB-6009?

    Bonjours,
    je voulais savoir qu'elle peut être le courant maximum que peux fournir une sortie numérique sans l'endommager de la carte NI USB-6009. 
    Cordialement.
    theolamache

    Salut :
    https://www.google.fr/search?q=NI+USB-6009
    Premier PDF que tu trouves, page 22/30, avec ça tu devrais pouvoir
    en déduire la puissance maximale d'une sortie numérique.
    De toute façon c'est l'appareil qui est le facteur limitant, en général
    c'est pas lui qui va flancher, c'est simplement qu'il ne fournira pas
    assez de courant pour faire fonctionner ton appareil.
    Il faut penser à un étage d'alimentation piloté par commande
    numérique (genre triristor) si tu veux plus de puissance. La
    commande numérique est juste là pour pouvoir piloter ce
    genre de composant, pas plus.
    David Koch

  • Filtre numérique à l'aide d'une équation récurrente dans FPGA

    Bonjour à tous,
    Je souhaite implémenter un filtre numérique dans un FPGA (Virtex-II à 1 million de portes logiques).
    Pour cela j'ai calculer mon équation récurrente qui est : S(n) = (1/b0)*[a0.E(n) + a1.E(n-1) + a2.E(n-2) - b1.S(n-1) - b2.S(n-2).
    Je me suis dis qu'implémenter cette équation serait facile avec les registres à décalages mais finalement j'ai plutôt un problème avec le format des datas.
    En effet, les coefficients calculés sont très petits. Par exemple a0 = 0,01226993865.
    Et donc en utilisant le format FXP (virgule fixe), je dois mettre le format <+/-,39,2> : [-2,000000E+0 , -2,000000E+0]:7,275958E-12  , pour avoir la résolution adéquate à mes coefficients.
    Le problème c'est que lors d'une multiplication, le nombre de bits "word length" (39 dans mon exemple) et "integer word length" (2) est doublé...
    Avec un maximum de 64bits pour le "word length", j'atteins vite la limite...
    Avez-vous une idée pour la mise en oeuvre de ce filtre ?
    Une astuce à utiliser pour manipuler des nombres très petits dans un FPGA ?
    Benjamin
    Résolu !
    Accéder à la solution.

    Bon, voilà comment j'ai fais :
    Depuis mon controleur, je multiplie par 2^15 mes coefficients puis je les envoie dans mon FPGA.
    Et dans mon équation récurrente sur FPGA, je multiplie ma sortie par 2^(-15) !
    Et le tour est joué !

  • Graphe numérique

    Bonjour,
    Je voulais savoir comment fonctionnaient exactement les graphes numériques.
    Je veux transformer un entier en tableau de booléens et l'insèrer dans un tableau à chaque itération. Je désire ensuite afficher les données dans un graphe numérique, mais je ne vois pas comment faire, sachant qu'il ne faut pas que j'utilise l'horloge de l'ordinateur pour effectuer un horodatage (l'horodatage doit être indépendant de l'ordinateur).
    Je souhaite utiliser un graphe numérique parce que j'ai essayé d'afficher les données dans un graphe déroulant, mais le problème est que la transition des fronts montants ou descandants n'est pas suffisament rapide (insertion d'un temps de montée). De plus lorsque j'empile les courbes pour les afficher chacune indépendamment des autres, 5 courbes sont affichées dans la même zone de graphe.
    En fait je souhaite faire l'acquisition de données numériques avec un boîtier USB. Le boîter me donne les données sous forme de mots de 8 bits (correspondant à 8 entrées numériques) et je souhaite afficher et enregistrer les 8 entrées de façon indépendante.
    Je vous mets la source en pièce jointe.
    Quelqu'un peut-il m'aider?
    Merci d'avance.
    Max
    Attachments:
    transformer_port_num.vi ‏71 KB

    Salut,
    Dans Aide >> recherches d'exemples tu as plusieurs exemples mettant en oeuvre les graphes numériques.
    cordialement
    Kamal
    NIF

  • Convertir un fichier numérique de format ingénieur en nombre flottant

    Bonjour,
    actuellement je suis en train de cogiter sur la conversion de format d'un fichier numérique car j'ai besoin de calculer des paramètres physiques à partir de ces données.
    En effet, les données numériques en format ingénieur contenus dans des fichiers txt constituent un tableau de 3 colonnes et plusieurs lignes.
    Lorsque j'essaie de lire ces fichiers avec la fonction "lire un fichier tableur", LabVIEW n'affiche que les premiers chiffres avant la virgule car ces fichiers sont en format ingénieur.
    De ce fait, je voudrais bien savoir obtenir les données sous forme de tableaux avec toutes les chiffres qui figurent dans les fichiers.
    Merci beaucoup

    Bonjour,
    S'il vous plaît, je n'arrive pas a convertir un fichier comme celui la (qui contient des nombres en format scientifique) en un autre qui contiendra des nombres flottants.
    Merci d'avance
    Pièces jointes :
    tableau.jpg ‏82 KB
    fichier txt.txt ‏22 KB

  • Comment faire pour synchroniser une sortie numérique sur une horloge?(pci6602)

    Bonjour,
    je voudrais faire des sorties numériques sur une ligne donnée (carte PCI 6602), ces sorties étant réalisées pour chaque front descendant d'une horloge. En clair, je voudrais synchroniser la sortie d'une valeur numérique sur le front descendant d'une horloge : comment faire ?

    Bonjour,
    Générer des mots numériques ou une valeur binaire (sur une ligne ou un port) avec un cadencement matériel (horloge compteur sur front montant ou descendant) n'est pas possible avec une carte 6602 seule car elle n'a pas été conçue dans ce but. La carte possède 8 compteurs mais n'a pas de ligne ou port programmable en acquisition ou génération (cadencement logiciel ou matériel). Pour ce type d'opération d'E/S numériques, les cartes PCI-DIO-32-HS, PCI-6533 et PCI-6534 ont été spécialement conçues. Elle permettent de faire de la génération sur 8, 16 ou 32 bits (1,2, ou 4 ports) jusqu'à 20 Mo/S (pour la 6534) et avec un cadencement matériel (horloge interne ou externe avec choix du type de front déclenchant le transfert). L'horloge peut provenir par exemple de votre carte compteur PCI-6602.
    Enfin, une bonne solution serait d'utiliser une carte Serie M qui intègre à la fois des compteurs (génération d'horloge) et un port 8 bits (génération numérique sur une ligne ou le port entier). Le cadencement numérique matériel est possible avec les cartes Série M. Ce type de carte serait donc un bon compromis pour ce que vous souhaitez faire.
    Cf "Correlated I/O" dans le tutorial ci-dessous:
    * M Series – The New Data Acquisition Standard – Frequently Asked Questions
    http://zone.ni.com/devzone/conceptd.nsf/webmain/9c71859eb70d6e2586256ed7007ccf7f?OpenDocument
    Bonne continuation
    Matthieu Gourssies
    National Instruments France

  • Augmenter la fréquence des sorties numériques

    Bonjour,
    Pour piloter des micros moteurs, j'utilise les sorties numériques d'un boitier National Instrument SC-2345, ce boitier est relié à une carte DAQCard 6024E et elle même relier au PC.
    Le programme sous LabView fonctionne bien (la table de vérité correspond au 4 fenêtres).....le micro moteur tourne.....mais très lentement. Pour que ce moteur fonctionne normalement il faudrait une fréquence de fonctionnement de 200HZ.
    Je vous fais parvenir 2 VI:
    Le 1ier ---------> micromoteur_1.vi:  c'est avec ce VI là que le moteur tourne....mais lentement.
    Le 2ième -------------> micromoteur_réglage_fréquence_horloge_cadencement.vi: après plusieurs recherches dans les exemples et avoir été conseillé j'ai apporté des modifications. Au lieu d'ouvrir et de fermer 4 voies dans 4 fenêtres.....j'en ouvre et en ferme qu'une. Il y a donc 4 sorties numériques dans une voie, j'ai rajouté aussi une horloge de cadencement (pour faire faure tourner le moteur à 200HZ), et un tableau pour faire évoluer la table de vérité.
    Ce deuxième VI me remonte un défaut. Auriez vous une autre solution? Merci pour votre aide.
    Attachments:
    micromoteur_1.vi ‏114 KB
    micromoteur_réglage_fréquence_horloge_cadencement.vi ‏28 KB

    French to English for more responses
    Hello,
    To control micro motors, using the digital outputs of a box National Instrument SC-2345, this cabinet is connected to a 6024E card DAQCard and even connect to the PC.
    The program works well under LabView (the truth table corresponds to 4 windows )..... micro engine running ..... but very slowly. For this engine should be operating normally an operating frequency of 200Hz.
    I send you 2 VI:
    The 1st ---------> micromoteur_1.vi is with this VI is that the engine is running .... but slowly. 
    The 2nd -------------> micromoteur_réglage_fréquence_horloge_cadencement.vi after several searches in the examples and have been advised I have made changes. Instead of opening and closing 4 tracks in 4 windows ..... I opened and closed one. There are therefore 4 digital outputs in a way, I added a clock timing (faure to run the engine to 200Hz), and a table to change the truth table. 
    The second VI me back a fault. Would you suggest any other solution? Thank you for your help.

  • Enregistrement waveform numérique

    Bonjour,
    Je souhaite savoir comment faire pour enregistrer une waveform numérique dans un fichier tableur. J'ai essayé avec une waveform analogique, cela ne pose pas de problème, par contre je n'y arriva pas en numérique. Je vous mets un exemple de ce que je désire réaliser.
    Quelqu'un a-t-il une idée?
    Merci d'avance.
    Max
    Attachments:
    Enregistrement waveform numerique.vi ‏47 KB

    Bonjour,
    Ci-joint un exemple qui répond peut être à votre question.
    Cordialement,
    Sanaa T.
    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;}
    >> http://www.nidays.fr/images/081110_ban_nidays09_468X60.gif
    Attachments:
    Enregistrement waveform numerique_bis.vi ‏46 KB

  • Enregistrer des valeurs dans un tableau

    Bonjour
    J'utilise LabView 2011 et je souhaite enregistrer les valeurs que me retourne mon codeur incrémental dans un tableau, qui ensuite les affiche sur un graphe.
    Comme ca ne marchait pas, je me suis aidé de l'aide labview :
    J'ai donc défini une taille fixe pour tout les tableaux, et également coché "Pré-allouer les tableaux et chaines automatiquement".
    Cependant ça m'affiche encore comme erreur que mes fils et tableaux doivent être de taille fixe dans la cible actuelle.
    Pourriez-vous m'aider svp ?
    Merci beaucoup

    Bonjour
    Effectivement la cible est le compactRIO 9075.
    En fait ce que je veux faire, c'est enregistrer le signal du codeur, uniquement lorsque la position du moteur varie.
    C'est-à-dire que je voudrais voir tous les signaux que lorsqu'ils varient, puis que l'enregistrement s'arrête quand il n'y a plus de variations.
    Le VI que j'ai codé est en pièce jointe.
    Merci à vous.
    Pièces jointes :
    element3.vi ‏139 KB

  • Stockage des données d'un capteur dans un fichier texte ou excel

    Bonjour, après avoir réalisé un programme permettant de lire
    les données d’un capteur, et avoir réussi à faire varier les gains et offset du
    capteur via labview, je souhaiterais stocker les données lues par ce capteur
    dans un fichier texte ou excel.
    Dans mon programme, j'ai découpé l'information de la chaîne de caractère émise par le capteur, pour en garder seulement deux valeurs numériques ( la température TA et la température TC )
    Après de nombreuses tentatives en suivant les exemples de
    labview sur l’enregistrement de données dans un fichier, je n’ai toujours pas
    réussi à trouver le moyen d’obtenir ceci.
    Voilà pourquoi j’aimerai avoir votre avis sur la manière de
    réaliser cette opération.
    Cahier des charges :
    - le capteur renvoie deux
    températures (TA et TC), grâce à labview j’ai réussi a isoler la partie de
    l’information qui m’intéresse, cette dernière est au format numérique.
    Il faut que ces données soit stockées dans un
    fichier texte ou excel de manière à avoir deux colonnes : une pour les
    températures Ta et une autre pour les températures TC.
    Je vous joins mon programme en pièce jointe.
    Merci par avance.
    Cordialement.
    Pièces jointes :
    port serie ecriture(modif18) - Test structure évênement.vi ‏109 KB

    Dans ce cas là je pense que ta meilleure option est la structure producteur/consomateur.
    Le principe est simple: tu as deux boucles, la première qui fait l'acquisition et la deuxième l'enregistrement. Le transfert des données de l'une à l'autre est commandé par des évênements.
    Pour voir la structure, tu crées un nouveau vi: New../From Template/Frameworks/Design Pattern/Producer/Consumer Design Pattern (events)
    Après il y a un peu de boulot pour l'adapter à ton projet, mais rien de très compliqué je pense.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

  • Insertion de plusieurs courbes dans un graph numérique

    Bonjour
    Je souhaite intégrer dans un graph numérique 11 courbes.
    le problème rencontré est que dans les propriétés du graph les 8 première courbes sont gérées en "Signal" est les 8 suivantes en "Ligne".
    A quoi correspond ces différences. pouvons nous gérer tout en "Ligne" ou tout en "Signal".
    Merci pour votre aide
    Résolu !
    Accéder à la solution.

    Bonjour,
    J'ai trouvé la raison de ce déphasage...
    Il s'agit en fait du paramètre "Position de la transition" pour le signal donné qui change à partir du 9ème signal...
    Il faut alors modifier ce paramètre comme sur l'image ci-dessous et tout rentre dans l'ordre :
    PS: pour avoir accès à cette propriété il faut afficher la "légende des tracés" : bouton droit sur le graph (partie grise) » Éléments visibles » Légendes des tracés.
    Cordialement,
    Da Helmut

Maybe you are looking for

  • XML Publisher report failing with java.lang.outofmemoryerror.

    Hi, We have developed a custom Oracle report that produces an XML output file that is about 13M in size (about 18K rows from the database). When running report as concurrent request, post processing fails with java.lang.outofmemoryerror. The failure

  • I have to reopen the scan program after each picture is saved.

    When I scan a picture using the HP Solution Center program, it forces me to Save and Finish after each scan and then I have to open Solution Center program all over for each picture.  The older version allowed me to scan and save a picture but left n

  • IPhone can't finish 3.0 update

    So, I was getting the 3.0 OS update for my iPhone and I hit the "Download and Install" button. It statrs downloading and I NEVER unplug it or anything and it starts extracting the software, etc., etc. Then, it says it will restart the iPhone and that

  • Mailbox Folders Not Showing Mail Correctly

    Hello, I am kind of baffled at what my mail is doing. Here is a screenshot of what my mailboxes look like. When I send a message it doesn't show up in the "sent" or "sent mesages folder", those only show select messages that were sent weeks ago. Also

  • Application server admin console

    i want run sample code for jms jupiter and earth program from j2eetut1.4 in my sun app server8 admin console the Physical Destinations option under jms resources is not found. what might be the problem