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.
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.
le 01-11-2019 07:09 AM
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
le 01-11-2019 08:41 AM
combien reste t il de mémoire disponible sur le PC ?
le 01-11-2019 08:48 AM
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é?
le 01-15-2019 03:52 AM
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
le 02-18-2019 03:15 PM
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
le 02-18-2019 03:59 PM
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