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
    gael

    Ok, 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 KB

    Ok, 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

  • Lecture un fichier

    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 KB

    Bonjour ,
    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 P

    Bonjour,
    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

  • Problème lecture visa RS 232

    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 KB

    Essai ç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 ??
    merci

    What 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.        
    mayogalou    

    Discussion 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

  • Problème lecture vidéos Flash

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

    What 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

  • Directshow + JNI 1.2( NewDirectByteBuffer ) + JMF = Fatal Error Screen

    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