|
|||||||||||||
le 08-08-2012 10:55 AM
Bonjour, grâce à ce programme je fais l'acquisition de données issues de boîtiers BNC et d'un calculateur injection. Ces données sont enregistrer dans un fichier TDMS à la demande de l'utilisateur. J'ai cependant un petit problème, j'échantillonne à 10k ou 1k Hz et j'enregistre pendant 10sec. Je devrais donc obtenir 100000 ou 10000 points par voie. Or lorsque j'ouvre le fichier TDMS dans DIAdem je n'ai pas le nombre de points espéré mais seulement 4000 ou 400 suivant la fréquence d'échantillonnage. D'où vient ce problème? Mon VI est il trop gourmand en mémoire?
Merci de votre aide, Cordialement.
Résolu ! Accéder à la solution.
le 08-09-2012 04:23 AM
Salut
Apparemment ton VI est protégé par mot de passe, donc difficile de pouvoir analyser ton code pour t'aider
Cordialement
le 08-09-2012 04:57 AM
Bonjour, désolé j'ai complètement oublié de le désactiver. C'est une petite sécurité pour que personne ne touche à mon travail!! Le code est nationalinstrument attention il n'y a pas de s final.
J'attends votre réponse, cordialement
le 08-09-2012 06:07 AM
je viens de regarder rapidement ton Projet, et j'ai quelques doutes sur el fait que tu puisses échantillonner à 1 ou 10 kHz vu que tu fais du cadencement logiciel et non matériel.
Si j'étais toi, je commencerai par vérifier toute la partie acquisition, et j'utiliserai un cadencement matériel pour être sûr de ma période d'échantoillonage.
Ensuite, je passerai sur un modèle producteur consommateur pour séparer l'acquisition et la sauvegarde des données
Cordialement
le 08-09-2012 06:21 AM
Merci de ta réponse. Tout d'abord comment puis-je réaliser un cadencement matériel?? Le cadencement logiciel est réalisé par mes boucles qui s'exécute en parallèle c'est ça?? De plus tu me dis d'utiliser le modèle de producteur consommateur. Dis moi si j'ai bien compris ce que cela représente : L'acquisition est mon producteur et l'enregistrement mon consommateur. Le producteur produit dans un tampon et le consommateur vient piocher dedans. Le producteur produit tant que le tampon n'est pas rempli. Si il est plein le producteur stoppe sa production et reprend seulement si le consommateur revient piocher dans le tampon.
Comment réaliser ceci sous LabVIEW, je n'est jamais réalisé de VI mettant cette méthode en avant.
Merci encore pour ton aide. Cordialement
le 08-09-2012 08:05 AM
tu utilises quel matériel pour faire ton acquisition ?
car normalement ta carte doit disposer d'une horloge d'échantillonnage qui lui permet de cadfencer l'acquisition
je te conseille de regarder dans les exemples fournis avec LabVIEW, il y a pas mal d'exemples qui devraient bien t'expliquer comment çà fonctionne
pareil pour le modèle producteur consommateur
petite préceision sur ce dernier : le producteur (ta boucle d'acquisition) produit à une vitesse, et la boucle consommatrice (l'enregistrement) vient écrire à une autre vitesse.
et en général le tampon ne se remplit pas de manière à bloquer l'acquisition (sauf dans le cas d'une acquisition finie, mais ce n'est pas ton cas)
le 08-09-2012 08:49 AM
Pour les acquisitions, elles se font sur deux cartes PXIe6363 par l'intermédiaire de boîtiers à connecteurs BNC. Je te remercie de ta réponse. Mais pour cadencer l'acquisition faut il que je remplace ma boucle while par une boucle cadencée?? Je vais regarder un peu plus en détail les exemples LabVIEW.
Cordialement
le 08-09-2012 08:58 AM
en fait tu n'auras pas de boucle, car si tu utilises une boucle tu fais du cadencement logiciel
tu vas utiliser les VIs de la palette DAQmx pour configurer la fréquence d'échantillonnage que tu veux, et une fois l'acquisition faite (dans ton cas c'est une acquisition avec un nombre fini de points), tu viens récupérer l'ensemble de tes points de mesure.
Pour info, il me semble que tu peux pas descendre en dessous de la milli-seconde comme période min de boucle. Donc tu ne pouvais pas tenir tes fréquences d'acquisition de 1 ou 10 kHz
le 08-09-2012 09:05 AM
Je te remercie de toute ces informations. Cela va beaucoup m'aider.
Cordialement
le 08-09-2012 09:59 AM
Il y a un truc que je ne saisie pas bien. Je veux faire une acquisition en continue, donc il faut bien que la fonction READ soit dans une boucle?? Et j'ai essayé de câbler ai sample clock à l'entré source de la fonction TIMING et le VI plante. C'est bien cette entré qu'il faut que je câble??
Merci de ta réponse. Cordialement.
Mon Profil | Confidentialité |
Conditions d'utilisation |
Contacter NI
© 2011 National Instruments Corporation. All rights reserved. | Envoyer cette page
|
||

Envoyer cette page