le 11-05-2015 07:51 AM
Bonjour,
J'ai un problème au niveau de la mémoire de mon VI. Je veux récupérer les données des 2 voies(A0 et A1) de ma carte NI USB 6210 à 100kHz.
Mon code marche bien lorsque je récupère les données sur 1 minutes. Cependant lorsque je passe à 5min j'ai une fenêtre qui s'affiche avec erreur mémoire.
J'aimerai pouvoir faire des expériences sur une heure. Est-ce possible à cette fréquence et si oui comment.
Je vous laisse mon code en piece jointe.
Cordialement.
Thomas.
Résolu ! Accéder à la solution.
le 11-05-2015 08:18 AM
Bonjour,
100 kHz => 100k echantillons/s => 5*60*100k échantillons au bout de 5 min ! Tu as 2 graphes qui stockent tous ces points. C'est normal que cela crache ! L'allocation mémoire est dynamique mais pas infini en LabVIEW !
Question :
- As tu besoin d'une telle fréquence d'échantillonage ?
- Si oui, la meilleure méthode est d'enregistrer tes données à la volée (en TDMS par exemple) et de n'afficher qu'une tendance de tes mesures. Tu peux aussi utiliser un graphe déroulant qui possède un espace mémoire fini.
le 11-05-2015 08:30 AM
Merci de cette réponse si rapide.
Je sais que le nombre d'échantillon est élevé et malheureusement je ne peux pas baisser la fréquence.
Mon objectif final est de mettre ses échantillons dans un fichier pour ensuite les retravailler avec Matlab.
J'aimerai savoir si on peut augmenter la mémoire et quelles sont les limites de cette mémoire pour pouvoir calculer le temps maximal pour mes enregistrements.
J'ai fais un autre VI et avec celui ci je peu récupérer sur 2 minues les données mais pas +. Il est en pièce jointe.
Cordialement
Thomas.
11-05-2015 08:43 AM - modifié 11-05-2015 08:44 AM
thomas.picon a écrit :
J'aimerai savoir si on peut augmenter la mémoire et quelles sont les limites de cette mémoire pour pouvoir calculer le temps maximal pour mes enregistrements.
On peut augmenter la mémoire vive en ajoutant (ou changeant avec des plus performantes) des barrettes de ram. Ca dépend du système d'exploitation et de l'ordinateur, donc difficile de donner une réponse.
Dans le cas présenté, comme dit par Bastauss, ce n'est pas tant un problème de mémoire qu'un problème de conception du programme (il y a t'il besoin d'afficher tous ces indicateurs sur la face avant si c'est pour travailler avec Matlab ensuite ? Est-ce possible de travailler directement les données dans LabVIEW à la volée? Est-ce possible d'enregistrer les données dans un fichier sur le disque au fur et à mesure de l'acquisition?)
le 11-05-2015 08:50 AM
Bonjour,
Regarder mon deuxième VI en pièce jointe dans ma deuxième réponse. J'ai enlevé les granphes déroulant et essayer d'enregistrer le fichier de donnée sur mon PC.
Ceci ne fonctionne toujours pas.
le 11-05-2015 09:00 AM
Regarde les exemples disponibles pour enregistrer les données (en TDMS, ça à l'air d'être le meilleur compromis pour ce type de donnée, et Matlab peut l'importer via une bilbiothèque à configurer me dit le site de NI).
Dans Aide > Recherche d'exemples > Dossier Fondamentaux > E/S sur fichiers > TDMS.
Il ne faut pas concaténer les signaux au fur et à mesure puis tout écrire d'un coup, une fois la boucle while finie, sinon on retombe sur le problème initial de limite de mémoire
le 11-05-2015 03:29 PM
salut tu peux aussi regarder "le driver DAQmx met à disposition une fonction permettant la sauvegarde optimisée sur disque "
extrait du livre "LabVIEW programmation et applications"
Acquisition analogique « continue » avec sauvegarde sur disque
Pour terminer ces exemples d’acquisition analogique, nous allons enrichir l’exemple précédent en intégrant l’enregistrement des données dans un fichier sur disque. Pour réaliser cette action, le driver DAQmx met à disposition une fonction permettant la sauvegarde optimisée sur disque (figure 4.37). C’est la méthode la plus rapide car le driver DAQmx peut alors transférer les données en continu du buffer de la carte directement vers le disque, sans passer par le système d’exploitation. Le fichier est au format « tdms », Technical Data Management Streaming, qui est un format binaire (voir chapitre 6.1.3). Il peut être décodé par la suite par des fonctions sur fichier.
Pour réaliser cet enregistrement ultra-rapide, ou streaming de données haute vitesse, il suffit d’ajouter le VI « Enregistrement données TDMS » dans l’exemple précédent et de démarrer la tâche (figure 4.38). National Instruments offre des solutions de streaming de données qui permettent d'effectuer des transferts en continu à 600 Mo/s jusqu'à 3 téraoctets de données.
Figure 4.38 – Exemple de l’acquisition continue modifié pour ajouter la sauvegarde des données dans un fichier binaire.
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 11-05-2015 03:29 PM
salut tu peux aussi regarder "le driver DAQmx met à disposition une fonction permettant la sauvegarde optimisée sur disque "
extrait du livre "LabVIEW programmation et applications"
Acquisition analogique « continue » avec sauvegarde sur disque
Pour terminer ces exemples d’acquisition analogique, nous allons enrichir l’exemple précédent en intégrant l’enregistrement des données dans un fichier sur disque. Pour réaliser cette action, le driver DAQmx met à disposition une fonction permettant la sauvegarde optimisée sur disque (figure 4.37). C’est la méthode la plus rapide car le driver DAQmx peut alors transférer les données en continu du buffer de la carte directement vers le disque, sans passer par le système d’exploitation. Le fichier est au format « tdms », Technical Data Management Streaming, qui est un format binaire (voir chapitre 6.1.3). Il peut être décodé par la suite par des fonctions sur fichier.
Pour réaliser cet enregistrement ultra-rapide, ou streaming de données haute vitesse, il suffit d’ajouter le VI « Enregistrement données TDMS » dans l’exemple précédent et de démarrer la tâche (figure 4.38). National Instruments offre des solutions de streaming de données qui permettent d'effectuer des transferts en continu à 600 Mo/s jusqu'à 3 téraoctets de données.
Figure 4.38 – Exemple de l’acquisition continue modifié pour ajouter la sauvegarde des données dans un fichier binaire.
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 11-06-2015 02:30 AM
Merci beaucoup.
Cela marche effectivement bien avec l'enregistrement tdms
le 11-06-2015 03:21 AM
salut, très bonne nouvelle. Je te propose donc de sélectionner le post qui répond à ta question et de cloturer avec solution. bonne journée. A+
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group