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

Similar Messages

  • 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

  • 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

  • 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

  • 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

  • How to change the font of variables in smart forms dynamicly

    Dear all,
    Is there any suggestion of how to change the font of variables in smart forms dynamicly?
    Thanks in advance.

    Hi,
    You cant change the font dynamically but tell me the scenario I will try to give the solution.
    Regards,
    Nageswar

  • How to change unicode of a variable in PowerShell

    Hi
    I am trying to store a value of a git command into a variable. The command results in a name that contains a Danish Alphabet character. When I give that git command only, on the prompt I get the correct result. As shown below:
    PS C:\WINDOWS\system32> git config user.nameJohn Møller
    but when I store the result of this command into a variable and then display that variable I get different result. what wrong am i doing? Is it something to do with unicode utf8? can I use get-content -encoding utf8 to change the unicode setting of a variable.
    I know get-content work with files.
    PS C:\WINDOWS\system32> $nameingit = git config user.name
    PS C:\WINDOWS\system32> $nameingit
    John M├©ller
    Any help will be appreciated.
    Regrds

    This is my code which I am trying to run i PowerShell. I am simply comparing two values. One is coming from a command "$nameingit = git config user.name" and other from $name which full user name of the current user on the machine. next, i first
    check if there is any special character in the $name or $nameingit. if it is there then i try to use get-content command to change the unicode to utf8. But it does not work for me. All the links talk about sending out put to file in utf8 but I want to change
    the unicode of variable itself so that it can read danish alphabets.
    $nameingit = git config user.name
    $dom = $env:userdomain
    $usr = $env:username
    $name=([adsi]"WinNT://$dom/$usr,user").fullname
    if ($name -match '[^a-zA-Z0-9 ]')
    $name = Get-Content -Encoding UTF8 $name
    if ($nameingit -match '[^a-zA-Z0-9 ]')
    $nameingit = Get-Content -Encoding UTF8 $nameingit
    if ($nameingit.trim() -eq "$name".Trim()) 
    $usrchk = "PASS"
    else
    $usrchk = "Failed"

  • 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

  • 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

  • How to change the value of variable in .bpel file

    Hi,
    How can i change the value of variable in .bpel file at time of deployment.
    Can it be possible with configplan.xml or deployment descriptor?
    Thanks
    Richa

    You cannot change the value of variable in .bpel file using config plan. If you want to change value at runtime , you can use Preference variable. Below is the blog to help you understand more.
    http://eelzinga.wordpress.com/2009/10/28/oracle-soa-suite-11g-setting-and-getting-preferences/
    Cheers,
    Durga
    Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

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

  • 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

  • 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

  • Comment compter les changement d'etat d'une entrée digital

    bonjour
    je voudrais compter les changement d'etat de plusieurs entrée digital sur une carte usb 6008 pendant un temps déterminer 1sec il y aura 2 ou 3 changement d'etat ( detecteur infrarouge)
    je pensais utiliser le vi daqmx timing ou le  Count Digital Events.vi mais il semble fonctionné que pour une entrée compteur ctr.
    quelqu'un aurais une idée ?
    merci pour votre aide
    élio

    Bonjour,
    Avec certains matériels il est possible d'utiliser la fonctionnalité "Digital Change Detection" comme indiqué sur cette page :
    http://zone.ni.com/devzone/cda/tut/p/id/4102
    Mais avec un simple USB-6008 la seule solution possible est celle que ramses64 a indiqué.
    Cordialement,
    Da Helmut

Maybe you are looking for

  • Where are my pictures in Photos after update?

    Hi, after update yosemite my iPhot application is away and Photos is there - but no picture in Photos and only the Photo Library can be open over the Finder (and then if open again) how can I import my picture into Photos?

  • Can't install DVD SP 4 Templates

    I am installing DVD Studio Pro 4 and the installation process seems to hang at 99% where it says DVD Studio Pro Templates. I have to force quit the installer Of course, I can't see any templates when I launch the application. Any ideas how to get the

  • How do i get past the screen that shows itunes icon and connection cord?

    How do i get past the screen that shows itunes icon and connection cord?

  • APEX 3.0: Report attribute caching

    Hi, I saw that the cached report attributes (like Number of Rows) are discarded when they are changed in the APEX Builder. That's great and a big improvement compared to APEX 2.2, because in the old version you had to logout and relogin to see the ch

  • New Image using Clipboard Dimensions

    Hello, I am trying to create an action that copies a selection, and creates a new image. The selection area is different in each image I want to batch process. The problem is, the action is recording the actual clipboard size when I am recording the