Filtre numérique: comment synchroniser l'entrée et la sortie avec DAQmx et une carte PCI6251?

j'ai réalisé un filtre numérique ( voir fichier joint). j'envoie sur la carte PCI.6251 le signal d'un GBF et je récupère sur un oscillo le signal de sortie de ma carte. Dans le diagramme de la face avant tout fonctionne correctement, mes signaux sont correctement synchronisés et tout ce passe comme dans la théorie.
 Par contre si je visualise les signaux d'entrée et sortie sur l'oscilloscope les niveaux sont corrects mais ils ne sont plus synchronisés.  Que manque t'il à mon programme? ou quelle erreur ai je commis?
Attachments:
filtrenum.vi ‏433 KB

Bonjour Krsone,
Vous avez tout à fait raison concernant l'utilisation des signaux ACK et STOPTRIG.
Je vous conseille d'ailleurs, pour avoir plus d'information, de bien lire les pages 2-9 et 2-13 du manuel de la carte que vous pouvez télécharger dans le lien ci-dessous :
http://digital.ni.com/manuals.nsf/websearch/3ED785B6332E5C3186256F9400812729?opendocument
Maintenant, pour l'utilisation de la fonction "DIG_Trigger_Config", vous pouvez trouver une aide détaillée sur cette fonction en allant dans :
"Démarrer>>Tous les Programmes>>National Instruments>>NI-DAQ" et en sélectionnant "NI-DAQ Function Reference Help"
Dans l'onglet "Rechercher" tapez le nom de la fonction.
J'espère que cela vous aidera à avancer dans votre projet.
Cordialement,
Sanaa T
National Instruments France
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

Similar Messages

  • 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é !

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

  • 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

  • Daqmx enregistrer des taches numériques et analogiques

    Bonjour,
    Sur labview depuis peu après avoir utilisé signal express pendant pas mal de temps, je tente de réaliser une application permettant de visualiser et d'enregistrer dans mesures analogiques et numériques.
    Je dispose d'un Ni cDAQ-9174 avec différents modules (thermocouples, mesures de tensions, mesures numériques...).
    En ce qui concerne l'affichage des courbes et le paramètrage, je m'en suis sorti, par contre en ce qui concerne l'enregistrement dans un fichier TDMS, je rencontre des soucis.
    Je souhaiterais enregistrer ma tache analogique et ma tache numérique, ainsi que l'horodatage, mais je n'arrive pas à cumuluer les taches, ni à mettre l'horodatage, et je ne peux pas lancer plusieurs fois le vi daqmx - configurer l'enregistrement...
    J'ai essayé beaucoup de combinaisons, mais rien ne semble fonctionner.
    Si vous avez un exemple pouvant m'aider, ou une aide à m'apporter, je vous en remercie d'avance.
    Je vous joins une version de mon vi faisant uniquement l'enregistrement de la partie analogique.
    Cordialement,
    Jon
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Mesure Thermocouple v1.vi ‏101 KB

    En fait avec l'assistant DAQ je ne peux configurer l'enregistrement, à moins que je ne me trompe ?
    J'ai commencé par utiliser l'assistant avant de reprendre des exemples pour utiliser ce dont j'ai besoin.
    Actuellement j'essaye d'utiliser d'autres fonctions, comme la fonction "Exporter des waveforms vers un fichier tableur (1D)" mais je ne trouve pas d'exemple là dessus...
    J'arrive à récupérer les mesures que je fais, mais j'ai un décalage entre mes mesures analogiques et numériques, l'horodatage est faux, et j'ai des blancs dans le fichier excel ainsi créé.
    Je joins le vi version 2012, peut être quelqu'un aura-t-il un exemple pour m'aider à avancer sur cette version ?
    Merci d'avance.
    Jon
    Pièces jointes :
    Mesure Thermocouple v2.vi ‏85 KB

  • Garder la valeur d'un contrôle numérique

    Bonjour,
    Je voulais savoir s'il était possible de toujours garder la valeur d'un contrôle numérique sur LabVIEW. C'est à dire que lorsque l'on rentre une valeur et qu'ensuite on ferme le programme et que le lendemin on utilise ce même programme est-il possible d'avoir toujours la valeur rentrée la veille dans ce contrôle numérique ?
    Merci d'avance.

    et en exe il faudra sauvegarder la donnée dans un fichier, par exemple le fichier ini de l'application en utilisant
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • 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

  • LABVIEW : Synchroniser encodeur en quadrature et entrées numériques

    Bonjour à tous,
    je cherche à acquerir de maniere synchronisé la valeur d'un codeur en quadrature (par daqMX avec en type d'entrée codeur angulaire) et des entrées TTL (tout le PORT0 d'une carte USB 6251)
    le but est de mesurer précisement la valeur du codeur à chaque changement d'état d'une des entrées (le temps de scrutation doit etre inférieur à la milliseconde).
    Seulement, je ne sais pas à partir de quoi synchroniser les entrées. Avec l'horloge de cadencement, je ne trouve pas d'option correspondant à mes besoins.
    Auriez vous une idée de comment je dois faire ?
    Merci d'avance!
    p.s : (je possède labview version 8.2)

    Bonjour
    Merci pour l'information, et désolé pour le retard j'etais sur un autre sujet.
    Mon probleme et que je n'arrive pas à trouver de source compatible pour cadencer l'entrée compteur (mesure d'angle par encodeur en quadrature).
    Mon but étant de réaliser le plus simplement possible,  l'acquisition d'un port digital (port 0)  de maniere syncrhonisé avec la valeur de la position angulaire. (le tout dans une boucle tournant le plus vite possible).
    Peut etre n'est il pas possible de synchroniser une entrée compteur avec des entrées digitales ? (la carte utilisée : USB-6251 et version de labview 8.2).
    pour le moment je me contente d'acquérir les deux informations de maniere non synchronisé, mais cela ne peut pas convenir à mon besoin.
    je joins le vi (tres simple) que j'utilise pour le moment.
    Merci d'avance!
    Pièces jointes :
    compteur.JPG ‏50 KB
    compteur.vi ‏37 KB

  • Synchroniser encodeur en quadrature et entrées numériques

    Bonjour à tous,
    je cherche à acquerir de maniere synchronisé la valeur d'un codeur en quadrature (par daqMX avec en type d'entrée codeur angulaire) et des entrées TTL (tout le PORT0 d'une carte USB 6251)
    le but est de mesurer précisement la valeur du codeur à chaque changement d'état d'une des entrées (le temps de scrutation doit etre inférieur à la milliseconde).
    Seulement, je ne sais pas à partir de quoi synchroniser les entrées. Avec l'horloge de cadencement, je ne trouve pas d'option correspondant à mes besoins.
    Auriez vous une idée de comment je dois faire ?
    Merci d'avance!
    p.s : (je possède labview version 8.2)

    Bonjour
    Merci pour l'information, et désolé pour le retard j'etais sur un autre sujet.
    Mon probleme et que je n'arrive pas à trouver de source compatible pour cadencer l'entrée compteur (mesure d'angle par encodeur en quadrature).
    Mon but étant de réaliser le plus simplement possible,  l'acquisition d'un port digital (port 0)  de maniere syncrhonisé avec la valeur de la position angulaire. (le tout dans une boucle tournant le plus vite possible).
    Peut etre n'est il pas possible de synchroniser une entrée compteur avec des entrées digitales ? (la carte utilisée : USB-6251 et version de labview 8.2).
    pour le moment je me contente d'acquérir les deux informations de maniere non synchronisé, mais cela ne peut pas convenir à mon besoin.
    je joins le vi (tres simple) que j'utilise pour le moment.
    Merci d'avance!
    Pièces jointes :
    compteur.JPG ‏50 KB
    compteur.vi ‏37 KB

  • Enregistrer et récupérer des valeurs de variables numériques entre deux exécutions d'un logiciel créé avec Labview 2009

    Bonjour,
    Je cherche le moyen le plus fiable et simple pour enregistrer et récupérer des valeurs de variables numériques entre deux exécutions d'un logiciel créé avec Labview 2009.
    Cordialement
    Philippe

    Une fois l'executable fermé, on perd les valeurs de variable partagée? Comment peux t on les stocker automatiquement à la fermeture de l'exe et les récupérer à son ouverture? Il y a toujours la solution de les enregistrer sur un fichier texte mais je n'ai pas l'impression que cela soit la solution la plus usuelle. J'ai vu qu'il y avait la possibilité d'allouer les clefs de registres à la création de l'installeur. Est ce que ces clefs de registres peuvent servir à stocker des données de configuration pour mon logiciel comme des variables numériques?
    Cordialement,
    Philippe

  • Logiciel triggé par une entrée numérique

    Bonjour à tous,
    Je suis nouveau en LabVIEW et produits NI.
    Je n'ai pas réussi à trouver une réponse à ma question dans le forum.
    Voici mon besoin: A partir de 2 entrées numériques (A et B) de TOP de synchronisation, je dois déclancher l'envoi de 2 trames par liaisons série. J'utiliserais LabVIEW pour celà.
    Voici mes questions: Existe-t-il des trigger qui vont faire une "interruption" sur le soft à partir d'entrées numériques (TTL) ? Si oui est-ce que tous les produits NI sont compatibles pour peu qu'il y ai des entrées numériques ? Quel est l'élément LabVIEW pour attendre le TOP de synchronisation ? (j'ai vu celui ci: http://forums.ni.com/ni/attachments/ni/4170/10637/1/Wait%20Next.JPG mais je ne sais pas si ça convient).
    Merci d'avance pour votre aide.

    Bonjour,
    Il est tout à fait possible de réaliser ce type de programme. Suivant le matériel que tu as, tu dois aller voir dans la doc et dans les spécifications, tu cherches "trigger source". Tu peux faire un trigger logiciel ou matériel avec source externe pour déclencher l'envoi de tes trames !!!
    Regarde dans les exemples NI de ton logiciel LabVIEW tu y trouveras des exemples.
    Il faut utiliser la librairie de VIs DAQmx pour faire ton trigger.
    Bon courage.
    Philippe B.
    Certified Associate Developer / Dépt Moyens d'essais
    www.ingenia-system.com

  • Enregistrement d'une entrée analogique lors d'un changement d'état d'une entrée numérique.

    Dans mon application, je dois contrôler si un manocontact de pression pneumatique est bien réglé. C’est-à-dire,  je dois visualiser sur « la face avant » la valeur d’une entrée analogique du module NI 9203 à laquelle une entrée numérique du module NI 9422 change de valeur (passe de 24Vdc à 0).
    SVP, Je préfère un exemple pour mieux comprendre.

    Hi Jacob,
    Sorry it took me some time to respond but if you still have problems with this. I would suggest you take a look at the example i attached. You can also find this example with the NI Example finder because it comes standard with Labview.
    There you will also find the description of what the example will do. But in short you are going to have to configure your analog measurement to be triggered on a digital edge change.
    In the NI Example finder are perhaps also other examples that can help you. Try it out. You can find the example finder on the bottom right when you are in the getting started screen or when you are in a vi, go to help and then select find examples.
    Once the example finder is open navigate to Hardware input and output -> DAQmx -> Analog Measurements -> Voltage, there you will find the example i attached with a description. Good luck and keep me posted.
    Kind Regards,
    Joris Donders
    National Instruments
    Applications Engineering
    www.ni.com/support
    Attachments:
    Acq&Graph Voltage-Int Clk-Dig Start.vi ‏42 KB

  • Détection front numérique sur entrée analogique

    Bonjour,
    Comme indiqué dans le titre, je cherche a faire une détection de front numérique
    sur une entrée analogique. Je dispose d'une carte NI 6259.
    Toutes mes I/O sont utilisées. C'est pourquoi, j'ai pensé à une entrée ana.
    J'ai essayé d'utilisé des fonctions de traitement du signal, mais je n'arrive à rien.
    Entre autre, "mesure d'impulsion" et "Amplitude et niveau"
    Quelqu'un aurait-il déjà été confronter au problème?
    Cordialement
    Louison
    Résolu !
    Accéder à la solution.

    Bonjour,
    Le VI proposé n'est pas si compliqué que cela...
    Pour faire un trigger analogique logiciel, il suffit simplement d'effectuer une lecture en continu de la tension en entrée, de comparer cette tension à la valeur sur laquelle on souhaite déclencher (première boucle while de l'exemple), et ainsi de quitter la boucle d'acquisition continue, puis d'effectuer l'action que vous souhaitez (deuxième boucler while).
    Bien sur l'exemple propose de sauvegarder les mesures avant déclenchement, ce qui n'est pas utile dans votre cas.
    Cordialement,

  • Comment transférer mes photos de mon appareil numérique a mon ipod

    Comment transférer mes photos de mon appareil numérique à mon ipod?

    Google translate:
    How do I transfer my pictures from my digital camera to my ipod touch?
    First you download the photos from your camera to your computer.  Note where they were put.  Then following the instructions here to sync them to your iPod:
    iPhone, iPad and iPod touch: Syncing photos via iTunes

Maybe you are looking for

  • How can I get a serial number for a free version of Photoshop CS2?

    Please help find a serial number for a free photoshop CS2, thanks for your help

  • Batch Characteristics value in report

    I want to develop a custom report where material master batch characteristics value should be displayed. The report will display based on Process order No. In Process order AFPO table I am bringing MATNR, CHARG, WERKS information. Now, the MATNR is m

  • JavaFX run failure except under partial reinstall - How can I fix?

    First, I apologize if this isn't the correct forum for an issue like this. After numerous hours of google searches and re-installations, I am out of ideas as to how to proceed. If there is a better forum to seek assistance, please direct me to it - T

  • How can I tell how much is uploaded to iCloud?

    My entry appears to have been deleted from yesterday, I think. Anyway. How can I tell what of my 7gb of data that needs uploading to iCloud has actually gone to iCloud? It's mostly photos. But seeing as the Photostream will only give me new photos, n

  • Default VAT codes in TRIP interface in SAP TM

    Hello Forum Experts, Due to the new european legislation to VAT treatment in EU, it is now more conveniently possible to re-claim VAT spent in EU member countries as a part of the EU directive.  As our company has global presence in 132 countries, wh