Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

probleme memoire

Résolu !
Accéder à la solution

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.

0 Compliments
Message 1 sur 14
5 181 Visites

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.

----------------------------
-- Bastauss -- CLA/CTD --
----------------------------
Message 2 sur 14
5 172 Visites

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.

0 Compliments
Message 3 sur 14
5 165 Visites

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?)

0 Compliments
Message 4 sur 14
5 150 Visites

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.

0 Compliments
Message 5 sur 14
5 144 Visites

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 Smiley clignant de l'œil

0 Compliments
Message 6 sur 14
5 138 Visites

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.

 

 

DAQmx save to disk.png

Figure 4.38 – Exemple de l’acquisition continue modifié pour ajouter la sauvegarde des données dans un fichier binaire.

 

A+

banniere Luc Livre NXG Champion.png

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

Message 7 sur 14
5 118 Visites
Solution
Accepté par l'auteur du sujet thomas.picon

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.

 

 

DAQmx save to disk.png

Figure 4.38 – Exemple de l’acquisition continue modifié pour ajouter la sauvegarde des données dans un fichier binaire.

 

A+

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 8 sur 14
5 118 Visites

Merci beaucoup.

Cela marche effectivement bien avec l'enregistrement tdms

0 Compliments
Message 9 sur 14
5 098 Visites

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+

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 10 sur 14
5 090 Visites