Acquisition de fréquence, échantillonnage

Bonjour,
je voudrais acquérir une fréquence avec un daq mx mais je rencontre un problème pour paramétrer ce daq.
J'utilise déjà deux autres daq pour acquérir une tension et une température, les deux avec un échantillonnage à 100kHz, ce qui me donne une quantité satisfaisante de valeurs à traiter, en revanche, lorsque je règle le daq de fréquence sur 100k en échantillonnage, il y a un message d'erreur qui s'affiche...
Savez vous d'où vient le problème ? Y a t il un paramétrage particulier à réaliser ?  

Bonjour,
Voici en pièces jointes les copies d'écran de ma tâche.
Le timeout de ce daq ne peut pas être modifié, en revanche celui des deux autres daq peut l'être, ils sont tous les deux à 10sec, sont-ce ces deux timeout qui pourraient perturber le daq fréquence ?
Cordialement
Maxime Quilleré
Pièces jointes :
Copie d'écran 1.png ‏19 KB
Copie d'écran 2.png ‏8 KB
Copie d'écran 3.png ‏15 KB

Similar Messages

  • Mesure fréquence

    Bonjour,
    je dois mesurer une fréquence à partir d'un signal 0-5 V, plage de fréquence 0.2 à 80Hz.
    J'ai d'abord essayé de mesurer le signal en entrée analogique, puis de la transformer avec Tacho.vi. Mais ça fonctionne très aléatoirement, donc c'est inutilisable.
    J'ai ensuite essayé de faire entrer le signal sur un compteur. Le signal fréquence obtenue est aussi inutilsable. Il affiche une fréquence qui oscille entre 10 et 10kHz(variable) au lieu de 2 Hz.
    Comment faire?
    Voici mon signal d'entrée:

    Bonjour,
    avec quel environnement programmez-vous et avec quelle carte d'acquisition?
    J'ai joint un des exemples d'acquisition de fréquence qui est livré avec LabVIEW dont vous voyez le code ici.
    Attachments:
    Meas Dig Frequency-Low Freq 1 Ctr.vi ‏21 KB

  • Spectre de puissance erroné

    Bonjour,
    Voilà notre problème, on souhaite traiter un signal sonore. On fait l'acquisition à une fréquence de 20kHz. On fait ensuite du "zero padding" si la taille du fichier n'est pas une puissance de 2 puis on trace le spectre de puissance du fichier (à l'aide de Spectre de puissance.vi).
    Pour tester ce programme nous avons généré des sons à des fréquences connues avec Matlab et nous les enregistrons à l'aide d'un mricrophone. On acquiert ce signal et le traite avec Labview et les fréquences ne sont pas du tout en concordance avec ce que l'on espérait.
    Par exemple on génére des signaux de 100Hz et on obtient une fréquence de 250Hz avec le spectre.
    On a pensé au repliement spectral mais bon on a des fréquences de l'ordre de la centaine d'Hz et on échantillonne à 20kHz donc ca ne doit pas venir de ca...
    Auriez-vous des explications à nous fournir afin de nous éclairer?
    Merci d'avance,

    Duplicate post.

  • Acquisition de tension et fréquence sur ni6010

    Bonjour
    Je souhaite faire des acquisition de tension de de fréquence (tous cela en continue) avec une carte ni6010
    gamme de tension 0-5V
    fréquence x-500Hz
    j'ai essayé se montage mais sa ne marche pas (pièce jointe)
    pourquoi??
    Pièces jointes :
    acqui.JPG ‏70 KB

    Qu'est-ce qui ne marche pas? C'est un peu vague comme description pour pouvoir t'aider!
    Olivier L. | Certified LabVIEW Developer

  • Fréquence d'acquisition de données sur un châssis NI DAQmx

    Bonjour,
    je suis un étudiant en stage. Ma mission consiste à réaliser un système d'acquisition de données sur le logiciel Labview 8.5. J'utilise
    un châssis NI DAQmx équipé d'un controleur PXI 8105 et de 5 cartes série M: 4 cartes 6225 et une carte 6254. J'ai un problème au niveeau de mes
    fréquences d'acquisition. Je n'arrive pas à acquérir des données sur une longue période sans que le système affiche une erreur. L'autre problème
    est la vitesse d'acquisition des données. Etant dans le domaine de haute performance, je dois acquérir des données à des vitesses de l'ordre de 20kHz
    mais mon programme ne tolère pas de vitesse au dessus de 1kHz. Ma vitesse se situe aux alentours d'une centaine de Hz.
    Avez-vous une solution à me proposer?
    Je vous remercie d'avance.

    Bonjour,
    Vous pouvez effectuer le traitement des données dans une boucle séparée de la boucle dédiée à l'acquisition. Ainsi votre traitement lent ne limitera pas l'acquisition.
    Vous pouvez réaliser ceci grâce à une architecture type producteur/consommateur.
    Vous pouvez trouver des exemples de cette architecture dans Aide>>Recherche d'exemple.. ainsi que des templates de projet pour cette architecture.
    Cordialement,
    Isabelle G.
    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

  • Acquisition fréquence variable et basse fréquence

    Bonjour,
    Je suis débutant en LV et dois mesurer la vitesse de rotation d'un moteur qui ralenti. Pour cela, un capteur de vitesse
    me délivre un signal traité par une carte électronique. Un signal carré est issu de cette carte
    dont la fréquence est image de la vitesse de rotation du moteur (160 Hz => 1600 tr/min et 0 Hz => 0 tr/min).
    La carte électronique apporte quelque fluctuation de fréquence, j'utilise donc deux compteur large gamme
    pour mesurer la fréquence.
    Mon problème est le suivant:
    Mon objectif est d'avoir en "temps réel" ( juste une indication, pas de "vrai" temps réel)
    sur ma face avant la vitesse de ralentissement de mon moteur. Cela fonctionne lorsque celui ci tourne
    jusqu'à 150 tr/min environ (15 Hz) en dessous mon VI bloque et je viens même dépasser le time out fixé lors
    de l'acquisition. Il faudrai au moins que j'observe le ralentissement jusqu'à 10 tr/min.
    Si quelqu'un a une idée pour pallier ce problème.
    Par avance merci pour votre aide
    Vincent V.
    Pièces jointes :
    Ralentissement.vi ‏83 KB

    C'est toujours le même soucis quand on a (le grand plaisir) de rencontrer un débutant : 
    1) un Block Diagramme qui fait plusieurs écrans
    2) des dizaines de variables locales partout, partout 
    3) ... bravo !!!! ... tu es passé a côté de la 3eme chose qui caractérise un débutant .... les structures séquences    il n'y en a pas (ouf)
    Pourquoi utiliser toutes ces variables locales ???
    ... alors que tu disposes sur le Diagramme de toutes les informations .
    Pourquoi ne cables-tu pas directement sur le terminal correspondant ? (au llieu de RE-lire l'info via une variable locale)
    Je ne vois aucune gestion de l'erreur sur ton Diagramme.
    Tu as plusieurs noeuds de propriété "de réinitialisation" ... ces noeuds sont flottant !!!
    Qui te dis que cette "réinitialisation" se fera en début d'exécution et pas à la fin ?
    Avec labview, le séquencement du code se fait via le "flux de données" .... sans flux de données l'ordre d'exécution est inconnu.
    Cabler les entrées/sorties d'erreur permet d'établir un flux de données.
    La première chose :
    réduire ton code à UN écran (au passage, aligne, fait "du propre")
    supprime tes variables locales.
    crée un flux de données pour tes noeuds de propriété.

  • Probleme avec DAQmxRegisterEveryNSamplesEvent, acquisition et émission simultané

    Bonjour
    J'essaye de générer et acquérir un signal simultanément. Typiquement, je relie l'entrée 0 et la sortie 0 et je reçois ce que je génére.
    J'utilise donc deux taches: une dédié à l'émission et l'autre à la réception. Pour les deux, j'utilise un déclenchement sur EveryNSamplesEvent.
    Mon problème est que lorsque que je lance les taches, avant même l'éxécution de la ligne de code suivante, j'ai un compte rendu d'émission correspondant à 2 secondes d'émission (en une fraction de seconde) à ma fréquence d'échantillonnage et que mon acquisition commence elle normalement (je crois). L'émission se termine ensuite seule environ 2 secondes après la fin de la génération.
    Dans l'idéal je voudrai même que l'émission et la réception soient synchrones. Je me suis donc inspiré du code exemple SynchAI-AO.c . Dans ce code seul l'acquisition fonctionne sous EveryNSamplesEvent. Néanmoins j'utilise comme dans le code exemple la définition du trigger sur /Dev1/ai/StartTrigger et la commande DAQmxCfgDigEdgeStartTrig appliqué à la tâche émission.
    Je ne comprend pas pourquoi l'EveryNSamplesEvent de l'émission se déclenche si rapidement dès le début, avant même l'acquisition.
    Merci de votre aide

    Désolé mais je n'arrive pas à supprimer ce topic. Pourriez-vous aller consulter le suivant s'il vous plait ?
    Merci

  • Acquisition des paramètres d'une carte d'acquisition

    Bonjour, 
    Après avoir fait des recherche sur internet et recherché par moi même dans les fonctions LabVIEW et n'ayant pas trouvé ce que je cherchais je vient vous demander votre aide.
    Je suis a la recherche d'une fonction qui me permettrai, sur LabVIEW, d'avoir les caractéristiques de ma carte d'acquisition ( nom de la carte, nombres de voies, fréquence d'échantillonnage ).
    Cordialement
    Résolu !
    Accéder à la solution.

    Si vous voulez éviter à votre utilisateur de faire le paramétrage, il faudrait que vous puissiez au moins détecter le type de carte. A partir de là, en fonction de ce type de la carte, de ses performances et de ses voies, vous pouvez appliquer les bons paramètres à votre appli.
    Avez-vous essayé ces fonctions?
    Elles sont accessibles depuis la palette "DAQmx - Acquisition de données" - "DAQmx - Avancé" - "DAQmx - configuration du système". Le premier noeud de propriété permet par exemple d'obtenir le nom des périphériques, les voies, tâches et échelles définies dans max. Le second permet de configurer ou d'obtenir des infos sur un périphérique donné, comme son type, et ses voies physiques. Dans le cas des voies, la fonction renvoie un tableau par type d'E/S. Ce tableau peut être vide, mais sinon vous pouvez lire sa taille et agir en conséquence.
    Francis M | Voir mon profil
    Certified LabVIEW Developer

  • Stabilité de l'acquisition

    Bonjour,
    Je réalise l'acquisition d'un signal analogique en utilisant une carte PCI 6040E et Labview 6.1.
    J'utilise les VIs ci-joint pour l'acquisition et le traitement des données.
    Mon souci est que je dois toujours jouer sur la fréquence d'échantillonnage (max 500khz) pour éviter certaines erreurs lorsque je monte en fréquence (environ 10khz).
    Pouvez-vous me dire si il est possible de les éviter ?
    Merci pour votre aide

    Mes VI
    Attachments:
    Acquisition d'un signal Analogique.vi ‏77 KB
    Traitement d'un signal Analogique.vi ‏73 KB

  • Acquisition de données avec un compact daq

    Bonjour,
    Débutante en labview, je dois faire une acquisition de données de mesure avec un compact daq.
    J'ai fait des recherches pour me permettre de commencer.
    Mais le VI que je fais ne me fais pas les mesures en continu...
    Pouvez vous m'aider ?
    Cordialement

    Hello, 
    Concernant ton vi, il y aurai pas mal de commentaires...., désolé je ne peux pas rentrer dans détail.
    Les réponses précédentes te dirigent vers les exemples, pour être encore plus précis, je te conseil l'exemple "Cont Acq Thermocouple Samples-Int Clk.vi."
    dans: 
    E/S materielles/DAQmx/Mesures analogiques/temperature/Cont Acq Thermocouple Samples-Int Clk.vi.
    Tu y verra comment utiliser correctement la fonction de cadencement dont ont parle ci dessus.
    Un autre point fondamental : dans ta config de voie, tu n'a pas câblé ni le type de thermocoule, ni la compensation de soudure froide.... C'est vital si tu veux que tes mesures de températures soient justes...
    Quel module pour thermocoupe utilises tu dans ton châssis cDaq9181? Selon le hardware, les fréquences d'échantillonnages doivent  parfois être contraintes à certaines valeurs (sous multiple de l'horloge, f maxi etc).
    Bon courage
    antoine

  • Synchroniser les horloges d'acquisition sur des modules c-DAQ analogiques

    Bonjour,
    J'ai deux modules d'aquisition compact daq : NI9205 (acquisition en tension, horloge d'échantillonnage à 250 KS/s) et NI9227 (acquisition en courant, horloge d'échantillonnage à 50 KS/s).
    J'ai essayé de les mettre dans une seule tâche virtuelle, mais le problème c'est que si j'utilise l'horloge embarquée, j'ai une incompatibilité à cause des horloges différentes entre module.
    J'ai donc essayé de passer via un compteur comme dans l'exemple ci-aprés mais pareil. Comment faut-il faire ?
    Merci par avance pour vos réponses,
    Christophe
    Pièces jointes :
    Essai acquisition continu courant.vi ‏44 KB

    Bonjour.
    Vous n'avez pas besoin de créer une source de cadencement pour votre boucle de lecture.Il suffit simplement de lire vos données avec DAQmx Lire dans une boucle classique. A partir du moment où la fréquence d'acquisition que vous choisissez est dans les spécifications des 2 modules, vous ne devez pas avoir de problème. La fréquence de lecture dépendra du nombre de points que vous avez choisi de lire à chaque tour de boucle dans le VI Daqmx Lire et la boucle se cadencera d'elle même.
    Cordialement.

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

  • Problème acquisition HDV sur PE12

    Bonjour,
    Avec Première Elements 12 acquisition HDV via port FireWire 1394:
    Dans le panneaux réglage acquisition, savez-vous pourquoi je ne peux pas choisir l'option "Code Temporel" ?
    En effet ce dernier est grisé donc non sélectionnable. Par défaut est coché "Contenu".
    J'ai fait un essai avec ce choix imposé donc, et je me suis retrouvé avec un seul gros fichier de 1 heure.
    Vous comprendrez mon étonnement de ne pas pouvoir capturer par séquence selon le code temorel provenant du caméscope.
    J'ai acheté ce logiciel pour justement monté en HDV et me voilà coincé à l'acquisition.
    Dans l'état actuel des choses, ce logiciel ne me sert à rien.
    J'ai fait un essai d'acquisition avec P.Pro CS6 (V.d'évaluation) ainsi que Végas Pro 11 l 'acquisition HDV se déroule très bien par le time code du caméscope. J'ai donc un fichier par séquence. Il n'y a qu'avec PE12 que ça ne fonctionne pas.
    PC - Seven 64 bits.
    carte Fire Wire : DC-FireWire 800 PCI-Express Controller.
    tous les maj sont récentes ainsi que les pilotes.
    caméscope Sony Z5E.
    Etienne

    Hello,
    For HDV capture  split scene by "Timecode" is not possible, this option is enable only for DV Capture. Please refer to help doc:-
    http://help.adobe.com/fr_FR/premiereelements/using/WS5CDA0F91-60F1-4b79-ABF6-E9E75F498DB2. html#WS2AF26FB5-4C63-4c46-9DB3-7249558F6528
    Thanks,
    Shubhi

  • Problème d'acquisition de mesures avec un module 6219

    Bonjour,
    Je possède un module NI 6219 et je souhaite faire des mesures de température avec un thermocouple de type K.
    J'arrive à connecter le module au PC mais les mesures que j'obtiens sont désordonnées et complétement incohérentes que ce soit sur LabView ou sur Max. J'ai également fait des mesures de tension et j'obtiens les mêmes résultats.
    Pourriez-vous m'aider à résoudre ce problème ?

    Hello, 
    Concernant ton vi, il y aurai pas mal de commentaires...., désolé je ne peux pas rentrer dans détail.
    Les réponses précédentes te dirigent vers les exemples, pour être encore plus précis, je te conseil l'exemple "Cont Acq Thermocouple Samples-Int Clk.vi."
    dans: 
    E/S materielles/DAQmx/Mesures analogiques/temperature/Cont Acq Thermocouple Samples-Int Clk.vi.
    Tu y verra comment utiliser correctement la fonction de cadencement dont ont parle ci dessus.
    Un autre point fondamental : dans ta config de voie, tu n'a pas câblé ni le type de thermocoule, ni la compensation de soudure froide.... C'est vital si tu veux que tes mesures de températures soient justes...
    Quel module pour thermocoupe utilises tu dans ton châssis cDaq9181? Selon le hardware, les fréquences d'échantillonnages doivent  parfois être contraintes à certaines valeurs (sous multiple de l'horloge, f maxi etc).
    Bon courage
    antoine

  • Acquisition nom du rapport TestStand depuis CVI

    Bonjour à tous,
    Je dispose d'une séquence exécutée par TestStand 2014.
    Cette séquence utilise une dll faite avec LabWindows/CVI pour créer un rapport personalisé à partir du rapport TestStand.
    Cette dll doit donc faire l'acquisition du nom du rapport TestStand.
    La DLL a été faite pour TestStand 3.5 et l'acquisition du nom du rapport TestStand était assurée par :
    TS_PropertyGetValString (testData->seqContextCVI, &errorInfo, "RunState.Caller.Locals.ReportFilePath", 0, &JournalPathName)
    J'ai compris que ça ne marcherait pas avec TestStand 2014 en voyant cet article :
    http://digital.ni.com/public.nsf/allkb/3D3B2358DF9B786B8625789500549A3B
    Par quoi remplacer la ligne de code pour TestStand 2014 ?
    (je précise que je suis débutant en LabWindows/CVI)
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Erreur génération rapport.jpg ‏51 KB
    Erreur génération rapport1.jpg ‏49 KB

    Salut,
    En effet, depuis TS 2012, RunState.Caller.Locals.ReportFilePath semble ne plus être une propriété valide
    En gros, dans le lien que tu pointes, ils indiquent que tu peux:
    1. Ajouter  à tes séquences, une callback nommée GetReportFilePath (tu peux aussi modifier ton process model directement je pense, ça a l'air d'être une callback de modèle)
    2. Stocker la valeur du paramètre Parameter.ReportFilePath de cette callback dans une variable TestStand
    3. Récupérer le contenu de cette variable depuis CVI (au lieu de récupérer RunState.Caller.Locals.ReportFilePath)
    En gros, ton code CVI va probablement très peu changer, c'est plutôt tes séquences TS qu'il va falloir aller modifier légèrement
    Je ne dispose pas de TS pour tester sur mon poste, mais ça semble bien être ça qu'il faut faire. On pourrait peut être éviter de passer par une variable, mais ça va complexifier le code CVI je pense.
    Si ce que je viens de dire ne te parle pas, fais signe.
    A+
    Mathieu
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB

Maybe you are looking for