FieldPoint Family

cancel
Showing results for 
Search instead for 
Did you mean: 

sauvegarde fichiers au fil de l'eau

Bonjour,

Je travaille sur un CFP2120 en LabviewRT 8.2
ci-joint vous trouverez un vi qui appelé périodiquement à partir d'une tâche cadencée à 20ms, enregistre des données dans un fichier en continu. (case "ajouter")
Mon souci est que je perd quelquefois des données alors que la durée de l'opération d'écriture du fichier(<5ms) est bien moindre que la période de la tâche qui l'appelle .
Comment se-fait-il que lorsque j'ouvre le fichier, je constate quelquefois que le nombre d'octets ne correspond pas?

Je constate que même si je fais une sauvegarde dans une RTFIFO, puis que je lis cette FIFO en différé pour écrire dans mon fichier, je peux également perdre des données.

Encore plus déroutant, ce phénomène ne se produit pas toujours.

Comment faire pour fiabiliser l'écriture dans un fichier au fil de l'eau?

0 Kudos
Message 1 of 5
(4,686 Views)

Bonjour,

Dans votre exemple, il manque certains fichiers pourriez vous les joindre afin que je puisse reproduire le probléme.

Pouvez vous également joindre votre VI principal ?

Cordialement,

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 2 of 5
(4,677 Views)
Bonsoir Christophe et merci de votre aide

Ci-joins vous trouverez un vi exemple reprenant l'essentiel de mon problème, à savoir un boucle d'exécution d'écriture dans un fichier binaire.
j'ai joint également un vi permettant de lire le résultat.

Cet exemple m'a permis de mettre en valeur mon problème.
Dans le premier vi, j'écris 128 octets par 128 octets dans un fichier binaire. Au total, mon fichier doit contenir 256000 octets
Lorsque j'ouvre le fichier résultant, je n'en lis que 255944 (par exemple).

Comment?Pourquoi?

Marc-Henri
0 Kudos
Message 3 of 5
(4,669 Views)

Bonjour,

J'ai testé votre exemple (écrire dans un fichier), et le fichier sauvegarder bien ne taille de 256000 octet (sur le disque).

Par contre, votre fichier de lecture ne fonctionne pas, certainement parce qu'on vous avez utilisez la fonction lire une chaine de caractère.

Les fonctions lire et écrire sont assez fiables, les données sont rarement perdu.

Cordialement,

 

Message Edité par Christophe S. le 05-09-2007 05:18 PM

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 4 of 5
(4,645 Views)
Bonjour Christophe,

Je confirme que c'est ma fonction de lecture de fichier qui n'était pas bonne. Je l'ai corrigé et n'ai plus de problème

Merci encore
0 Kudos
Message 5 of 5
(4,604 Views)