Modifier une chaine avant de l'enregistrer.

 Bonjour,
Je tente d'enregistrer les données reçues d'une commande sous le format ASCII. Mais je souhaiterai pouvoir l'enregistrer en espaçant les bits de données par un espace.
Mais je ne trouve pas la fonction adéquate pour modifier la chaine que je reçois.
Pour être plus clair, chaque bits de données correspondent à une fonction. Je souhaiterai pouvoir les séparer, pour ensuite les indexer, et faire le traitement de chaque bits pour récupérer les valeurs qui m'intéressent.
 Est-ce quelqu'un aurait une idée à me souffler ?
 Je vous joinds mon Vi pour contextualiser ma démarche.
 Cordialement,
 Sma
Résolu !
Accéder à la solution.
Pièces jointes :
Send.vi ‏23 KB

Salut, je pensais à cela
Luc Desruelle | Voir mon profil | LabVIEW Code & blog
Co-auteur livre LabVIEW : Programmation et applications
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW
Pièces jointes :
LV8.61_exemple.zip ‏7 KB

Similar Messages

  • D'un tableur excel à une chaine déroulante

    Bonjour,
    je cherche à faire afficher par une chaine déroulante (en face avant) une liste de nom contenu dans un fichier excel. Ces nom sont dans la première colonne et sur les 40 premières lignes. Mon début de programme est "lire un fichier tableur".mais après les solutions essayé ne marche pas. Il y a la solution en entrant ces noms dans "propriété de chaine déroulante" mais si ma base de donnée de nom change ....
    En vous remerciant de votre aide
    Cordialement
    4Sup

    bonsoir
    rien a voir avec la question de départ mais il n'est peut etre pas judicieux de stocker l'age
    c'est redondant et peut etre source d'erreur. Puisque tu disposes de la date de naissance
    autant implementer une fonction de calcul de l'age
    Cdt
    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

  • 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

  • Ajouter une chaine dans une chaine déroulante

    Bonjour,
    Je suis nouveau en labview, et j'aimerai savoir comment on ajoute une chaine dans une chaine déroulante.
    Merci
    Cordialement
    Solved!
    Go to Solution.

    Bonjour Rémi,
    Rien de plus simple, tu fais un clic-droit sur ta chaine déroulante >> Editer les éléments...
    Tant que j'y suis je te conseille d'utiliser une commande de type énum plutôt qu'une chaine déroulante. Les deux commandes ont la même fonctionnalité sur la face-avant. L'avantage est qu'une commande énum est gérée sous forme de numérique sur ton diagramme, c'est donc plus facile à utiliser est moins source d'erreur que d'utiliser des chaines. C'est notamment très pratique avec une structure condition.
    Bonne journée,
    M-Junior

  • Modify process chain

    Hi,
    I have created a process chain but forgot to add compression cube step. I have already activated the process chain and now looking for an edit/modify option and I do not know how do we modify a process chain. Is there any way that I can modify a process chain.
    Thanks in advance.
    Teder.

    Hi,
    You can Modify the chain and inculde the missing Process(s) .
    In Planning Mode: Goto Change mode...
    include the Processes -Save--Activate.
    Note: If you have already scheduled your chain make sure you have released job after the modifiactions.
    Regards,
    Jonn

  • Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW

    Salut à tous,
    Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW.
    Thx
    Nizar
    Résolu !
    Accéder à la solution.

    Si ton fichier est un fichier tableur ce qu'a dit yohann me parait le mieux. Par contre si c'est un fichier texte qui contient une chaine au format tableur (sepération avec des tabulations) il faut utiliser "lire un fichier texte" + "Convertir un chaine au format tableur en tableau" et ensuite indexer la case qui t'intéresse.
    Maintenant si tu as un simple fichier texte  et que tu veux lire un couple ligne/colonne qui désigne un caractère précis il faut utiliser "définir la position dans le fichier" en connaissant la largeur de ton fichier texte. et la tu n'as plus qu'à rentrer dans offset: indice_ligne*largeur+indice_colonne comme une vieille réminiscence du c.
    Sebastien DEVISSCHER - Nerys

  • Passage de paramètres avec une face avant secondaire

    Bonjour,
    j'ai plusieurs produits à tester qui ont une partie commune à 75% et l'autre partie spécifique. J'ai une fenêtre de test standard et je souhaiterais à travers une face avant secondaire avoir la partie spécifique qui s'affiche lorsque la référence est choisit.
    Jusque là j'ai réussi à afficher ce que je souhaite suivant la référence, mais j'ai un problème pour passer les paramètres du VI principal au VI de la face avant secondaire et inversement.
    Quelqu'un pourrait il m'expliquer comment faire pour passer des paramètres avec l'utilisation d'une face avant secondaire ?
    D'avance merci.
    Jérôme B.

    Rebonjour,
    Avec les noeuds de methode "valeur de commande", j'ai défini le passage de mes paramètres, mais ceux ci ne sont pas passés ou je n'arrive toujours pas à les récuperer... Peux-t-on passer des tableaux ou faut-il obligatoirement les passer en unitaire ?
    Slts
    Jérôme B.

  • Transformer une chaine hexadecimal complément à 2n en décimal

    Bonjour à tous,
    Voilà, tout est dans le titre.
    Je désire transformer une chaine hexadecimal complément à 2n en Décimale.
    Exemple : en utilisant la fonction chaine hex en decimal : "FFFA" donne "65530" mais si on transforme avec complement à 2n je devrais obtenir ( -6).
    Je n'ai pas trouvé de fonction qui permette de le faire. SI vous avez une solution je suis preneur!!!!
    En cherchant sur les forums, j'ai trouvé un petit Vi qui permet de transformer un nombre binaire (I16) en decimale avec complement à 2n qui fonctionne.
    Le soucis c'est que dans mon VI je recupère une valeur hexadecimale type Chaine et je n'arrive pas à transformer : "1111111111111010" au format chaine en "1111111111111010" format I16 pour pouvoir connecter ce petit VI. (png ci_joint)
    Je ne sais pas si j'a été suffisament préscis mais je vous remercie d'avance pour toute l'aide que vous pouvez m'apporter cellà fait un petit bout de temps que je tourne en rond sans trouver de solution.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Conversion 16bit Binaire en decimale complément à 2n.png ‏20 KB

    de rien 
    c'est un grand classique de "binary string to number".
    Cette fonction n'existe pas dans la palette "String / number-string conversion"
    Elle a (je pense) été proposée sur labview idea exchange.
    Peut-être une fonction dédiée (native) serait-elle "plus rapide" (??)
    Dans le cas contraire ... je n'en vois pas trop l'utilité.
    Ce "scan from string / %b " fait parfaitement ce travail.
    bon code.

  • Convertir une chaine de caractère en horodatage

    Bonjour à tous,
    Est-ce possible de convertir une chaine de caractère de ce type: 24/09/2014 en horodatage ?
    Cordialement
    Nathan
    Résolu !
    Accéder à la solution.

  • 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

  • Comment modifier la police de caractère des éléments d'une face-avant ?

    Bonjour,
    Nous possèdons le logiciel LABVIEW 7 et j'ai les questions suivantes :
    1/ Comment modifier la police de caractère (taille, gras, italique...) pour
    les éléments de la face avant d'un vi ?
    Merci.

    La barre d'outils de LabView 7 contient un menu déroulant vous permettant d'effectuer quelques opérations sur les polices de caractère.
    Si vous sélectionnez un texte d'un contrôle et que vous modifiez la police, le style ou la taille, les modifications ne s'appliquent qu'à ce que vous avez sélectionné.
    Si vous sélectionnez un contrôle les modifications s'appliquent à tous les textes du contrôle.
    Si vous ne sélectionnez aucun objet sur la FA du VI alors les modifications correspondent à la police par défaut que les nouveaux contrôles utiliseront.
    J'espère que cela vous aura été utile.
    Julien

  • Best practices to modify process chain

    Hi,
    What is the best practice to modify the  process chain whether in in the production or transport back to the dev.
    Does Query performing tuning setting should be done in production like read modes,cache settings.
    Thanks
    nikhil

    Hi Nikhil,
    The best practice to modify the process chains will be making the change in Development system and transporting to Quality and Production. But if you are making a simple change like changing the scheduling time ( change of scheduled date and time by editing the variant) you can do it directly in Production. But if you are adding new steps to process chain, it is better to make change in Dev and move it to Prod.
    Also once the change reach production you may need to open the chain in edit mode and activate it manually.
    It is a common issue for the process chains containing delta DTP, that the chain will be saved in modified (M)  version and not in active version by transports.
    The query read mode and cache settings, you can do it in Development and move it to production.
    But the pre-filling of cache using broadcaster settings can be done directly in production.
    Also creating of cube aggregates to improve query can be done directly in production rather than creating in development and transporting to Prod.
    Again, it depends on project, as in some projects they make changes directly in Prod, while in some projects changes in Prod are not allowed. I think it is better always start the changes in dev and move it to P.
    Hope it helps,
    Thanks,
    Vinod-

  • Récupérer données d'une chaine de caractères (CVI)

    Bonjour,
    je travaille sur LabWindows CVI.
    J'ai une trame CAN de 16 caractères que j'entre manuellement dans un champ en string.
    Prenons pour exemple :
    unsigned char Trame[17];
    J'entre dans le champ 0123456789ABCDEF.
    Je fais :
    GetTableCellAttribute (panel, control, case en question, ATTR_CTRL_VAL, Trame);
    Je lis bien :
    Trame = "0123456789ABCDEF"
    Seulement voilà quand je souhaite afficher dans un autre champ, la valeur de certains Bytes.
    Donc certaines données de la chaine de caractère.
    Je fais pas exemple :
    SetCtrlAttribute (panel, control, ATTR_CTRL_VAL, &Trame[X]);
    Si X = 0 alors j'obtiens : 0123456789ABCDEF alors que j'attend : 0
    Si X = 1 alors j'obtiens : 123456789ABCDEF alors que j'attend : 1
    Si X = 7 alors j'obtiens : 789ABCDEF alors que j'attend : 7
    Si X = 11 alors j'obtiens: BCDEF alors que j'attend : B
    Comment faire dans Labwindows pour afficher ce que je souhaite.
    Merci de votre aide.

    Bonjour,
    En fait ce n'est pas strcpy qu'il faut utiliser mais strncpy (voir l'aide de CVI pour un exemple) :
    strncpy
    char *strncpy (char targetString[], const char sourceString[], size_t maxChars);
    Purpose
    Copies characters from a source string to a target string until it reaches the specified number of characters or an ASCII NUL byte. If an ASCII NUL byte is found in the source buffer within the specified number of bytes, NUL bytes are written to the target until the specified number of characters have been filled in. If no ASCII NUL byte is found within the specified number of bytes, the function returns after copying the specified number of bytes and does not append an ASCII NUL byte to the buffer. If you want to guarantee that an ASCII NUL byte is at the end of the copied bytes, you can use the following:
    strncpy (target, source, n);
    target[n]=0;
    Cordialement,
    Da Helmut

  • [TestStand] Popup avec une face avant de VI

    Bonjour, 
    A un moment dans ma séquence TestStand je veut faire afficher un popup donnant des informations sur le test et qui se ferme à un autre moment du test.
    pour ce faire j'utilise 3 vi :
    - le premier sert juste pour la face avant, il y à en entrée les champs qui vont etres affichés et en sortie une réference pour ce vi
    - le second et celui appelé par la séquence, il contient les mêmes champs en entrée, il appel le premier VI et avec un noeud de proprieté cablé sur la sortie du sous VI je pilote la face avant. En sortie de ce VI je retourne la réference du premier VI à ma séquence.
    - le troisième VI et aussi appelé par la séquence il utilise la réference du premier VI et ferme la face avant et le VI.
    Mon probleme et que malgre le fait que je mette le champ FA.AuPremierPlan à Vrai la face avant ne passe pas au premier plan sous TestStand.
    Si je ne travail que sous Labview la face avant passe bien au premeir plan.
    Dans l'aide Labview il est indiqué "Cette propriété s'applique uniquement dans l'instance d'application du VI appelant"  ...
    Si quelqu'un peut me dépanner. 

    Je rajoute en pieces jointes un petit bout de séquence et les vi appelés si il y en a qui peuvent regarder.
    Jean-François.
    Pièces jointes :
    popup.zip ‏38 KB

  • Balayage et conversion d'une chaine "scientifique" en valeurs "décimales"

    Bonjour à tous,
    Je souhaite votre aide pour un petit pb que je n'arrive pas à résoudre.
    Z 7.2295E+05,Y 1.3832E-06,PHASE -89.09,CS 2.2018E-10,CP 2.2012E-10...
    Je souhaiterais balayer la chaine ci-dessus pour en retirer les valeurs"scientifiques" et les convertir en valeur "décimales" pour les mettre dans une par une dans un tableau.
    J'ai essayé quelques vi de convertion mais  mes résultats sont très moyens ! Il me manque toujours un morceau dans le tableau ...
    En fait, la chaine fait une 20 ène de mesures avec 20 valeurs au format scientifique.
    Merci.
    Cordialement

    Bonjour,
    Petite proposition. Je reste dispo si tu as des questions
    Maxime
    Certified LabVIEW Associate Developper
    Pièces jointes :
    ConversionSciDec.vi ‏12 KB

Maybe you are looking for

  • Manual Freight condition without Tax

    Hi Experts, I am looking for some help on setting up a Manual Freight condition in the Order but one that does not include Taxes. I have created a copy of the Header Freight condition KF00 and everything looks fine except the Tax condition MWST takes

  • Non english password

    Hi, why i can't input a non english characters in a password. My native language is russian and some of my friends use a none english characters in login and passwords. But in a password my mac mini with lion don't alloy this. What i should do to fix

  • Document attachment to a material

    Hello and sorry for my bad english I have a material in MM02 with a image ( .jpg) attachment to a material, i can see the image in "attachment list" but i need to print this image in a sapscript or smartforms... How i can do this? How and where save

  • Plz guide me on the formula of PCTUSED

    Hi I read in a blog to find out blocks available for insert are Blocks with total filled volume < (BLOCKSIZE – overhead – (blocksize*(1-(PCTFREE/100))) In the above formula I am unable to understand the meaning of blocksize*(1-(PCTFREE/100)) Please e

  • I am creating a christmas card, want to put a photo credit on back anyone know how

    I am creating a Christmas card on iPhoto.  I want to replace the apple logo on back with a photo credit.  Does anyone know how or if that can be done