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

Similar Messages

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

  • Changer etat d une variable booléenne

    Bonjour.
    Je débute avec labview et j'ai généré un signal numérique dont l'état est stocké dans une varable booléenne que je dois faire évoluer au cours du temps. La règle d'évolution du signal est que le signal a une chance sur dix de changer d'état.
    J'ai donc créer une variable booléene correspondant à l'état du signal, créer une boucle infinie à l'aide d 'une boucle while,stocker l'état du signal à laide d'une registre à décalage, réaliser un tirage aléatoire.
    VOIR pièce jointe
     Il faut que je crée une condition pour que l'état de ma variable booléenne change et la je bloque (passage de 0 à 1 ou vice versa); l'énoncé me demandant qu'il y ait une chance sur 10. Il me restera à afficher les résultat dans un graphe déroulant.
    Quelqu'un pourrait-il m'aider en m'indiquant comment changer l'état de ma variable afin que je puisse poursuivre mon travail?
    MERCI
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    IMAGE 1.png ‏25 KB

    Merci beaucoup pour votre réponse qui m'a beaucoup aidé dans la partie 1. Je me permets donc de revenir vers vous pour la suite qui me pose un peu problème.
    Voila dans un premier temps ce qui m'est demandé dans la suite de l'exercice (partie 2)
     II] décodage des fronts montants
     On souhaite maintenant compter l'ensemble des fronts montants du signal. Pour cela, il faut détecter les changements d'état du signal (d'état bas à état haut).
     Modifier votre programme précédent pour stocker le nombre de fronts montants.
    Etapes intermédiaires :
    - créer une variable compteur
    --‐ Utiliser un registre à décalage pour pouvoir incrémenter le compteur
    --‐ Incrémenter le compteur lors d'un changement d'état
    Cela ne ME pose a priori pas de problème voir pièce jointe image 2.
    Qu'en pensez vous?
    La partie 3 me pose un peu plus de problème de part l'utilisation du MYDAQ.
    VOIR PIECE JOINTE INFO
    En fait j'éprouve des difficultés à retrouver le signal avec le MYDAQ. Je pense que le programme fonctionne mais je n'arrive pas à le relire avec l'oscilloscope.
    Voici la consigne de la partie 3 :
    3  génération du signal à l'aide du MYDAQ
    On souhaite maintennant envoyer le signal simulé sur la ligne de sortie D0 du MYDAQ. Pour cela, on doit modifier notre programme pour ajouter l'envoi du signal numérique sur la sortie D0 du MYDAQ. Réaliser la génération du signal corespondant sur sortie et vérifier à l'aide de l'oscilloscope MYDAQ que le signal est correct; Vous devez obeserver exactement le même signal que celui de votre face avant.
    Pouvez-vous m'indiquez si cela vous semble correct?
    Je vous emercie encore pour votre aide qui m'a fait beaucoup progressé.
    Pièces jointes :
    Image 2.png ‏87 KB
    info.png ‏248 KB

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

  • Evénement déclenché par une variable connectée par Datasocket à un serveur OPC

    Bonjour,
    J'utilise un serveur OPC pour lire et écrire des variables sur un automate. J'ai essayé de connecter les variables directement avec un connexion Datasocket et d'utiliser les VI en exemple. Dans les deux cas, les ressources de mon PC augmentent et les temps de réponse sont assez longs.
    Dans mon application, j'ai besoin d'"attendre" une valeur particulière d'une variable automate. Je voudrais donc dans un premier temps, vérifier que la variable n'est pas à la valeur souhaitée et si ce n'est pas le cas, avoir un événement qui se déclenche au changement de valeur de cette variable. Cette méthode de programmation fonctionne lorsque la connexion de la variable locale n'est pas activée, mais pas avec la connexion Datasocket.
    Est-ce normal? Y-at-il un moyen pour que ce soit le serveur qui informe le client Labview que la variable a changé d'état?
    Cécile

    Bonjour Cécile !
    Et bienvenue sur ce Forum ...francais
    Je ne vous apporterai pas d'élément complet de réponse car je n'ai jamais utilisé de process DATASOCKET .
    Cependant je pense pouvoir vous aider lorsque , je vous cite :
    "Dans les deux cas, les ressources de mon PC augmentent et les temps de réponse sont assez longs. "
    Je pense que vous utilisez des boucles contenant des tableaux ou des variables locales et pire encore ,pour l'espace mémoire, des fonctions concaténation, des fonctions de modification de tableau etc...
    En effet contrairement à certains languages de programmation utilisant des boucles (presque tous maintenant) Labview génére à chaque itération de boucle une allocation mémoire (différente si ce n'est pas le premier appel ) lors d'une lecture ou écriture de variable locale (imaginez alors si c'est un tableau de clusteur par ex...) l'utilisation mémoire augmente alors à chaque lecture ecriture des variables...
    Utilisez un registre à décalage (click droit sur la boucle for ou while) pour que votre variable soit transmise à la prochaine itération (même en arretant Labview, vous pouvez utiliser les valeurs précédents l'arret !) et ne soit plus réallouer à chaque itération
    vous pouvez avoir plus de détails en lisant l'Application note suivante...
    Labview Performance and Memory Management
    et un sujet (en anglais) qui définit bien la différence et le fonctionnement des variables
    locales et noeuds de propriété
    que vous pourrez retrouver dans le répertoire manuals de LAbview...n'oubliez pas de préciser à chaque sujet votre config et des infos précises sur votre problème , le monde des sytèmes electronique - informatique et vaste et varié...
    CordialemntMessage Edité par Ecosmose_CNRS le 05-26-2005 06:13 PM
    Julien
    Conception Informatique et électronique
    CNRS LCSR Web
    Orléans la Source FRANCE

  • Datasocket comment retrouver une variable avec un lien datasocket mal configuré dans un VI

    Bonjour,
    J'ai dans un projet une variable configurée avec un lien datasocket en mode lecture qui fait appel à une adresse IP fixe.
    Je le vois avec la commande Netstat sous dos...
    Mon problème c'est que je n'arrive pas à la retouver dans tous les VIs de mon projet pour la corriger ....
    Y'a t'il une astuce
    Merci

    Bonjour Clément,
    Malheureusement je ne saisi pas très bien votre problème
    Utilisez-vous des variables partagées que vous avez liées à une adresse IP?
    Elles ne sont pas présentent dans une bibliothèque de votre projet?
    Je ne comprends ce que vous voulez dire lorsque vous écrivez: "je n'arrive pas à la retrouver dans tous les VIs de mon projet"
    Peut-être pourriez vous poster votre projet?
    Cordialement
     PS: ce forum est destiné au posts en anglais si vous désirez poster en français vous avez le forum français.
    Message Edité par Véronique D le 04-01-2008 04:29 AM
    VéroniqueD
    NI France

  • Comment créer une variable globale

    Bonjour,
    Ca fait maintenant un moment que j'utilise Labview (1ans), et pour la première fois je pense avoir besoin d'une variable globale, mais je n'arrive pas a la maitre en oeuvre.
    Mon problème est le suivant. Je voudrais qu'en cliquant sur un bouton STOP de la face avant d'un de mes VI, sela est l'accion d'apuiller aussi sur le bouton stop d'un autre VI (sous-sous-vi). Je pensais donc mettre une variable global qui surveil à quel état est le bouton stop de mon VI, et faire surveiller cette variable globalle par mon sous-sous-vi pour l'aréter quand on apuis sur stop.
    J'ai donc ajouter une variable globale à mon VI, mais je n'arrive pas à la relier à mon bouton STOP. (jobtien un fil de liaison brisé).
    N'ayant jamais mis de variables globale en place, je ne comprend pas pourquoi, et ne trouve pas de solutions.
    Si quelqu'un pouvais m'expliquer pas a pas comment écrir dans une variable globale, puis comment lire une variable globale, cela m'aiderais grandement. ( je n'ai pas non plus compris pourquoi les variables globales ont une face avant???)
    Merci pour votre aide.
    Nico

    Bonjour,
    Il semblerait que vous ayez créé votre Variable Global en laissant le type par défaut. Du coup vous essayez d’écrire un booléen dans une variable de type Double.
    Je vous conseil de lire ce lien pour tout ce qui est utilisation de variable partagée.  
    Message Edité par BenjaminR le 05-26-2008 04:51 AM
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Pièces jointes :
    VarGlob_Revolution.png ‏151 KB

  • Insérer une variable dans une boite de dialogue

    Bonjour,
    Je souhaite insérer une variable (valeur extraite d'un tableau Excel) dans une boite de dialogue. J'ai vu qu'on pouvait modifier le VI Express de la boite de dialogue mais je ne vois pas comment insérer cette variable dans le message d'entrée.
    D'avance merci

    Hello,
    First, I think that you can get more help if you write in english. Because i didn't understand completly your question.
    What you're trying to do it's simply what's in the attached picture? it's not all the code. Simply the read cell and the dialog.
    Software developer
    www.mcm-electronics.com
    PS: Don't forget to rate a good anwser ; )
    Currently using Labview 2011
    PORTUGAL
    Attachments:
    excel_dialolog.JPG ‏5 KB

  • Comment retrouver l'utilisation d'une variable partagée dans un projet

    J'ai un projet assez important où j'utilise des variiableables partagées. Le problème arrive lorsque je veux les retrouver.
    Avec un vi ou une variable glogale, c'est facile : il suffit de faire un clic droit et de sélectionner "trouver toutes les instances". Mais pour une variable partagée, ça n'existe pas.
    Existe-t'il une méthode? quelle-est-elle?

    Bonjour,
    Veuillez suivre cette procédure afin de résoudre votre problème.
    In order to see your Network-Published Shared Variables in the VI Hierarchy you must change their Variable Type to Single-Process. You should only change this property type when you are not accessing the variables from the network. Changing the Variable Type can be done by right-clicking on your variable in the Project Explorer Window and selecting Properties from the drop-down menu. In the Shared Variable Properties window change the Variable Type to Single-Process. Once the variable type has been changed, you can now see what variables are being used by what VI's. To do this open your Main VI, go to VIEW » VI Hierarchy. In the VI Hierarchy window go to VIEW » Include Globals. Now all of your variables will be seen as Globes in the VI Hierarchy.
    Cordialement

  • Comment conserver les caractéristiques typo à une variable titre en continu ?

    Bonjour,
    Je réalise un livre avec plusieurs chapitres sur indesign 5.5. Le nom de chaque chapitre apparaît sur les pages de droite de ma maquette par une variable "titre en continu". Ces titres sont déterminés par un style de paragraphe.
    Dans l'un des titres de chapitre apparaît un exposant (style de caractère) qui disparaît dans la variable.
    Comment puis-je résoudre ce problème ?
    Merci d'avance pour votre aide
    Sophie

    I hope you can read English.
    Working from a Google translation I think you are asking about how to format the content of a variable when you want to have part of the text with a different style, in this case superscript. This may not be possible for you using variables.
    Variables are treated as single characters, as far as formatting and text flow are concerned. For that reason they cannot have multiple formats within the same variable string, nor can they break across multiple lines. You mentioned you are using a Paragraph Style based header variable. Depending on just where and how your multiple formats need to appear you may be able to accomplish your task using a series of Character Style based header variables instead, but it isn't always workable.

  • 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

  • Comment créer une variable partagés d'un cluster?

    bonjour,
    Je cherche à créer une variable partagé d'un cluster à 5 elements de type chaine de caractère comment faire??
    merci d'avance

    Il faut faire un control personnalisé du cluster (un définition de type par exemple). Ensuite dans la création de variable, il faut sélectionner "from custom control" dans le type de données...
    Rodéric L
    Certified LabVIEW Architect

  • Forcer une variable booléenne

    Bonjour,
    J'ai créé un VI contenant une variable booléenne, A. Lorsqu'elle est mise à 1, un sous-VI s'ouvre. Ce sous-VI contient également une variable booléenne, B, qui, elle, permet de retourner au VI lorsqu'elle est mise à 1. Je souhaite forcer A à 0 lorsque B est à 1. Comment fait-on?
    Merci pour votre aide
    Message Edité par lindaa le 02-02-2007 07:48 AM

    Bonjour Lindaa,
    Un moyen de réaliser ce que vous souhaitez est d'utiliser les variables locales (clique-droit sur la commande>créer>variable locale).
    Ci-dessous un petit exemple réalisant ce que vous souhaitez, le VI principale est test booleen.
    Cordialement,
    Christophe S.
    FSE East of France І Certified LabVIEW Associate Developer І National Instruments France
    Attachments:
    invert_subVI.vi ‏10 KB
    test booleen.vi ‏15 KB

  • Créer une variable partagée de type chemin de fichier

    bonjour
    est-ce que quelqu'un sait comment créer une variable partagée de type chemin de fichier.
    merci de votre réponse=)
    Résolu !
    Accéder à la solution.

    Salut,
    Je crois pas que ce type de variable existe. Cependant tu peux transformer ton chemin de fichiers en chaine de caractère et faire transiter cette donnée via une variable partagée... puis faire la transformation inverse côté cible (ou PC c'est selon).
    Regarde du côté des VIs de chaîne de caractère dans la palette de fonction : Programmation > Chaîne > Conversions chaîne/tableau/chemin > Chemin en chaîne (ou Chaîne en chemin).
    @ + 

  • Comment remplacer un registre à décalager par une variable globale

    Bonjour tout le monde,
    Je vous sollicite encore une fois par manque d'expérience....
    Alors cette fois-ci j'ai un VI qui va acquérir une tension et faire la moyenne de celle-ci, mais mon problème est que j'utilise une boucle while avec un registre à décalage et d'après mon tuteur c'est à cause de cette boucle que je n'obtiens pas les résultats escontés.
    Il m'a donc conseillé de supprimer ma boucle while et de mette une variable globale qui gère la période de moyennage à la place de mon registre à décalage. 
    Le souci c'est que je ne connais ni d'adem ni d'eve cette variable...
    Est-ce que quelqu'un aurait l'amabilité de m'expliquer un peu cmt ça fonctionne parce que je ne trouve pas mon bonheur dans les exemples et les autres sujets?
    Et surtout est-ce la bonne solution?
    REM: le VI a été créé par une autre personne je n'est fais que de modifier la partie moyennage, donc les autres variables globales ne sont pas de moi.
    Merci d'avance!
    Attachments:
    VI_TEST2.vi ‏50 KB
    VI_TEST2.vi ‏50 KB

    Bonjour à toi,
    Tu trouveras ci-dessous un exemple d'implémentation d'une variable globale fonctionnelle :
    Basic Functional Global Variable Example
    J'ai regardé ton programme mais je ne suis pas sûr d'avoir bien compris ce qu'il devait faire, aussi je ne peux pas te conseiller entre les deux solutions, essaye avec la variable globale fonctionnelle cela sera de toute facon un bon exercice d'apprentissage.
    Pour le reste du programme, il est en principe fortement déconseillé d'utiliser des structures séquences déroulées. Il vaut mieux, si on veut s'assurer du bon déroulement de son programme, utiliser une structure de machine à état ou bien tout simplement le flux de données, principe natif de LabVIEW :
    Programmation par flux de données dans LabVIEW
    Machine à états simple
    J'espère que cela t'aidera,
    Bonne journée,
    M-Junior

Maybe you are looking for

  • Convert Video Switch in Desktop Software

    What happens when I use  the convert video switch in the Desktop Software when I am syncing videos to and from playbook.  Having problems playing video clips tagged as AVI.  Get error message on Playbook when I go to play the clips.  Assuming not a t

  • How do I dynamically create a hyperlink in Indesign with vb

    Hi, does anyone know how to create a dynamic link to Indesign with vb? I'm coding a catalog from Access database with images and would like to make an "Enlarge image" hyperlink while generating the page. Somehow I seem to have no luck in my code. Tha

  • Flash 11 and the Nvidia driver

    Hello, I'm using Flash 11 in Widows XP, with an Nvida 8600GT. I find the performace to be poor, with even lo-res video - it's choppy. I'm running the Nvida driver version 266 from 01/11.  Is it possible if I update my driver, I may get a better respo

  • How to make costumer submitted web apps?

    Hi guys! I have been watching BC gurus' tutorials on how to make costumer submitted web apps. I have made a new site with the "Satine Boutique"-template. What I want is to make users able to upload pictures to this site, into different product catalo

  • Is it possible to reboot a Macbook?

    My trackpad is not responding to clicking on it.  It will highlight an item on the desktop but when I press the track pad it doesn't nothing.  Our old Mac laptop had a battery that you could remove, thus you were able to "reset" it when it acted up.