From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

Mémoire insuffisante écriture fichier binaire - erreur 2

Bonjour à tous, 

 

Je viens vers vous car j'ai un problème lors de l'écriture dans un fichier binaire.

J'enregistre des Waveforms et données globales de tests dans ce fichier. Or lorsque je passe la fonction "écrire dans un fichier binaire", une fenêtre d'erreur apparaît et affiche "mémoire insuffisante" (voir pièce jointe), ensuite labview affiche l'erreur "l'erreur 2 s'est produite à: écrire dans un fichier binaire NOM_VI.vi". 

Mes fichiers ont une taille moyenne de 500 Mo (car acquisition de nombreux points..) mais j'ai vu que la taille max d'un fichier binaire avant troncature des données était de 4 Go, donc à priori pas de problème avec l'utilisation d'un fichier binaire. 

 

Existe-t-il une solution à ce problème sans avoir besoin de découper mon tableau de points + waveforms ? Dois je fermer tous les autres VI qui fonctionnent simultanément? 

L'utilisation des fonctions TDMS serait sûrement plus approprié mais je ne peux pas me permettre de changer le type de fichier sans passer par une reconstruction/optimisation de tous les autres VI existant. 

 

Je vous remercie d'avance.

Petitouu 

Tout télécharger
0 Compliments
Message 1 sur 6
2 289 Visites

combien reste t il de mémoire disponible sur le PC ?

0 Compliments
Message 2 sur 6
2 273 Visites

Bonjour Thib, 

 

Merci d'avoir lu le sujet. 

Qu'entends tu par mémoire du PC? 

L'espace de stockage du disque dur n'est plein, la RAM n'est pas saturée. 

 

J'ai utilisé l'outil performances et mémoire de Labview et ai identifié un VI consommant beaucoup de mémoire. Faut il que j'utilise la fonction désalocation de mémoire lorsque ce VI n'est pas utilisé? 

0 Compliments
Message 3 sur 6
2 271 Visites

 

As-tu essayé de faire un Flush File après chaque écriture? Cela force l'écriture et vide donc le buffer.

 

Le VI se trouve dans Files->Adv Files Func

0 Compliments
Message 4 sur 6
2 248 Visites

Je me permet d'actualiser le sujet. 

 

Walker34, j'ai testé ta solution (utilisation d'un flush file après chaque écriture) et cela fonctionne mais seulement pour un enregistrement... C'est un peu contraignant car j'aimerai pouvoir réaliser des enregistrements différents sans avoir besoin de fermer mon application.

J'ai l'impression que tous mes VI's et sous VI's dévorent de la mémoire en parallèle, alors que je n'ai "pas besoin d'eux" pendant l'enregistrement des données. 

 

Existe-t-il une fonction dans Labview me permettant de forcer la fermeture manuellement de tous les VI's de mon programme afin de concentrer la mémoire sur l'enregistrement des données? 

 

Je vous remercie

0 Compliments
Message 5 sur 6
2 196 Visites

C'est un peu difficile de déterminer la cause du message d'erreur sans voir le code mais ce n'est pas parce la RAM n'est pas saturée qu'il n'y aura pas de problème de mémoire. Un tableau nécessite un espace continu dans la RAM et comme la RAM est souvent fragmentée il est alors possible de manquer d'espace de mémoire continue.

 

Ben64

0 Compliments
Message 6 sur 6
2 190 Visites