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

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

  • 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

  • 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

  • LIRE UN TABLEAU à 2 DIMENSIONS DEPUIS UN FICHIER EXCEL SOUS LABVIEW

    SVP, je suis débutante en labview
    et je cherche à importer des données (real et string) d'un tableau sous un fichier excel vers labview, je souhaite afficher ce tableau dans labview (le nombre des colonnes est 7 par contre le nombre des lignes est variable) et ensuite plus tard utiliser ces donnees
    svp aidez moi, donnez moi un exemple

    Si vous avez le Report Generation Toolkit, puis il ya des exemples disponibles via le finder par exempleLabVIEW. Il suffit de rechercher l'excellence.
    Sinon, voici quelques exemples sur la façon d'accéder et d'importer votre tableau Exceldans LabVIEW:https://decibel.ni.com/content/docs/DOC-12287 and http://zone.ni.com/devzone/cda/epd/p/id/3409
    (en utilisant Google Translate)

  • Envoi d'un fichier .txt sur contrôleur Stäubli CS8C avec les fonction FTP

    Bonjour,
    Voilà, pour mon travail de diplôme, je dois créer une interface sur LabVIEW pour communiquer avec un robot Stäubli TX60.
    Mon problème est que je dois envoyer un fichier .txt dans le contrôleur CS8C du robot. Pour le faire je pensais le faire avec un bloc "FTP put file". Mais lorsque je lance mon VI, j'ai un retour sur error out et error file qui sont OK. Mais quand je contrôle si le fichier à bien été copier dans le répertoire voulu avec la commande DOS de WINDOWS, il n'y a rien.
    Je pense que je dois avoir un problème avec le "remote path" du bloc "FTP put file" car en essayant avec la commande DOS de WINDOWS j'y arrive et le "remote path" est le suivant :    ftp>cd /usr/usrapp.  Puis je copie le fichier dedans.
    Moi j'ai essayer ces chaînes sur LabVIEW pour le remote path :  ftp://usr/usrapp
                                                                                                  //usr/usrapp
                                                                                                  usr/usrapp
                                                                                                  \usr\usrapp
    Merci de vos information
    Si autre solution pourquoi pas!!!
    Résolu !
    Accéder à la solution.

    Bonjour,
    Avez vous essayé avec  usr/usrapp/fichier.txt ?
    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...

  • Lire un fichier Excel avec LabVIEW 2010

    Bonjour,
    je cherche comment ouvrir un fichier Excel avec LabVIEW 2010.
    J'ai essayé avec les outils génération de rapport -> Excel specific, comme expliqué dans un autre post, mais ca ne marche pas du tout.
    Je vous envoie le VI et le fichier Excel si besoin.
    Le but serait de pouvoir lire un tableau et l'afficher.
    Merci d'avance,
    Gabriel de Ramecourt
    Attachments:
    Lire fichier excel.vi ‏14 KB
    Gtest2l.xlsx ‏9 KB

    Bonjour,
    Veuillez publier en anglais sur ce forum anglais. Si vous le souhaitez, vous avez une communauté française sur ce lien.
    En effet avec les outils de génération de rapport, il est possible de lire le tableau et de l’afficher.
    J’ai repris votre code pour afficher les données d’un fichier Excel.
    Vous pouvez aussi regarder l’exemple (de la Developer Zone) suivant :
    http://sine.ni.com/devzone/cda/epd/p/id/3177
    Les liens suivant peuvent vous aider à utiliser le Report Generation Toolkit.
    http://zone.ni.com/devzone/cda/tut/p/id/3178
    http://digital.ni.com/public.nsf/allkb/EFCE1C25DCE​7483E86256CAF00539451?OpenDocument
    http://digital.ni.com/public.nsf/allkb/180EA23CF46​8B3C186256EA2007BE83A?OpenDocument
    Cordialement,
    Samuel G.
    Hello,
     And thank you for posting here. Please post in english on this english forum. If you want, you have a French community on this link:
    http://forums.ni.com/t5/Discussions-de-produit-de-​NI/bd-p/4170
    I translate your post for the other user.
    Gabouch want on this program to get all the data on LabVIEW form .xlm file.
    Samuel G.
    Samuel G. | Application Engineer Team Leader
    Certified LabVIEW Developer
    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
    Attachments:
    Lire fichier excel-2-LV2010.vi ‏15 KB
    temp excel file.xls ‏14 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

  • Récupération des données à partir d'une carte mémoire SD sur LABVIEW

    Salut tout le monde, 
    je suis très heureuse de devenir un membre dans ce groupe. bein, je suis entrain de faire un projet qui consiste à enregistrer des données sur carte mémoire sd à partir d'un microcontroleur puis récupérer ces données sur PC. Mon problème c'est que je veux visualiser ces données sur une interface graphique sur LABVIEW mais dommage je suis débutante sur LABVIEW et j'arrive pas à trouver une solution. Quelqu'un peut m'aider??

    If Google translate is correct, you are trying to log data to a SD card and figuring how to see it in on graph. Since you are getting started with LabVIEW I would suggest using the Write To Measurement File and Read From Measurement File. As shown in this tutorial, you only need to specify the format and file path. I would encourage you to search for code and tutorials about this VIs for more reference, like this one. I hope this helps.
    Alejandro | Academic Program Engineer | National Instruments

  • Bonjour je n'arrive a mettre des fichiers video sur imovie esque quelqu'un peut m'aider ?

    bonjour je n'arrive a mettre des fichiers video sur imovie esque quelqu'un peut m'aider ?

    bonjour je n'arrive a mettre des fichiers video sur imovie esque quelqu'un peut m'aider ?

  • Réception sur Labview de données par Liaison série depuis un PIC18F458

    Bonsoir à tous,
    Dans le cadre d'un projet ingénieur, j'ai dû développer une application sous un PIC18F458. A présent, j'ai des mesures que je souhaite pouvoir afficher sous Labview par la liaison série du PIC.
    J'ai donc utilisé les exemples données sous Labview (8.4), et cela me renvoi quelques résultats... Le problème est que dans l'exemple, l'afficheur renvoi une chaîne de caractère. Pour ma part, ce sont des mesures que je vais afficher, donc j'ai modifier cet partie en ajoutant une convertion en "tableau d'octet" pour pouvoir commencer a visualiser quelque chose de cohérent.
    N'y a t-il pas un autre moyen que d'afficher un tableau d'octets?
    De plus, je souhaite envoyé plusieur mesures différentes sous labview, je souhaiterais savoir comment les réceptionner correctement, comment savoir laquelle est ma mesure de tension ou de courant par exemple?
    Merci d'avance de votre temp,
    Bien cordialement,

    Merci,
    J'ai travailler durant toutes la journée sur la mise en protocole pour l'envoi de différente valeur sur labview, mais j'éprouve des difficultés à le faire.
    Tout d'abord, sur la partie PIC, comment définir ce protocole? (Envoi de plusieur trames consécutives, avec un identifiant de départ par exemple?)
    Et sur labview, comment réussir à découper ces trames et savoir quel est la bonne?
    Si quelqu'un aurais des idées, cela m'aiderais beaucoup.
    Ci-joint ma fenêtre labview.
    PS : mon code PIC simplifié est le suivant :
    OpenUSART (USART_TX_INT_OFF & USART_RX_INT_OFF & USART_BRGH_HIGH & USART_EIGHT_BIT & USART_ASYNCH_MODE, 64);
    while(1)
    while(BusyUSART());
    WriteUSART(totalSums); //variable totalSums
    delay(); //(0,5 seconde)
    while(BusyUSART());
    WriteUSART(accumulator); // variable accumulator
    Merci d'avance,
    Pièces jointes :
    Labview.PNG ‏78 KB

  • Affichage d'une image traité par matlab sur labview

    Bonjour!!
    je veux faire un traitement d'image avec matlab et afficher les resultats sous  Labview . j'ai essayer la formula node de matlab dans la palette mathematics  mais l'affichage se fait toujours sur matlab comment je peux l'afficher sur labview ??  
    vous trouver ci-joint le programme utiliser .
    % Load jpeg files
    orgImage = imread('Pixel.jpg', 'jpg');
    figure(1); imshow(orgImage);
    % 2D FFT
    fftImage = fftshift(fft2(orgImage)); % 2d fft
    ampImage= abs(fftImage);
    figure(2); imshow(ampImage, [0 10000 ]);
    % Convolution (low-pass filtering)
    filter = fspecial('gaussian',[10 10], 4); % gaussian kernel
    filterImage = conv2(orgImage, filter); % convolution
    figure(3); imshow(filterImage, [0 250]);
    % 2D FFT of filtered image
    fftFilterImage = fftshift(fft2(filterImage));
    ampFilterImage= abs(fftFilterImage);
    figure(4); imshow(ampFilterImage, [0 10000 ]);
    Attachments:
    1335097296331.jpg ‏59 KB

    Hello aziz-be,
    You may find quicker responses in the french forum. 
    http://forums.ni.com/t5/Discussions-de-produit-de-NI/bd-p/4170
    Regarding your question.  The Matlab Scipt Node uses activeX to access an api that calls into the Matlab engine.  Thus any figure generation would occur on the Matlab side of things.  What you could try doing is converting the figure to an image, converting the image to an array, and bringing that array into labview and converting it into a LabVIEW image type which you could then display inside of LabVIEW.  This is a rather convoluted way of displaying a figure on the front panel inside of LabVIEW though.  You may find it much easier to do what you are trying to accomplish with the MathScript Node rather than the Matlab Script Node.
    figure (MathScript RT Module Function)
    http://zone.ni.com/reference/en-XX/help/373123B-01/lvtextmath/msfunc_figure/
    NI LabVIEW MathScript RT Module
    http://www.ni.com/labview/mathscript/
    David A
    National Instruments
    FlexRIO Product Support Engineer

  • Camera kinect myRIO sur labview

    j'ai un problème au niveau de l'utilisation d'une camera kinect avec la carte myRIO 1900 sur LABVIEW . lorsque j'envoie le code a la carte myRIO des erreurs s'apparaissent.j'aimerais bien avoir un support qui me guidera pour bien utiliser la camera kinect avec la carte myRIO. merci

    Bonjour,
    Aviez-vous essayé ces liens :
    https://decibel.ni.com/content/docs/DOC-31239
    https://decibel.ni.com/content/docs/DOC-34889
    Cordialement
    Samuel G. | Application Engineer Team Leader
    Certified LabVIEW Developer
    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

  • Utilisatio​n des fonctions trigo sur labview

    Bonjour,
    je fais de l'acquisition de données sur labveiw et je suis encore débutant!! j'ai un problème avec l'utilisation des fonction trigonométrique sur labview car ca me renvoie tout et n'importe quoi. j'ai fait un simple VI pour vérifier le fonctionement de la fonction sinus et arcsinus et quand j'entre par exemple j'entre la valeur 30 ca me donne en sortie du sinus -0.98 alors qu'on sait tous que le sin 30°=1/2  et pire encore quand je reprend ces -0.98 que j'entre dans la fonction arcsin ( la réciproque) je n'obtiens plus les 30 de depart mais -1.42 :/ j'aimerais savoir savoir le truc que je ne capte pas. Car pour moi tous ces résultats sont illogique!!!
    Merci 
    Résolu !
    Accéder à la solution.

    Bonjour,
    Il faut utiliser des angles en radians.
    Cordialement,
    Micaël DA SILVA

Maybe you are looking for