Recherche dans un fichier d'une valeur décimale avec espace avant

Bonjour à tous,
après avoir écrit dans un fichier les périodes d'un signal sinusoïdale et cosinus et leurs différentes valeurs j'essaie de rechercher les valeurs des périodes (sinus et cosinus).
Pour ceci j'essaie de voir où est l'espace puis le décimal.
J'utilise la fonction rechercher une expression et Balayer une chaïne de caractères.
Je pense cependant que la méthode avec laquelle j'utilise ces fonstions est mauvaise (erreur de compréhension) et ceci même avec l'aide contextuelle et la recherche d'exemples.
L'erreur est : "La chaîne en entrée ne contient de données dans le format attendu."
Merci de votre aide
A. Mollica
Résolu !
Accéder à la solution.
Pièces jointes :
relecture du fichier.vi ‏11 KB

Ci-joint un exemple.
Bon courage
Philippe B.
Certified Associate Developer / Dépt Moyens d'essais
www.ingenia-system.com
Pièces jointes :
Recherche_Périodes.vi ‏7 KB

Similar Messages

  • Recherche dans un fichier PDF

    Bonjour
    Nous avons des fichiers éditeurs qui nous ont été communiqués début 2000. Le problème est le suivant, il est impossible d'utiliser la fonction recherche dans ces documents. Il ne reconnait aucun caractère sur PC/Windows, mais sur Mac, avec Aperçu nous pouvons faire ces recherches. Comment pourrions-nous faire pour que ces fichiers deviennent utilisables?
    il semble avoir été fait avec Distiller 4.05.
    Je vous remercie d'avance pour toutes réponses.
    Cordialement
    Valérie

    Oui je peux sélectionner le texte et faire un copier-coller. Mais quand on colle le texte, voici ce qu'on obtient :

  • Ecrire dans un fichier de paramètre de configuration avec boucle for

    Bonjour,
    Je cherche à écrire mes paramètres dans un fichier de configuration avec une boucle FOR.
    Selon une condition, des paramètres sont écrits.
    Ci-joint, mon code, pourriez-vous me dire si la strucutre mise en place est correcte ?
    Car c'est la première fois que j'utilise cette fontion.
    Cordialement.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Scenario_key.vi ‏37 KB

    Bonjour,
    Pour ton VI, tu manipules un fichier, donc attention, c'est une référence de fichier (un seul fichier ouvert de travail), il faut donc éviter les accès concurents en parallèle pour limiter les risques.
    De plus, comme toute référence, il faut penser à la fermer à la fin de son utilisation pour la libérer.
    Sinon pour ton problème, tu écris bien toutes les valeurs, sauf que comme c'est un fichier INI, chaque section doit avoir un nom unique, sinon, comment retrouver la section qui nous intéresse. Du coup, a chaque fois que tu écris, tu écris toujours dans la même section Palier ou Rampe.
    Ci-joint une version modifié de ton VI.
    Pour résoudre ce genre de problème, il faut utiliser les superbes outils intégrés à LabVIEW pour le débugage. En particulier les points d'arrêt, les sondes et l'animation du code. Avec ces outils, tu peux voir comment les données évolus facilement dans ton VI et ainsi détecter ce type de problème plus facilement.
    Cordialement
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   
    Pièces jointes :
    Scenario_key Modifie.vi ‏50 KB

  • Affiche dans un tableau tout les valeur de mesures avec le temps

    Bonjour à tous,
    Je fais l'acquisition de température(trois capteurs de température) a chaque 3 seconde, et j'ai du mal à afficher mes mesures dans un tableau avec le temps pour indique a chaque 3 seconde les valeurs de température pour une durée d'essai de 2 heures.
    Merci

    Bonjour Help19,
    Voici une sollution qui permet de créer un tableau de 10 points représentant votre temps d'acquisition pour chaque points.
    0.33, 0.66, 0.99...Cet exemple utilise un registre à décalage pour incrémenter la nouvelle valeur à insérer dans le tableau de dT.
    Cordialement,
    Rémi D.
    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;}
    >> Les rencontres techniques de NI - Mesures et acquisition de données : de la théorie à la mise en ...

  • Insérer de façon précise une valeur dans un fichier tableur

    Bonjour,
    J'utilise le VI "écrire dans un fichier tableur" dans une structure séquence pour enregistrer une acquisition.
    dans un premier temp, Mon VI écrit l'entête du fichier de mesures contenant diverses informations, ensuite les valeurs sont écrites dans le fichier en continu, je ne les stocke pas dans un tableau car l'acquisition est rapide et j'arrive vite à plusieurs milliers de points.
    Je rencontre le probléme suivant :
    J'aimerais enregistré dans mon entête la date et l'heure de fin de l'enregistrement.
    Or si je mets fin a la boucle qui gére l'enregistrement, je ne peux plus écrire cette valeur dans l'entête !
    Je n'arrive pas à écrire dans une case précise de mon fichier pour ne pas écraser toutes mes idées, savez vous comment faire ?
    merci.

    https://decibel.ni.com/content/docs/DOC-9073
    Rodéric L
    Certified LabVIEW Architect

  • Lire des donées provenant d'un pic via une liaison RS232 et écrire dans un fichier xls

    Bonjour à tous,
    Le but de mon projet est de lire et d'enregistrer des données provenant d'un microcontroleur pic. En fait le pic enregistre des données et les stocke dans une mémoire flash. Ce que j'aimerais faire c'est récupérer les données stockées dans la mémoire, les afficher sur un graphe sous Labview et les enregistrer dans un fichier excel. La communication entre le pic et le pc se faisant par RS232.
    Merci par avance pour vos suggestions.
    Bien cordialement.
    Philippe

    Bonjour Philippe,
    Ici tu es sur le  forum en anglais. Essaie de poster en anglais
    Sinon voici le forum francais où tu auras plus de chance que l'on te réponde.
    Pour ce qui est de ton projet, je te conseille de regarder vers les fonctions VISA pour ce qui  est de la communication RS232.
    Il faut récuperer les données pour les mettres sous forme de tableau par exemple.
    Pour l'affichage des valeurs et l'enregistrement en tableau se fait assez simplement. Il y a une fonction Write to a spreadsheet file (dans files I/O) qui permet d'écrire directement une tableau 1D ou 2D.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

  • Enregistrer des valeurs dans un fichier excel déja existant [Nouveau]

    Bonjour à tous et à toutes,
     Je vous pose cette question en dernier recoursu car cela fait trois jours que je cherche mais impossible de résoudre mon probléme.
    Je suis actuellement en stage pour valider ma licence professionnelle où je dois réaliser un programme pour contrôler des allimentation via LabVIEW.
    Tous se passé corréctement jusqu'au moment où j'ai du enregistrer les valeurs obtenus sur excel. Enfaite j'aimerais envoyer des valeurs (numétique) via mon VI vers un fichier excel que j'ai créé au par avant.
    Celui que j'ai réaliser m'ouvre bien le fichier désiré mais ouvre une nouvelle feuille dans celui-ci et écrit dessus et je ne sais vraiment pas comment résoudre se probléme.
    je vous remercie d'avance de votre aide
    Cordialement.
    Résolu !
    Accéder à la solution.

    Salut,
    Voila le VI. Pour qu'il fonctionne correctement il faut que ton fichier Excel
    existant se trouve dans tes document (sur le bureau sa ne fonctionne pas)
    ensuite tu vas dans le boitier  "Open Book" et à "Filename"
    tu mets le nom de ton fichier.
    Pièces jointes :
    Sans titre4.vi ‏30 KB

  • Enregistrer une chaine de caractère dans un fichier excel

    Bonjour, 
    Je réalise une programme qui:
    1) récupère les valeurs de courant grâce à un instrument de mesure, et enregistre ces valeurs chaque seconde dans un fichier excel;
    2) reçoit des logs à intervale irrégulier via le port série et les enregistre également dans un second fichier excel.
    La première partie fonctionne très bien mais je me retrouve face un problème pour la seconde: les logs étant des chaines de caractère, je ne trouve pas comment les enregistrer dans un fichier excel. Quelqu'un aurait il une idée? Il est très important que je puisse enregistrer l'heure à laquelle les logs ont été reçus afin de la comparer avec mes valeurs de courant. 
    Pour la premiere partie, j'ai utilisé l'élément "Ecrire dans un fichier de mesures" qui correspond parfaitement à mes besoins.
    Merci par avance pour votre aide ! 
    Résolu !
    Accéder à la solution.

    Bonjour,
    Vous pouvez utiliser le vi "écrire dans un fichier tableur" pour écrire dans un fichier .xls.
    Ou, vous pouvez écrire dans un tableau et exporter votre fichier à la fin de votre programme dans excel.
    En règle général, il est préferable d'écrire dans un tableau et d'exporter le fichier à la fin, que vous utilisez l'exemple 1 ou 2. En effet, cela vous évite d'ouvrir le fichier et de le refermer un grand nombre de fois.
    Cordialement,
    Jovan N. - Application Engineering
    Pièces jointes :
    exemple_ecrire_dans_fichier_exel.zip ‏14 KB

  • Acquisition d'une valeur et mise dans un tableau à chaque pression d'un bouton

    Bonjour à tous,
    Je n'ai pas trouvé de solutions existantes sur le forum, et débutant sur labview, je me permets de poser la question ici.
    J'ai un dispositif de mesure composé d'un capteur de force relié par liaison com à mon ordinateur. J'ai fait un vi qui me permet à chaque pression du bouton mesure, de m'afficher la valeur lue sur l'appareil. Je souhaiterais à chaque fois que j'appuie sur le bouton Mesure", que mes valeurs soient enregistrées à la suite dans un tableau. Auriez vous un exemple de vi qui puisse éclairer ma lanterne ?
    Le top du top serait de pouvoir inscrire une valeur manuellement à chaque fois que je prend ma mesure de manière à ce que je puisse avoir un tableau de deux colonnes, avec d'un coté les valeurs rentrées manuellement et de l'autre les valeurs mesurées avec mon appareil. Je pourrais ainsi tracer un graphe XY.
    Merci d'avance si vous pouvez m'aider !

    - pour que les valeurs de "bytes read" forment un Tableau, une solution est de "sortir" sa valeur sur un tunnel indexé
    (tunnel "normal" sur le boucle while interne et ensuite tunnel indexé sur la boucle while externe.
    ps :
    Pourquoi utilises-tu une variable locale "bytes read" .... alors que son terminal se trouve juste à côté ?
    L'utilisation excessive de la structure séquence et une utilisation totalement inutile d'une variable locale ...
    me donne l'impression que tu n'as pas compris le principe de base de LabVIEW, soit le "flux de données".
     

  • Sélection d'une portion de texte dans un fichier .txt

    Bonjour à tous,
    Je travaille actuellement avec LabVIEW 2012, et j'aimerais si possible récupérer une portion de données dans un fichier .txt. Cette portion correspond aux fréquences que je souhaite traiter se situant entre les mots "begin" et "end". Donc ce que je veux faire, c'est récupérer uniquement ces nombres, j'ai commencer à effectuer une ébauche du code, et je pense être sur la bonne voie, c'est à dire que je stock les données dans un tableau, et ensuite je pense qu'il faut que j'utilise un registre à décalage dans une boucle for, et dès que je détecte le mot begin je commence à stocker les données après ce mot jusqu'à atteindre le mot end. Si vous avez une idée je suis preneur,
    Je vous remercie d'avance,
    Cordialement,
    Florian
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Fréquences de Test.txt ‏1 KB
    selection_des_donnees.PNG ‏14 KB

    Bonjour Florian,
    Voilà qui devrait résoudre ton problème... à insérer juste après lecture du fichier texte!
    EDIT - En version 2012 (oups):
    Francis M | Voir mon profil
    Certified LabVIEW Developer

  • Enregistrer une valeur dans dans une case précise dans un tableau Excel

    Bonjour, je souhaite enregistrer mes mesures dans un tableau existant. Il s'agit d'un Pv d'essai. J'aimerais enregistrer sur ce fichier, a une case précise et à chaque mesure mon résultat.
    Comment effectuer ça svp?!
    Merci d'avance,
    Cordialement 

    Bonjour,
    Je viens de tester le vi Write table to XL et les virgules étaient très bien prises en compte. Avez vous bien adapté vos données? Les données du VI exportées étant des chaines de caractères, il vous faut préalablement les adapter.
    Si vous avez bien fait l'adaptation, je vous propose d'envoyer le VI en pièce jointe dans le cas de figure qui pose problème.
    Cordialement,
    Romain P.
    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;}
    >> NIDays 2011, le mardi 8 février au CNIT de Paris La Défense

  • Recherche dans une chaine (un petit défi ?)

    Recherche dans une chaine du nombre d'occurences d'un caractère unique ou d'une sous-chaine (plusieurs caractères)
    en pièce jointe, un Benchmark reprenant différentes méthodes. (chaine de départ : 50e6 caractères)
    y est repris ma méthode avec un code en assembleur et l'appel du dit code dans une dll.
    Mon code (ASM_DLL) supporte la recherche d'un caractère unique ou d'une sous-chaine.
    sous-chaine : "abc"
    SpreadSheat - 504ms
    Replace - 428ms
    Count (search 1D array) : ne fonctionne pas si plus de un caractère.
    ASM_DLL - 71ms
    caractère unique : "a"
    SpreadSheet - 639ms
    Repalce - 435ms
    Count (search 1D array) - 102ms
    ASM_DLL - 78ms
    L'outil de mesure est fourni, soit le code benchmark ci-joint.
    Vous pouvez donc prendre les temps "suivant" votre machine, et établir les rapports de comparaison.
    Mis à part la méthode pour générer la chaine de 50e6 caractères, le reste du code est "from altenbach"
    En ce qui me concerne:
    ASM_DLL / Replace = 71ms/428ms = 0,16
    objectif : trouver le nb d'occurences de la sous-chaine "abc" dans une chaine de 50e6 caractères
    (la chaine de départ est générée aléatoirement avant le start du Bench)
    Qui peut trouver un code plus rapide que la méthode "Replace" avec un coefficient inférieur à 0,16 ?
    Quelqu'un pour relever le défi ? .. un petit 0,15 ?

    bon ... et bien j'ai joué tout seul
    aucun passionné d'optimisation et/ou d'assembleur su le forum ?
    Je suis descendu à 0,14 (par rapport à la méthode "replace")
    La métode "replace" (code LV) est la plus rapide pour une sous-chaine comportant plusieurs caractères.
    Pour un caractère unique, la métode la plus rapide est "Count" (et "Count_parallel")
    ("Count" fonctionne uniquement pour la recherche d'un caractère unique)
    Ma dll prend les deux, un caractère unique ou une sous-chaine quelconque. (comme "replace" ou "spreadsheet")
    J'ai peaufiné l'algorithme et le code au maximum, un 0,12 ou même un 0,13 me semble impossible. (sans parallelisme)
    Si vous avez de très longues chaines à scanner, servez-vous de cette dll, ça va vite

  • Comment mesurer le temps d'évolution d'un signal dans un graphe et comparer ce temps mesuré avec une valeur connue?

    Pour mon application, je suis obligé de mesurer le temps d'évolution d'un signal acquis (de t1 à t2) par une entrée analogique d' un module NI 9203, et comparer cette valeur avec une valeur connu afin de juger si ce temps d'évolution est correct ou non.
    J'espere que vous me donner un exemple qui figure la situation citée ci-dessus.

    Hello.
    To get an answer on this part of forum you should post in English. Another possibility is to post on the french forum here.
    Could you explain us more which problems you have? Could you attach your code and explain to us where are you bloked? It should be helpfull.
    Thanks in advance.
    Best Regards. 
    Message Edité par R_Duval le 04-23-2008 12:14 PM
    Romain D.
    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;}
    NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
    >>Détails et Inscription<<

  • 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 des donées par RS232 provenant d'un pic et écrire dans un fichier xls

    Bonjour à tous,
    Le but de mon projet est de lire et d'enregistrer des données provenant d'un microcontroleur pic. En fait le pic enregistre des données et les stocke dans une mémoire flash. Ce que j'aimerais faire c'est récupérer les données stockées dans la mémoire, les afficher sur un graphe sous Labview et les enregistrer dans un fichier excel. La communication entre le pic et le pc se faisant par RS232.
    Merci par avance pour vos suggestions.
    Bien cordialement.
    Philippe

    Bonjour,
    Quel est le problème rencontré ? Mise en route du développement ?
    Menu Aide » Recherche d'exemples 
    En utilisant le mot clé "série" ou "RS232" vous devriez pouvoir trouver ce que vous souhaitez.
    Cordialement, 
    Da Helmut

Maybe you are looking for