Incrémenter à chaque run

Bonjour.
Est-il possible d'incrémenter une variable à chaque éxécution ? C'est à dire que Labview garderait en mémoire la valeur n et qu'à l'éxécution suivante, il me ressorte la valeur n+1
Nicolas

Oui.
Tu peux utiliser un "Action Engine" ou mieux reconnus sous le terme de "Functional Global Variable".
Le concepte est simple.  Tu as une boucle avec un "shift register" qui est non-initiale'.  Chaque fois que l'application l'appelle, il se souvient de la derniere valeur.  Tu pourrais donc avoir au sein de ton logiciel (si tu utilises un "State Machine"), un etat qui s'occuppe de contenir la derniere valeur.  Et tu peux l'incrementer chaque fois que tu appelles cet etat. 
La solution la plus simple est d'incorporer un "Action Engine" a ton code.  Tu peux faire une rechercher sur ce terme.  Il y a quelques exemples de disponibles.
Cependant, des que tu fermes ton application (exe) ou tu fermes LabVIEW, la valeur en memoire est perdu..  Si tu veux maintenir cette valeur meme si LabVIEW est fermer (ou ton ordi est fermer), je suggere que tu sauvegarde la derniere valeur dans un fichier.

Similar Messages

  • Incrémenter un numéro dans un champs de formulaire Adobe

    Bonjour,
    J'utilise un formulaire qui a été construit sous adobe acrobat.
    Ce formulaire comporte un champs avec un numéro chronologique . J'aimerai qu'à chaque ouverture de ce ficher, ce numéro chronologique s'incrémente.
    Comment faire ?
    Merci à vous.
    Enola

    Tout est là : Contacter l’assistance clientèle
    Y compris :
    Appelez le :
    France: 01 71 23 01 96
    Belgique: 027119960
    Suisse: 044 800 9581
    Du lundi au vendredi, 9am - 5pm CET

  • Incrémenter une valeur avec Rechercher/Remplacer sous Indesign

    Bonjour, je voudrais savoir comment je pourrais utiliser la fonction Rechercher/Remplacer d'Indesign pour remplacer et incrémenter des valeurs.
    Je m'explique. En fait, je viens de finir un catalogue pour un client, et pour l'instant, tout les produits portent la référence "WAV/RE43", et j'aimerais les remplacer par "FRA056", puis "FRA057", "FRA058,... et ainsi de suite, dans l'ordre de lecture.
    Les deux paramètres sont donc l'incrémentation, et de ne pas partir de 0, mais d'un nombre arbitraire.
    J'ai pensé à utiliser un script vu que j'ai des connaissances de base en javascript, et donc utiliser une boucle pour incrémenter le tout, mais j'avoue ne pas savoir comment combiner cela avec Rechercher/Remplacer.Voilà, j'espère avoir été aussi clair que possible.
    Merci d'avance.

    jmlevy wrote:
    L'ordre dans lequel se place les nombres ne respecte néanmoins pas vraiment le sens de lecture.
    D'après les différents tests que j'ai put faire, l'ordre des incrémentations se fait tel que la recherche opère, et elle opère du premier élément créé, au dernier […]
    Absolument, c'est l'ordre chronologique qui est pris en compte pour la numérotation, pas la position sur la page. Mais dans les tests que j'ai faits, l'ordre de lecture corresoond à l'ordre chronologique.
    L'ordre chronologique ne fonctionne plus si je rajoute un bloc e haut de la page, après avoir créé tout les autres, et d'autant plus vu que mon client me fait échanger des places de produit. Sachant que chaque produit est représenté par un bloc de texte, et non une ligne.
    […] indépendament de l'ordre des sous obets du calque au quel ils appariennent.
    Je sais qu'il est possible d'intervenir directement sur le "code" de la forme visible que l'on peut voir dans le mode naturel.
    Je ne suis pas certain de comprendre…
    Excuse moi, je n'ai pas été très claire. Je voulais pas parler du mode d'editeur.
    Mais je ne parviens pas à accéder à un mode editeur qui me permette de voir l'arborescence total des mes blocs, et donc de pouvoir intervenir sur son ordre.
    Ce n'est surement pas destiné à ce type d'utilisation j'imagine.
    Car je sais que mon client va me demander de rajouter des produits au milieu des autres, ou d'en déplacer certain, et vu qu'il l'a déjà fait auparavent, mes blocs ne sont de toute façon pas disposé par rapport à leur création chronologique.
    Je viens de tester : j'ai ajouté une ligne entre deux existantes et tout est renuméroté en conséquence.
    Comme je le disais plus haut, 1 produit=1 bloc de texte, et non une ligne.

  • Détecter une incrémenta​tion ou une décrémenta​tion d'une variable

    Bonjour à tous,
    j'aimerais tout simplement créer un bout de code permettant de detecter si une de mes variables s'incrémente ou décrémente.
    Cordialement

    salut, et la structure évènementielle? structure event? sur le changement de valeur ?
    http://zone.ni.com/reference/fr-XX/help/371361H-01​14/lvhowto/cfgevents/
    A+
    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

  • Create unique filename by auto-incre​ment path

    I needed a program that would take in a pathname, see if the file name already existed at that location, and if so it needed to auto-increment the file name. I wanted it to work the way windows inherently does when you copy a file of the same name into a location because that seems the most natural to me. I was running into problems with the ftp functions in the internet toolkit becaues if the local file already exists at the path you input, it just doesn't perform the get files function.
    I discovered after searching the forums that a lot of people run into this all the time and usually the way they get a unique file name is by adding the date and time to the end of the file. This is both effective and informative, but results in unnecessarily long and ugly file names. 
    So I made a subVI and I wanted to share it with you guys. Hope someone finds it useful. Let me know what you think.
    [will work for kudos]
    Attachments:
    Unique File Name.vi ‏34 KB

    I took your suggestions
    - appended (T) to the check existence input description to indicate its default position
    - Created a "New Path?" output that idicates whether a new path was created (T) or if the inputted path was simply passed through (F)
    And for all the users who dont have 2009... Here are some older versions for you
    enjoy
    [will work for kudos]
    Attachments:
    Unique File Name.vi ‏35 KB
    Unique File Name_8-5.vi ‏44 KB
    Unique File Name8-6.vi ‏35 KB

  • Comptage impulsion codeur incrémenta​l

    Bonjour,
    Je vous explique mon application:
    Je souhaite compter le nb d'impulsion d'un codeur incrémental de la marque BAUMER afin d'en déduire un signal 0-10V proportionnel à la vitesse d'un moteur.
    Données techniques:
    Codeur incrémental 1024 Pts/tour
    Sortie TTL 0-5V
    Vitesse max 60tr/min  donc fmax= 1024Hz
    Matériels utilisés:
    NI cDAQ 9174
    Carte de comptage NI 9421
    Carte sorties analogiques NI 9263
    Labview 2011 11.0
    Problèmes rencontrés:
    Sur ma face du programme Labview j'ai mis un graphe en sortie du bloc fonction DAQ ou je souhaite mesurer la fréquence des impulsions du codeur afin d'en déduire la vitesse. Quand je lance l'application et tourne le codeur je n'obtiens rien du tout.....
    La led "Active" du NI DAQ ne s'allume pas est-ce un problème? La led de ma voie de comptage ne s'allume pas non plus.
    J'ai pensé à un problème de câblage, j'ai donc branché directement en sortie du codeur un voltmètre. En tournant doucement le codeur je vois bien la sortie passer successivement de 0V à 5V.
    Je vous joins des photos de mon banc, le bout de programme et le schéma de câblage.
    J'espère que quelqu'un pourra m'apporter une aide...
    Merci par avance
    Christophe
    Pièces jointes :
    Comptage_codeur_incremental.zip ‏1983 KB

    bonjour,
    normalement la led active de la carte d'acquisition doit être allumé en fonctionnement. utiliser MAX pour vérifier si votre carte est bien détecté.
    ensuite vous pouvez avoir un problème de cablage si les fils sont serré sur la gaine et non sur les brins (coté matériel
    NI).
    Les assistant DAQ sont pratique pour ceux qui débute, mais pas toujours pratique. essayé de les évité aux maximum. il faut connecté le nom du périphérique en entrée de votre assistant. n'hésité pas à utiliser la sortie d'erreur qui vous permettra de débugger votre soft et de demander du support technique.
    Cordialement
    L.MICOU

  • Incrémenter avec un bouton poussoir

    bonjour,
    j'utilise LV 8.5 et je voudrais incréménté la valeur d'un indicateur numérique de 1 à chauqe fois que j'appui sur un bouton poussoir de type commutation à lappui.
    pouvez vous m'aider svp
    cordialement
    manu

    http://forums.ni.com/t5/Discussions-de-produit-de-NI/compter-le-nombre-de-pression-sur-un-poussoir/t...
    Rodéric L
    Certified LabVIEW Architect

  • Remplissage excel incrémenté

    Bonjour,
    Je cherche à exporter des données sous excel sous plusieurs utilisations.
    Par exemple une personne A réalise au jour J une performance de 21. Le lendemain ( J+1), une personne B réalise une performance de 30.
    J'aimerais que ces données soient sous un même fichier excel, malgré le fait que l'enregistrement n'ait pas été fait le même jour.
    Cela donnerait sous excel un tableau avec une colonne personne, une colonne date et une colonne performance, avec en dessous les valeurs des personnes associées.
    Merci d'avance,
    Cordialement
    Ggermm
    Solved!
    Go to Solution.

    Si vous utilisez le "Write to Spreadsheet String", il y a un choix d'ajouter ou écrire un nouveau fichier. J'ai mis des boutons pour chaque cas.
    Attachments:
    Exemple.vi ‏14 KB
    Exemple 8.0.vi ‏15 KB

  • Fichier TDMS valeur incrément

    Bonjour à tous,
    Quelqu'un sait-il si on peut modifier la valeur de WF_INCREMENT qui ***** trouve dans le premier onglet d'un fichier TDMS.
    Dans mon application il est toujours à 1 alors que je le voudrais à 0,01, j'echantiollone à 100 hz
    Par avance merci et bonne journée

    Bonjour leader09,
    La fonction DAQmxConfigureLogging est assez rigide et il est impossible de rajouter des channels "faits maison" : elle loggue chacune des voies d'acquisition. Si l'information du temps est importante, il faut récupérer les données DAQmx sous forme de Waveform (qui inclut la donnée temporelle). L'autre façon de procéder est de faire l'acquisition dans un thread, et l'enregistrement TDMS à partir des fonctions native dans un autre. Cela demande cepandant plus de notions sur le multitasking.
    Pour permettre à l'utilisateur de définir le chemin du fichier TDMS, je recommande d'aller faire un tour sur coté de la fonction FileSelectPopup !
    Cdt,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Recherche et calculs dans un tableau 2D

    Bonjour à tous,
    je dispose d'un fichier "LogTable", contenant des enregistrements : Name, Durée,TS, TS_ON, TS_OFF, Energie (voir fichier joint)... au format texte (Name), date (TS...) et double (Durée & énergie).   TS = Time Stamp
    Ce fichier étant incrémenter à chaque fonctionnement d'un système d'éclairage...
    La lecture du fichier ne posant pas de problème.
    Le champ Name (format texte) est structuré de la facon suivante : Salle.Zone.Période exemple S159.Z1.Période
    Je souhaite désormais faire un cumul journalier, mensuel et annuel de l'énergie, de la durée et ensuite par zone. (par exemple en cliquant sur un BP)
    Ma question est : Comment, dans un premier temps, faire le cumul de l'énergie par jour ? le champ TS contient l'information de date, donc du jour... à chaque changement de jour, enregistrer le cumul, dans le même tableau (Name =Salle.Jour et TS = 2014-01-01) voir dans un autre tableau... les TS sont rangés dans l'ordre chronologique (Enr en fonction de l'horloge du Pc)
    Merci de votre aide
    JPS59
    Pièces jointes :
    LogTable.xls ‏4 KB

    Sur un fichier texte cela va être rapidement « lourd », un fichier XML ou une base de données type mdb sont plus appropriés. Perso j’aurai bien vu une base de données, tu gardes ta structure, la réponse à ta question serait alors « juste » une requête sql. Il y a un toolkit chez NI.
    A+
    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

  • InDesign et le traitement par lot (ou mailing)

    Bonjour à tous,
    petite question sur InDesign.
    Savez-vous comment faire une sorte de mailing (ou traitement par lot) sur InDesign ?
    Je m'explique, imaginons 10 pages avec un fond et des blocs de textes identiques (un gabarie pour résumer) et supposons un fichier (.doc ou .txt ou .xls...) comprenant une sorte de base de donnée de noms (1 - Jean Dupond, 2 - Pierre Dubois... etc). Est-il possible de faire en sorte que notre fichier InDesign traite cette base de donnée en insérant chaque entrée de fichier (.doc ou .txt ou .xls...) dans chaque page du fichier InDesign ? Bien sur en "incrémentant" à chaque fois (page 1 -> Jean Dupond, page 2 -> Pierre Dubois...)
    Merci mille fois de vos réponses par avance.

    Ça s'appelle la fusion de données.
    Il y a même un tuto disponible ici, créé par votre serviteur : http://forums.mediabox.fr/wiki/tutoriaux/indesign/fusion_donnees

  • NI 9403 pwm / mli fpga mode

    Bonjour à tous,
    J'ai déjà une expérience de labview et je désire générer une pwm à une fréquence de 1KHz avec un NI 9024 + NI 9403, et ceux avec 100 valeurs différentes de rapport cyclique.
    Pour cela je réalise dans mon fpga, de façon cyclique, 100 itérations d'une boucle de 1 us ou je met à jour l'état logique de la sortie en fonction du rapport cyclique donné en consigne. Pour cela, je compare la consigne à un registre de comptage qui s'incrémente à chaque itération de la boucle et qui se remet à 0 au bout de la 100 em, si la consigne est supérieure au registre de comptage, je met la sortie à 1 sinon je la met à 0.
    Je ne sais pas si c'est la méthode usuelle sous labview, mais je me suis inspiré de celle que l'on m'a enseignée sur d'autres systèmes de contrôles. J'ai d’ailleurs utilisé le même code sur une carte sbRIO 9632, et cela marchait très bien.
    Je fais donc le test sur mon cRIO et obtient alors une fréquence de 760.455 Hz (et la fréquence ne change pas). Auriez vous, s'il vous plaît, une idée de ceux à quoi cela pourrait être du ??
    Solved!
    Go to Solution.

    problème résolu (si ça peut aider quelqu'un, un jour):
    La vitesse max de rafraichissement des DIO est trop faible (une grosse dizaine de us). Ce qui est trop lent pour générer corectement des pwm pour des fréquence supérieur à 1 kHz. Merci quand même, bonne journée à tous.

  • Compter nombre de tours_capteur de vitesse

    Bonjour,
    Voila, j'utilise LabView 7.1, j'utilise les modules Fieldpoint, le FP-AI-100 pour mon acquisition.
    Mon souci étant que je n'arrive pas à faire l'acquisition de mon capteur de vitesse inductif qui me renvoi une valeur haute et une valeur basse (0 - 16mA)
    Après plusieurs recherches sur le forum, je n'ai pas réussi à trouver et à appliquer ce que je voulais.
    J'aimerais qu'un compteur soit incrémenté à chaque fois qu'un seuil est atteint. De manière à pouvoir en déduire ma vitesse de rotation.
    Si quelqu'un peut m'aider ..
    En vous remerciant d'avance.
    Jimmy

    A chaque fois qu'un seuil est atteint, pour dire, à chaque fois que la valeur 14mA est atteinte en sortie de mon capteur, sur un front montant.
    Le capteur me renvoi du 0-16mA mais pas en binaire, dépendant de l'intensité de la source metallique se trouvant dans son champ d'action.
    Mais j'ai trouvé hier soir ce dont j'avais besoin, voici ce dont j'avais besoin (j'ai remplacé l'entrée booleenne par l'acquisition Fieldpoint de mon capteur inductif)
    Merci en tous cas :-)
    Message Edité par Jimmy89 le 04-11-2007 02:17 AM
    Attachments:
    essai.vi ‏25 KB

  • Zeros-poles-gain configuration

    Bonjour;
    Je travaille avec LV 2010
    - Je n'arrive pas a configurer un terminal d'entrée pour la fonction zero-pole-gain avec un cluster  de tableaux (z,p,k)  issus d'une identification non-entière.comme illustré dans les pièces jointes.
    - Comment faire pour indexer le signal d'entrée dans la boucle de simulation; Faut-il generer un tableau exterieur a la boucle et comment indexer le signal en fonction de " l'itération" comme pour les  boucles While ou For.
    Merci pour votre aide et  à bientot.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    ni.png ‏47 KB
    Sim.vi ‏119 KB

    Bonjour,
    Merci d'avoir posté sur le forum NI.
    Quand j'ouvre votre VI je n'ai aucun fil brisés sur la fonction Zero-Pole-Gain. Il est executable.
    Pour votre problème d'indexation, vous pouvez utiliser une variable que vous venez incrémenter à chaques tour de la boucle de simulation. Pour cela je conseille d'utiliser une Variable Globale Fonctionnelle comme celle jointe.
    Cordialement,
    Nicolas M.
    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;}
    Journées Techniques LabVIEW 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...
    Pièces jointes :
    FGV.vi ‏11 KB

  • Je cherche a faire une incrémentation de frequence

    bonjour,
    je suis débutant en labview6. Donc dans le cadre de mon stage, je dois piloter un générateur de fonction et un oscilloscope via un port GPIB. pour le générateur j'ai trouvé les drivers mais pas pour l'oscilloscope.
    bref. j'essaye de faire une boucle qui me permette d'incrémenter une frequence initiale a chaque tour. mais j'y arrive pas. si quelqu'un peut m'aider....
    merci
    cordialement jeanluc

    Bonjour,
    Pour trouver le river d'instrument de votre oscilloscope, faîtes une recherche sur ce lien. Si le driver d'instrument n'existe pas, reportez vous aux exemples VISA fournis avec LabVIEW. Par contre, il faut lire la documentation de votre oscilloscope afin de lui envoyer les bonnes commandes.
    Avant toute programmation, testez vos commandes à l'aide de MAX (Measurement & Automation Explorer).
    Salutations,
    Isabelle
    Ingénieur d'applications
    National Instruments France

Maybe you are looking for