Mélange de données dans une FIFO ?

Bonjour à tous,
je me retrouve confronter à un problème qui après une journée de recherche reste un mystère pour moi...
Voilà le tous:
Pour commencer je récupère des valeurs depuis trois entrée analogique d'une carte 9222 du coté FPGA, et les assemble dans un tableau pour les transférer via une FIFO:
Dans l'indicateur du tableau, je vois que les données sont bien rangées {Ic,Uc,Cw}.
Je récupère donc ensuite ces données du coté RT:
Et là, surprise !!!! Toutes les données sont dans le désordre... et de manière aléatoire, sinon c'est pas drole...
Sachant que si elles sont rangées correctement je les récupère à l'aide de la fonction "Décimer un tableau 1D".
Quelqu'un aurait-il une solution ou se serait déjà confronter au problème ?
Cordialement,
Nathan
Résolu !
Accéder à la solution.

Si on prend le sens FPGA->Host, les données seront acheminées vers le buffer côté Hôte dès qu'il y aura de la place (par défaut le buffer est de 10000 éléments, reconfigurable). Le but est donc de lire la FIFO jusqu'à ce qu'il n'y ait plus rien, sachant qu'on n'écrit pas côté FPGA. On peut aussi vider la FIFO FPGA avec un FIFO Flush (dans le code FPGA). Les FIFOs FPGA sont aussi vidées lorsque le FPGA fait un reset, typiquement lorsque qu'on appelle la fonction Close FPGA Reference ou par appel explicit du noeud de méthode Reset côté Hôte... 
Bref, il existe plusieurs méthodes, à adapter en fonction de l'application
Eric M. - Application Engineering Specialist
Certified LabVIEW Architect
Certified LabWindows™/CVI Developer

Similar Messages

  • Qu'arrive-t-il si je ne lis pas les données dans un FIFO DMA?

    Bonjour,
        J'aimerais savoir ce qui arrive lorsque je ne lis pas les données dans un FIFO DMA. Est-ce que lorsque le FIFO DMA est plein, la nouvelle donnée est mise dans la file d'attente en faisant tout simplement sortir la plus ancienne donnée?
    Merci

    Bonjour,
    J'imagine que vous utilisez un CompactRIO ou une carte FPGA.
    CE qu'il faut savoir, c'est qu'une FIFO DMA est composée de 2 parties, une partie sur le composant FPGA (de la taille indiquée lors de la création de la FIFO) et une partie sur le Hote (Windows ou RT) beaucoup plus grande, et dont on peut faire varier la taille à l'aide d'un noeud de méthode de la palette FPGA Interface.
    Quoiqu'il en soit, lors de l'écriture dans la FIFO, ces 2 buffeurs vont se remplir. Lorsque les 2 seront plein, la fonction d'écriture vous retournera une erreur de Timeout, et la donnée que vous avez essayé d'écrire sera tout simplement perdue.
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Écriture dans une base de données Access

    Bonjour,
    J'utilise labview 8.5 avec le Toolkit NI LabVIEW Database Connectivity, et comme base de données Access 2007.
    Ma base de données est déjà créer, et je doit lui envoyer différentes données. J'ai créer un simple vi pour écrire une chaîne dans cette base de données mais j'ai une erreur : 
    L'erreur -2147467259 s'est produite à : Cmd Execute.vi->DB Tools Insert Data.vi->database.vi
    Raisons possibles :
    Exception occured in Microsoft JET Database Engine: Le nombre de valeurs de la requête doit coïncider avec le nombre de champs destination. dans Rec Create - Command.vi->Cmd Execute.vi->DB Tools Insert Data.vi->database.vi
    En utilisant les exemple de labview j'arrive à lire la base de données, mais je voudrais écrire.
    Merci
    Mickaël
    Pièces jointes :
    database.vi ‏16 KB

    Bonjour,
    Tout d'abord merci d'avoir posté sur le forum National Instruments. Poour votre problématique, je vous conseille de regarder l'aide détaillée LabVIEW de la fonction DB Tools Insert Data qui vous donnera toutes les informations nécessaires pour cette fonction.
    Dans votre cas, la data que vous voulez insérer n'est pas du type cluster. Or dans ce cas, le VI insert les données dans la colonne que vous spécifiez, entrée que vous n'avez pas spécifiée. Votre erreur doit donc venir de ce point.
    N'hésitez pas à regarder les exemples à la fin de l'aide détaillée qui vous aideront dans la mise en place de votre VI,en particulier l'exemple Sixtypes Insert VI.
    Cordialement
    Mathieu B
    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;}
    Forum Aéronautique, Spatial et Défense. Avec la participation exceptionnelle de Bernard DUPRIEU, Res...

  • Stocker des informations dans une base de données mysql via CVI

    comment puis je stocker des données dans ma base de données ??j'ai essayer les exemples que j'ai trouvé dans cvi mais ya tjr 1 probleme...
    merci

    Pour aller plus loin, il serait très utile de nous donner plus d'infos sur les probmlèmes que vous rencontrez ... Message d'erreur etc...
    Car Malheureusement, nous ne sommes pas devins
    Bonne journée,

  • Création d'une FIFO à plusieurs source d'entrée

    Bonjour à tous,
    J'ai un VI qui permet de communiqué avec une machine : 5 signaux analogique sont piloté en face avant par l'utilisateur. Ces signaux sont émis vers une machine qui y répond. Il y a donc génération et acquisition acquisition de signaux. Le tout est inclu dans une boucle While temporisée à 100 ms. 
    Les requêtes et réponses sont enregistrées dans dans un fichier.
    Or il se peut que la machine envoie des réponses dont la fréquence est plus rapide que 10Hz (1/100ms). Pour pouvoir gérer l'arrivé de plusieurs réponse dans une même itération de boucle je voudrais utilisé une FIFO.
    Ne maitrisant pas très bien les FIFO sur labview, je n'arrive pas à faire en sorte que ma FIFO ait plusieurs sources d'info. Je suis sûr que c'est un détail tout bête qui m'échappe.
    Quelqu'un peut-il m'aider?
    Merci.
    Cordialement,
    Luc

    Bonjour,
    Afin de pouvoir vous aider plus efficacement, pouvez-vous me donner un peu plus de détails sur votre système et votre projet?
    Vous est-il possible de poster vos différents Vis afin que l'on puisse comprendre votre problème plus facilement et vous aider.
    Cordialement,
    Yann C.
    France

  • Insérer une variable dans une boite de dialogue

    Bonjour,
    Je souhaite insérer une variable (valeur extraite d'un tableau Excel) dans une boite de dialogue. J'ai vu qu'on pouvait modifier le VI Express de la boite de dialogue mais je ne vois pas comment insérer cette variable dans le message d'entrée.
    D'avance merci

    Hello,
    First, I think that you can get more help if you write in english. Because i didn't understand completly your question.
    What you're trying to do it's simply what's in the attached picture? it's not all the code. Simply the read cell and the dialog.
    Software developer
    www.mcm-electronics.com
    PS: Don't forget to rate a good anwser ; )
    Currently using Labview 2011
    PORTUGAL
    Attachments:
    excel_dialolog.JPG ‏5 KB

  • Filtre automatique des données dans un tableau sur diadem

    Bonjour à tous,
    Débutant sous Diadem, je souhaiterais filtrer des données dans un tableau sous diadem 2012 (style filtre automatique excel).Je possède trois colonnes: Date / Valeur / État (1=bon ; 3=mauvais). Je souhaite afficher uniquement les valeurs avec un état bon (état = 1) et ainsi pouvoir exploiter par la suite ces valeurs (courbes, statistiques...).
    - Existe-t-il un filtre rapide pouvant répondre à ce besoin?
    - Peut on sélectionner automatiquement plusieurs lignes avec une valeur connue et les supprimer (exemple ici: sélectionner toutes les lignes avec un état à 3)?
    - Sinon existe-t-il une autre solution ?
    D'avance merci pour vos réponses
    Nicolas
    Solved!
    Go to Solution.

    Re bonjour,
    Je pense avoir trouvé une solution pour afficher uniquement les valeurs souhaitées dans ce cas.
    - Créer une nouvelle colonne "Valide"
    - Ouvrir calculator et saisir la formule suivante : Ch("[1]/Valide")=Ch("[1]/Valeur")*(Ch("[1]/Etat")+CTNV(Ch("[1]/Etat")>1))
    On obtient ainsi une nouvelle colonne "Valide" dans laquelle on renvoie les valeurs de la colonne "Valeur" si "Etat" est 1; sinon on renvoie "NoValue" pour les états supérieurs à 1. On peut ensuite travailler et visualiser des graphes à l'aide de cette dernière colonne.
    Espérant avoir apporté une aide (ou des pistes) à d'autres personnes dans cette situation.
    Nicolas

  • 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

  • Copier-coller toutes les données d'une fiche du carnet d'adresse

    Dans les versions antérieures du Carnet d'adresse, je pouvais facilement copier d'un seul coup toutes les données d'une fiche pour les coller dans un document.  Mais suite à une mise-à-jour récente, je dois copier les données de chacun des champs un à un pour les coller dans un autre document.
    Existe-t-il un truc pour revenir à cette ancienne possibilité ?
    Merci de m'aider !!

    I don't speak or read French so I'm depending on a Babelfish translation, but I believe you are seeing an issue with text on a curve disappearing from your document when you print.
    If I remember correctly this is a known bug. It may have been fixed finally in the 6.0.4 update, but I'm not certain.

  • Nombre d'occurrence dans une chaîne de caractère

    Bonjour,
    Voila j'aimerais construire un VI permettant de me donner le nombre de fois ou je trouve le caractère que je specifie, dans une chaîne de caractère.
    En vous remerciant.
    Cordialement.
    Luc
    Résolu !
    Accéder à la solution.

    "on" a discuté de "tout ça" avec altenbach sur le forum anglophone.
    J'ai voulu "tester" avec une petite routine en assembleur et un appel DLL.
    (recherche du nombre d'occurrences d'un caractères dans une chaine)
    à ma grande surprise, je n'arrive pas à faire "mieux" en assembleur !
    Je suis très étonné ! Peut-être LV prend-t-il un "temps fou" dans sa procédure d'appel à une DLL.
    Je ne vois que ça.
    clic ici
    (mon dernier post)

  • Stopper plusieurs boucle while dans une structure évènement

    Bonjour.
    Je gère actuellement l'acquisition de données sous LabVIEW et ai mis en place une structure évènementielle.
    Mon programme possède 6 fonctionnalités principales correspondant à 6 boutons :
    - paramètres de sécurité
    - étalonnage des capteurs
    - paramètres de l'essai
    - quitter le programme
    - démarrer l'essai
    - arrêt de l'essai
    Jusqu'à présent, les 5 premières fonctionnalités s'exécutent à merveille.
    Le problème réside dans l'interruption du code (sans le quitter attention !!) lors de l'appui du bouton "arreter essai".
    Lors de l'appui du bouton démarrer, 5 boucles while s'exécutent simultanément (soit dans l'évènement "Demarrer Essais : value change").
    J'ai tenté de relier chaque condition d'arrêt de ces boucles à la variable locale "Arreter Essais" (cf. ex ici http://forums.ni.com/t5/Discussions-de-produit-de-NI/Quitter-une-boucle-While-dans-une-structure-Eve... post n°7/9).
    Le programme semble alors bien s'interrompre... mais repart de plus belle sans que je ne sache pourquoi :/
    Autre test : relier les conditions d'arrêt à une variable globale prenant la valeur vraie dans l'évènement "Arreter essais : value change", là encore échec cuisant.
    Je vous joint une imprécran d'une des 5 boucles while en question, afin d'illustrer peut-être de meilleure manière mon problème.
    Si vous avez une piste de résolution du problème, n'hésitez surtout pas.
    Pour finir, je travaille sous LabVIEW 8.6.1
    Merci d'avance.
    Arnaud
    Attachments:
    Boucle WHILE d'affichage sur le graphe.png ‏29 KB

    Duplicate
    Flo
    Open Diagram First

  • Probleme avec la fusion de données dans in design

    BOnjour, Je débute dans in design et je rencontre un probleme
    j'arrive à faire une fusion de données dans un document..mais il n'y a qu'un enregistrement par page...
    comment faire pour que plusieur ligne de mon fichier csv figure dans une même page
    par exemple 4 ou 5 id dans une même page
    merci pour votre aide

    Hello,
    This forum related to Dynamics CRM and not to Dynamics NAV. Please ask you questions on following forums:
    https://community.dynamics.com/nav/f/34.aspx
    http://dynamicsuser.net/forums/default.aspx?GroupID=3
    Dynamics CRM MVP/ Technical Evangelist at SlickData LLC
    My blog

  • Sauvegarde de données dans un fichier txt

    Bonjour,
    Je vous explique mon problème ... j'ai réalisé au cours d'un stage un vi qui me permet de récupérer plusieurs infos d'un four (2 températures, pression, ...). Je souhaite maintenant sauvegarder ces données dans un fichier txt. Seulement j'ai un petit soucis car je ne sais pas trop comment m'y prendre, j'ai plusieurs boucles cadencées (une pour chaque donnée récupérée). Est ce que je suis obligé d'avoir un fichier txt pour chaque boucle ou est ce qu'il est possible de stocker chaque donnée dans un tableau et les récupérer dans un seul fichier une fois les boucles stoppées (toutes mes boucles finissent au même moment et sont relancées toutes les 100 ms) ? Ou sinon est il possible de fusionner des fichier txt ?
    Je vous remercie
    Résolu !
    Accéder à la solution.

    Voici un petit exemple, juste pour illustrer mon propos et vérifier que j'ai bien compris le problème.
    Pour des questions ou envoie de programme, ma boite de message privé est toujours ouverte, sinon en postant sur le forum plus de gens pourront répondre.
    Rodéric L
    Certified LabVIEW Architect
    Pièces jointes :
    exemple enregistrement.JPG ‏16 KB

  • Ecriture de données dans un fichier existant

    Bonjour,
    Je suis en stage et j'utilise la version 8.5 de LV.
    J'acquiert des données analogiques que je dois envoyer vers une feuille excel. Cela marche presque correctement sauf que je souhaite écrire les données acquises dans un fichier déjà existant .Je voudrais que mes données soient écrites en face des cases déjà écrites pour obtenir quelque chose qui ressemble à "voulu.JPG" (en pièce jointe) mais ce que j'obtiens c'est ce que j'ai pris comme screenshot (voir: obtenu.JPG)
    Je met en pièce jointe également mon VI pour que vous voyez exactement ce que je fais.
    Merci pour vos réactions et suggestions.
    cdlt.
    edjo.
    ecriture de données dans un fichier existant excel labview
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    projet stage GO4.vi ‏55 KB
    voulu.JPG ‏3841 KB
    obtenu.JPG ‏397 KB

    Bonjour Edjo,
    Je t'ai mis des commentaires dans le code LabVIEW en pièce jointe.
    Normalement il t'est possible d'utiliser le VI directement en tant que sous-VI
    dans ton application.
    Pour faire fonctionner cet exemple ouvre le VI  Excel Set Data
    Specified Field.vi puis entre le nom de la feuille sur laquelle tu souhaite
    écrire tes données (i.e. Sheet1 il me semble qu'en Français c'est Feuil1)
    indique ensuite le début et la fin du champ où tu souhaite écrire tes données,
    rempli le tableau et lance le VI. Au lancement le programme va te demander de
    lui indiquer le ficher Excel. 
    Un ActiveX ou Component Object Model est un composant logiciel créé par
    Microsoft et est utilisé en programmation pour permettre le dialogue entre
    programmes. Je t'invite donc à aller sur le site MSDN pour
    avoir plus d'information sur les fonctions de l'ActiveX Excel.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Pièces jointes :
    Set Excel Data 8.5.zip ‏38 KB

  • Diagramme de bode dans une boucle de simulation

    Bonjour,
    je continue mes questions sur control design et simulation
    Comment à partir d'un système décrit dans une boucle de simulation, tracer le diagramme de Bode de la fonction de transfert en boucle ouverte?
    merci
    Robert Papanicola
    http://sciences-indus-cpge.papanicola.info/
    http://www.medicalistes.org/~maxime-plus/

    Bonjour,
    Excusez moi mais j'ai un peu de mal à comprendre votre problème.
    J'ai essayé de faire un test que je vous envoie en pièce jointe.
    Ici j'ai initialisé mon tableau et chaque itération de boucle se fait au bout de 1 sec.
    Etant donné que la seule donnée logique de mon tableau initialisé se trouve à la ligne n ou je met n (attention le tableau commence à l'indice 0) alors je sortirai de la boucle ou bout de n+1 sec.
    J'espère que ce VI répondra à votre question, sinon, n'hésitez pas à revenir vers nous et à nous donner plus d'informations.
    Cordialement.
    Pierre Denis
    National Instrument
    Pierre_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;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014
    Attachments:
    test.vi ‏9 KB

Maybe you are looking for

  • User SAAPOS has no RFC authorization for function group SYST

    Dear Experts , I am facing this issue kindly help me to sort out this issue. User SAAPOS has no RFC authorization for function group SYST Thanks in advance Thanks & Regards, Srinivasan.V Moderator message: please search for available information and

  • Mitigation Notification

    Dear colleagues! I have tried to find any information regarding my question... and have not found any solutions or discussions :\ I have the following issue: Is it possible to notify Mitigation (or Risk) Owner about using his/her Mitigation? I.e. App

  • Using vibrate uri

    Hi everybody, I've just realized that vibration feature is added as an xml URIs. Based on 7920 Release Notes for Firmware 3.01: With firmware release 3.01, the Cisco Unified Wireless IP Phone 7920 can now receive a URI message from a third party XML

  • Re: PeopleSoft returns an ORA-1858 error msg when retrieving a VARCHAR(30)  Fld

    Have received a similar error - created a view utilizing a dblink - six fields - 4 from dblink and 2 from local database. The view and data is accessible thru PL/SQL Developer with no errors. When attempting to access thru a page/component utilizing

  • Help to Find Pro*C in installation disk for windows

    I need to install in a 9.2.0 db on windows the Pro*C/C++ precompiler (it seems that all components were not installed when the software was installed). I cannot find the component in a customized installation selection. Can someone help me?