Problème Lecture/Ecriture fichier binaire
Bonjour,
Mon objectif est de créer un programme qui permet de lire un certain nombre d'octets dans une trame qui se répète plusieurs fois dans un fichier A . Il faudrait que je puisse enregistrer ses données dans un autre fichier binaire B.
J'ai réalisé deux VI, un permettant la lecture et le filtrage des données, un autre permettant l'écriture des données dans un fichier à part.
Celà fonctionne presque... En fait lors de l'écriture des données dans le nouveau fichier B , 4 nouveaux octets apparaissent sans qu'ils ne soient présent dans les données que j'envoie à la fonction "Ecrire dans un fichier binaire". Après quelques tests, je me suis aperçu que ces 4 octets représente le nombre d'éléments que je récupère à la lecture du premier fichier A..
Par exemple, si je décide de lire 4 octets par trame dans le fichier A, le traitement se passe correctement; et j'enregistre ces données dans un tableau.
Ensuite lorsque je transfert les données de ce tableau dans le fichier B, devant chaque élément je trouve 00 00 00 04. J'ai aussi remarqué que ces octets sont au format Big-Endian alors que je travaille au format Little-Endian.
Exemple en images :
Le fichier départ est octets_départ.jpg << En rouge les 4 octets que je sélectionne.
Le fichier final est octets_final.jpg << En rouge les 4 octets sélectionnés précedemment, en vert les 4 octets non demandés !
Je peux fournir les fichiers VI si besoin.
Merci d'avance à ceux qui prendront la peine de me lire,
Cordialement,
English :
I want to realize a program who read binary file and keep only words I want. So I wrote two VI for this. One who read the first binary file A, and one who write these data in a binary file B.
My problem is when I write the data from the file A, I write 2 words I don't want to write too. Apparently, these words represent the number of words I select in the first binary file A.
These images show that.
The first picture : octets_départ.jpg << In red the words I want to keep.
The second picture : octets_final.jpg << In red the words I keep from the file A, in green the words I don't want and I don't know.
I can send the VIs if it's necessary..
Best regards,
Thanks for your attention.
Jérôme LIBBRECHT
Message Edité par JeromeL le 08-27-2007 07:34 AM
Jérôme LIBBRECHT
Attachments:
octets_départ.JPG 10 KB
octets_final.JPG 3 KB
J'ai trouvé la solution.
La fonction "Ecrire dans un fichier binaire" intègre une entrée permettant de choisir si l'on veut ajotuer la taille ou nom de ce que l'on écrit. Je n'avais pas câblé cette entrée, et donc par défaut, il m'ajoutait la taille.
Il faut rajouter une commande ou une constante booléenne de valeur "FALSE" pour éviter le problème que j'ai décrit plus haut.
Merci quand même.
Cordialement;
English
I have found ! The function "Write to binary file" include an entrance to specify if you want to add the Size of the data you write. I had put nothing on this entrance, so the default value was to add the size.
I add a constant value to FALSE in this entrance and I didn't have the problem
Thanks for your help.
Jérôme LIBBRECHT
Best regards,
Jérôme LIBBRECHT
Similar Messages
-
Problème d'affichag​e après lecture fichier binaire
Bonjour,
J'utilise actuellement une communication CAN et chacune des trames échangées est enregistrée dans un fichier binaire.
Une fois la communication finie, le fichier est ouvert, dépouillé pour sortir sous forme de string puis affiché dans un tableau 2D de string.
Ce tableau est de 8 colonnes (une par type d'informations, comme le time stamp, l'identifiant etc) et d'un nombre de lignes dépendant du nombre de trames échangées
Le problème survient lors de l'affichage des données sur le tableau, à partir d'environ 50 000 lignes, il est indiqué que la capacité mémoire de LabView n'est pas suffisante.
Existe-t-il une solution pour palier à ce genre de problème?
Merci,
Jull
configuration : LV8.5.1
Cordialement,
Julien V.Bonjour,
Quel est la configuration de votre ordinateur?
Le problème intervient lors de la lecture du fichier ou de l'affichage dans un tableau?
Quels est le code d'erreur qui apparait?
Cordialement,
Aurélien J.
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> Du 30 juin au 25 août, embarquez pour 2 mois de vidéo-t'chat ! Prenez place pour un voyage au coe... -
Lecture d'un fichier binaire sur labview
j'ai effectué un programme sous labview qui permet d'acquérir des données d'un scintillomètre.Pour cela, je dois effectuer une acquisition en continue tout en sauvegardant les données sur le disque dur.Pour envoyer les valeurs il n'y a pas de problèmes.cependant pour la lecture des mesures a un petit problème.le texte est illisible.comment fait on pour lire un fichier binaire?
merci par avance
gaelOk, essaie ces deux VIs, ce sont des exemples inclus dans LabVIEW, ils sont très simple, je pense qu'ils te permettront de faire pas mal de choses
PS : bon courage, je me souviens de mes débuts sous LabVIEW... c'est pas aussi facile que ne le disent les vendeurs de chez National Instruments
When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
Attachments:
Read Binary File.vi 38 KB
Write Binary File.vi 34 KB -
Problème pour écrire un mot de passe dans un fichier binaire.
Bonjour,
Je voudrais savoir s'il y a possibilité d'enregistrer un mot de passe (string) dans un fichier binaire.
Je voudrais que mon utilisateur, click sur un bouton mais ne puisse accéder à un nouveau VI qu'en rentrant un mot de passe. De plus, l'utilisateur pourra une fois le VI accédé, modifier ce mot de passe. La sauvegarde de ce dernier doit se faire dans un fichier externe au programme et en binaire (ou protéger en lecture...).
Merci pour toute l'aide possible.
Merci, Seb.National Instruments Corporate n'a malheureusement pas les ressources nécessaires pour répondre aux questions posées en français. Cependant, ces questions seront redirigées vers le bureau français, National Instruments France.
S'il vous plait contacter National Instruments France á
Support Technique -
Pb d'écriture d'un tableau dans un fichier binaire
Bonjour,
Je travaille sur un programme d’acquisition.
32 voies et jusqu’à 192 000 points par voies. Je dois enregistrer les données à chaque évènement dans un fichier binaire.
J’arrive à créer et écrire dans un fichier binaire, ce n’est pas là le problème.
Le soucis est que lorsque j’écris directement le tableau dans le fichier binaire, je me retrouve avec 2 mots de 16 bits supplémentaires
J’ai mis un exemple en fichier joint.
Il y a 2 tableau, un petit avec 4 données et un plus grand avec 24491 points.
Dans le fichier, j’ai une condition if avec un code qui fonctionne mais qui est lent, et un code qui est rapide mais qui m’introduit les points supplémentaires
En ce qui concerne le code qui est bon mais plus lent, j’indexe mon tableau et j’écris les valeurs une à une.
En ce qui concerne le code qui est mauvais mais rapide, j’ai mon tableau que je rentre dans un bundle et j’écris le tout est une seule fois.
Alors dans le programme vous trouverez également deux valeurs x8888 qui sont des points de repères pour un programme d’analyse des données..
Si vous exécutez le code, vous avez deux fichier binaire. Ouvrez les avec un éditeur hexa et vous verrez qu’il y a des données en plus dans le code le plus rapide.
Contenu du fichier Bon mais lent à générer. (pour le petit tableau)
88 88 11 11 11 11 11 11 11 11 88 88
Contenu du fichier Pas Bon mais rapide à générer. (pour le petit tableau)
88 88 00 00 00 04 11 11 11 11 11 11 11 11 88 88
En faisant la différence entre les fichiers, on a les deux mots 0000 et 0004 en plus
Je ne sais pas expliquer pourquoi, mais je suis à la recherche d’un solution afin d’avoir un code rapide à exécuter car 32 voies à enregistrer et 192 000 points par voies, si je dois indexer chaque tableau, autant aller prendre le café.
Alors une des solutions serait de relire le fichier et de supprimer ces valeurs. Pour ce petit fichier, je suis ok, mais dans mon programme, j’écris d’autres valeurs que je mets soit avant soit après dans le bundle. J’aimerais trouver une autre solution.
Merci de votre aide
Résolu !
Accéder à la solution.
Pièces jointes :
write Binary format v8.5.vi 61 KBOk, je n'avais pas ouvert ton fichier.
Je pense que le problème vient plutot de la construction du cluster. Je suis même étonné que tu n'ais pas d'autres données propres au format Cluster.
As-tu essayé soit d'appeler 3 fois ta fonction d'écriture (1 fois avant pour la donnée 8888 d'initialisation, 1 fois pr le tableau, et 1 fois pr la donnée de fin) mais je pense que cette solution n'est pas très optimisée côté performance.
Ou sinon de modifier ton tableau en incluant tes données de début et fin directement dans le tableau avant de l'écrire dans le fichier?
Je regarde de mon côté également.
Cordialement,
Olivier L. | Certified LabVIEW Developer -
Bonjour,
Je viens pour vous demander des conseils, j'ai un fichier texte de deux colonnes, j'ai commencé avec la lecture de fichier. Mon but est de récoupérer une valeur à partir une valeur entrer par l'utilisateur en sachant une valeur peut-être entre les deux valeurs par exemple 476,210 dans ce cas on prendra une valeur entre les deux. Merci d'avance pour les propositions.
Résolu !
Accéder à la solution.
Pièces jointes :
Fichier.txt 1 KB
Test- Read from Text File-yann-do.vi 20 KBBonjour ,
ci joint le vi correpondant a ce que vous souhaitez obtenir.
Vous pouvez utiliser la fonction ouvrir un fichier tableur qui vous renvera alors un tableau fonction du séparateur
dans votre cas ce n'est pas une tabulation mais trois espaces.
Je n'ai pas pu l'ouvrir directement en float directement , peut etre a cause de la representation en exposant donc dabord en chaine puis float.
Suppression des deux dernieres lignes puisque nulles
Pour la suite il reste a cherchez l'indice fractionnaire correpondant à votre x puis d'aller chercher la valeur d y avec cet indice (interpolation lineaire)
un graph xy permet d'avoir l'allure de la courbe
Cordialement
Tinnitus
CLAD / Labview 2011, Win Xp
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail
Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
Pièces jointes :
Test- Read from Text File-yann-do mod1 .vi 24 KB -
Comment récupérer les donnes d'un fichier binair en évitant les vecteurs
Bonjour,
Un petit coup de main s'il vous plaît...
Je lis un fichier binair, élément par élément (count =1).
Alors je reçois a la sortie vecteurs qui contient un élément.
Comment je pourrais faire pour recevoir l'élément directement ( type numérique) ?
Je me pose cette question parce que parcourir chaque fois chaque vecteur et extraire les élément, il me parais que prends beaucoup de temps.
J'ai essayé aussi de lire tout le fichier d'un coup, mais ca prends du temps aussi, pour garder un très grand buffer (c'est des fichiers avec 900 000 éléments).
Merci a l'avance,
Andreea PBonjour,
Quelle est le type de donnée de l'élément en sortie de votre VI "lire un fichier binaire"? Inspirez vous de l'exemple présent dans LabVIEW => Aide => recherche d'exemple => Rechercher => taper "binaire" et sélectionner l'exemple lire un fichier binaire
Si vous enlever le fil de liaison de l'entrée "nombre" du VI "lire un fichier binaire" vous aurez en sortie un élément de type numérique (un double).
Si vraiment vous avez un tableau en sortie, vous avez en effet 2 choix, soit d'indexer le tableau et de récupérer l'élément qui vous intéresse, soit de placer une boucle FOR et lorsque vous faite passer le fil de liaison à l'intérieur de la boucle vous avez un tunnel d'auto indexation et donc dans votre boucle vous n'aurez qu'un élément numérique (un double).
Cdlt,
MatthieuR
Matthieu RICORD
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Été de LabVIEW 2014
12 présentations en ligne, du 30 juin au 18 juillet -
Problème lecture fichier avi Adobe Première Element
Bonjour,
J'avais adobe premiere element 9 (sous windows seven) et je pouvais importer sans probleme des fichiers avi.
Malheureusement mon PC a planté, j'ai du tout reinstaller seven et premiere depuis le début et recomencer mon montage de zéro.
Mais maintenant et je ne comprend pas du tout pourquoi je ne peux plus lire mes videos avi et c'est très ennuyeux!
Je reçois cette erreur
"This type of file is not supported or the required codec is not installed"
Je n'avais rien installé comme codec ou autres lorsque je pouvais lire mes avi auparavant!!!
Help please!!!Yes ça à marché en reinstallant QuickTime! Merci!
-
Problème de lecture des fichiers swf
Bonjour,
Je suis nouvelle utilisatrice de Flash et Dreamweaver.
fière de mes premières animations, j'ai voulu les
intégrer dans mon site internet. super, Dreamweaver
l'intègre super, je peux lire l'animation sans problème.
Et quand je publie l'animation sur le net, rien.
Le navigateur m'affiche fièrement l'icone schockwave
player et ne lit pas l'animation. J'ai tout essayé, mise
à jour des différents player, safari et firefox sur mac
comme sur pc et internet explorer sur pc, rien à y faire. La
seule parade que j'ai trouvé c'est exporter mon animation
flash en gif animé mais beurk !!! quand on a vu le rendu d'un
swf, on n'aime pas tellement tellement ce que ça donne avec le
gif animé.
Après deux bonnes heures d'arrachage de cheveux et avoir
essayer tout ce qui était dans mes connaissances, j'ai (de
colère) mis mon animation à la poubelle, je ne pourrais
donc pas vous faire partager ce déboire mais si quelqu'un
avait rencontré le même problème et avait
réussi à le résoudre, les informations, quelles
qu'elles soient sont les bienvenues. J'ai tout de même une
piste, je pense que ce sont les paramètres de publication qui
ne sont pas corrects, mais voilà, lequel ??? vous pouvez me
répondre à [email protected] merci d'avance à ceux
qui pourront me répondre, sinon, je continue à
chercher.Bonjour,
Vous trouverez un élément de réponse ici.
Salutations,
Isabelle
Ingénieur d'applications
National Instruments France -
Bonjour,
Dans le cadre d'un projet, je dois récupérer diverses mesures de pression, débit ou températures. Pour la mesure de pression, j'utilise une connexion série via un RS 232.
Après avoir configuré le port série (Baud, nombre de bits...) j'ai effectué une lecture sans problème. Sauf que je ne récupére pas les mesures de la bonne voie. Pour ceci, j'essaye d'écrire la commande avec l'aide de la documentation du capteur. Je n'obtiens d'ailleurs pas d'erreurs dans l'écriture, ni en lecture seulement un warning 1073676294 et surtout je n'arrive plus à obtenir la moindre mesure.
D'avance merci
Thibaut Delepierre
Pièces jointes :
visa.vi 15 KBEssai ça.
bon courage
Philippe B.
Certified Associate Developer / Dépt Moyens d'essais
www.ingenia-system.com
Pièces jointes :
visa_modif.vi 17 KB -
Problème lecture video flashplayer
Bonjour,
j'ai un problème de lecture des vidéos sur internet avec flashplayer sous firefox.
En gros voilà ce qu'il se passe :
- lancement de la lecture
- début de lecture (son + video)
- le son se coupe après 3-4 secondes
- l'image se fixe 3-4 secondes plus tard
- la video ne reprend pas
- la video continue à charger
- si je clic pour aller plus loin dans la video sur la barre de lecture, la video reprend mais reblocage comme précédemment
j'ai essayé toute les instructions de la page
http://helpx.adobe.com/fr/flash-player/kb/flash-player-games-video-or.html
j'ai relancé firefox et redémarré mon ordi.
je n'ai pas le problème sur internet explorer (mais préfère utiliser firefox).
une solution ??
merciWhat is your Flash Player version on Firefox?
What is your Flash Player version on Internet Explorer?
Both check with http://helpx.adobe.com/flash-player/kb/find-version-flash-player.html#main_Find_the_Flash_ Player_version_installed_on_your_machine -
Problème pour convertir fichier
Bonjour, je veux bien entrendre que je ne suis pas seule à avoir des problèmes mais quand puis-je espérer avoir une réponse. Cela fait 1 semaine que je ne peux travailler car je ne peux convertir des fichiers avec ADOBE READER XI (j'ai payé pour cette version).
On ne peut contacter ADOBE car il n'y a pas de n° de téléphone en France.
mayogalouDiscussion en six ( ! ) exemplaires, fil bloqué, merci de continuer dans le premier... Fil bloqué, se référer à http://forums.adobe.com/thread/1402933?tstart=0
-
Problème fenêtre Fichier/Information impossible à fermer.
Hi, j'ai un problème avec Illustrator CC. Je ne peux pas fermer la fenêtre qui s'affiche quand je fais Fichier/Informations. La fenêtre qui apparait est vide et le bouton de fermeture n'est pas actif. Je ne peux pas forcer à quitter Illustrator parce que je dois absolument enregistrer mon travail en cours. Merci.
N,
I believe this is one for our staff contributors here, or for Customer Care or Customer Support.
Raghuveer, Amit, someone?
Customer Care is here (tick I Still Need Help and hope for an agent available for a chat),
http://helpx.adobe.com/contact.html?product=illustrator&topic=downloading-installing-and-s etting-up
and Adobe Support phone numbers are here,
http://helpx.adobe.com/adobe-connect/adobe-connect-phone-numbers.html -
Bonjour
J'ai un petit problème pour lire certaines vidéos Flash sur un site.
Je tiens d'abord à préciser que sur le site d'adobe il est bien indiqué que je possède la derniere version de Flash Player, et tout marche parfaitement sur Youtube and co.
Donc au lieu d'avoir la dite vidéo, je n'ai qu'un fond blanc, pas de barre de lecture ou autre, non, juste un fond blanc...
Quand je fais un clic droit dessus, j'ai 2 choix:
- Animation non chargée (Grisé, impossible de cliquer dessus)
- A propos d'Adobe Flash Player 10...
Est ce que quelqu'un saurait comment je peux faire pour lire ces vidéos?
OS: Windows 7 Pro 64
Navigateur: Chrome ou IE8 (même problème)
MerciWhat is your Flash Player version on Firefox?
What is your Flash Player version on Internet Explorer?
Both check with http://helpx.adobe.com/flash-player/kb/find-version-flash-player.html#main_Find_the_Flash_ Player_version_installed_on_your_machine -
Synchonisation lecture ecriture
Bonjour,
j'uitlise une carte PCIe 6341 pour générer une rampe de potentiel envoyée à un appareil et je récupère un potentiel au retour. Pour cela, j'ai un module en VB6 qui génère la rampe de potentiel (TH_volta) et récupère le potentiel (TH_lecturecourant). La forme de la rampe est stockée auparavant dans le tableau_E et le signal est récupéré dans le tableau_I.
Ca marche sans message d'erreur. Mon probleme est que lorsque la frequence augmente les deux signaux se désynchronisent. En gros, les points du tableau_E ne correspondent plus à ceux du tableau_i.
Avez-vous une idée ?
Merci. Cordialement !
'----------------- GENERATION SIGNAL EN SORTIE-----------------
DaqmxErr = DAQmxCreateTask("", TH_volta) 'tache génération du signal triangulaire
DaqmxErr = DAQmxCreateAOVoltageChan(TH_volta, DAQmx_device & "/" & DAQmx_output_channel, "Uin", _
-1 * gammeV, gammeV, DAQmx_Val_VoltageUnits2_Volts, "")
DaqmxErr = DAQmxCfgSampClkTiming(TH_volta, "OnboardClock", frequence, DAQmx_Val_Rising, _
DAQmx_Val_AcquisitionType_FiniteSamps, nb_points * nb_cycles)
DaqmxErr = DAQmxWriteAnalogF64(TH_volta, nb_points * nb_cycles, True, -1, _
DAQmx_Val_GroupByScanNumber, tableau_Eeff(0), nb_sample_ecrit, ByVal 0&)
'---------------- MESURE DE LA VOIE i ------------------------
DaqmxErr = DAQmxCreateTask("", TH_lecturecourant) ' tache récupération du courant (sous forme d'un potentiel)
DaqmxErr = DAQmxCreateAIVoltageChan(TH_lecturecourant, DAQmx_device & "/" & DAQmx_inputY_channel, _
"Courant", DAQmx_Val_InputTermCfg_RSE, -1 * gammeI, gammeI, _
DAQmx_Val_VoltageUnits2_Volts, "")
DaqmxErr = DAQmxCfgSampClkTiming(TH_lecturecourant, "OnboardClock", frequence, DAQmx_Val_Rising, _
DAQmx_Val_AcquisitionType_HWTimedSinglePoint, _
nb_points * nb_cycles)
DaqmxErr = DAQmxReadAnalogF64(TH_lecturecourant, nb_points * nb_cycles, -1, _
DAQmx_Val_GroupByScanNumber, tableau_i(0), nb_points * nb_cycles, _
1, ByVal 0&)
DaqmxErr = DAQmxStartTask(TH_lecturecourant)Bonjour,
Merci pour votre reponse.
J'utilise en effet la liaison de donnée pour la lecture et l'ecriture de variable sur le bus Modbus.
Il doit y avoir un probleme de synchronisation car cela ne foncionne que pour l'ecriture seule ou la lecture seule.
J'ai essayé d'utilisé des variables partagées comme vous l'avez suggeré. Je crée donc un I/O servor OPC.
Je le caractérise en OPCLookOutDrivers puis je declare de nouvelle variable dans mon projet que je lie au elements du serveur OPC precedement declaré.
Update:100ms
DeadBand:0%
Reconnect PollRate:1s
Server Instance Preference:In process
Read/Write Method:Asynchronous
Lorsque j'utilise ces variable dans un Vi, le flag de la connection reste rouge, donc echou.
Je ne comprend pas pourquoi cela ne fonctionne pas...
Maybe you are looking for
-
CFDOCUMENT PDF generation peformance on Linux running CF server 8 or 9 is horrible
Can anyone help me understand how I can get the <cfdocument> tag to generate PDFs in reasonable time (and without throwing timeout errors) when running on CF 8 on Linux? Running on CF 9 doesn't make a difference, either. I can run the same code that
-
Hi, I have a stream in directshow with a SampleGrabberFilter for the video and another for the audio. I'm using the code of https://jmds.dev.java.net/ for implementing the layer directchow. After, I'm trying to create a datasource for JMF with the ex
-
Running copy functions in the background
Hello, Does anyone know how to run copy functions in the background? I am having an issue because you have to save after the CF are done.. How can you do this in the background? Thanks,
-
Add new Column in Admin Tool including SQL Code
Hi all, I'm new at OBIEE and I already searched here in forum but didn't found an exact answer what could help me. I have a table in Warehouse where I get the employee information. That is employee_id, manager_id and name. Example: Employee_ID Manage
-
About delegates and responders in Cairngorm
Hello all I am stuck in the implementation of Cairngorm micro-architecture in my website. I have to trigger an event which has to populate various combo-boxes on a page. Like countries, departments, locations etc. Now I have created a service which h