Peut-on "désactive​r" des événements dans une structure Evénement?
Bonjour,
J'ai dans mon VI une structure événements dont les conditions d'événements sont reliées au changement de valeur de certaine de mes données.
Ces conditions me permettent de ne pouvoir valider l'utilisation d'un interrupteur que lorsque l'utilisateur à rempli certaines informations sur la face avant (valeurs d'initialisation de mon VI).
Une fois l'utilisation de cet interrupteur devenu valide, je désire que mes conditions d'événement ne soit plus valide: je ne désire plus que lorsque mes données changent effectuer les actions de certaine de mes conditions d'événement.
Je cherche donc à faire un peu comme pour un microcontroleur:
- Valider interruption X,Y,Z
- si interrupteur basculé dévalider interruption X et Z
X,Y,Z correspondant à mes conditions 1, 2 et 3 de ma structure d'événement.
Es ce possible à réaliser?
Résolu !
Accéder à la solution.
Bonjour à vous et à toi ! comme son nom l’indique nœud de propriétés « Register Events » : enregistrement des évènements…. Dynamique.
Sur une structure évènementielle il y a des évènements enregistrés en dur (à la main dans le code par l'édition de la structure) et des évènements dynamiques. Le « Register Events » permet un enregistrement des évènements de façon programmatique dans le code.
Seulement les évènements dynamique sont modifiables et sont annulables.
L’intérêt ? Par exemple l’enregistrement d’évènement d’un XControl (en dehors de lui-même), plus intéressant ? si tu as un exécutable « générique » (noyau) mais avec une IHM spécifique à des clients, sur laquelle tu veux gérer des évènements alors tu récupères les références des objets et tu les enregistres.
Il y a un enregistrement d’évènement qui ressemble, se sont les ActiveX avec des vi Callback
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
-
Stopper plusieurs boucle while dans une structure évènement
Bonjour.
Je gère actuellement l'acquisition de données sous LabVIEW et ai mis en place une structure évènementielle.
Mon programme possède 6 fonctionnalités principales correspondant à 6 boutons :
- paramètres de sécurité
- étalonnage des capteurs
- paramètres de l'essai
- quitter le programme
- démarrer l'essai
- arrêt de l'essai
Jusqu'à présent, les 5 premières fonctionnalités s'exécutent à merveille.
Le problème réside dans l'interruption du code (sans le quitter attention !!) lors de l'appui du bouton "arreter essai".
Lors de l'appui du bouton démarrer, 5 boucles while s'exécutent simultanément (soit dans l'évènement "Demarrer Essais : value change").
J'ai tenté de relier chaque condition d'arrêt de ces boucles à la variable locale "Arreter Essais" (cf. ex ici http://forums.ni.com/t5/Discussions-de-produit-de-NI/Quitter-une-boucle-While-dans-une-structure-Eve... post n°7/9).
Le programme semble alors bien s'interrompre... mais repart de plus belle sans que je ne sache pourquoi :/
Autre test : relier les conditions d'arrêt à une variable globale prenant la valeur vraie dans l'évènement "Arreter essais : value change", là encore échec cuisant.
Je vous joint une imprécran d'une des 5 boucles while en question, afin d'illustrer peut-être de meilleure manière mon problème.
Si vous avez une piste de résolution du problème, n'hésitez surtout pas.
Pour finir, je travaille sous LabVIEW 8.6.1
Merci d'avance.
Arnaud
Attachments:
Boucle WHILE d'affichage sur le graphe.png 29 KBDuplicate
Flo
Open Diagram First -
Verrouillage non-souhaité de la face-avant dans une structure événement
Bonjour !
J'ai deux VIs qui gèrent un processus de calibration similaire. Dans ces deux VIs, je dois commencer par synchroniser mes capteurs avant de pouvoir faire des tests dessus (récupérer les données, etc). Cependant pour un des deux programmes (celui de Calibration Gaz, ci dessous) lorsque je clique sur "Synchroniser", l'événement de synchronisation est bien effectué, mais ensuite toute ma face avant est bloquée, et je me retrouve obligé d'arrêter le VI.
Pourtant, dans mes deux programmes, la partie qui gère la synchronisation me semble bien similaire... Auriez-vous une idée d'où le problème pourrait venir ?
Le Programme Fonctionnel :
Le Programme Bloquant :MoonRat a écrit :
. (pourtant, les cases "verrouiller la face-avant jusqu'à la fin de l'éxecution" dans la struct. événement sont bien décochées...)
dans ma version de LabVIEW, lorsque j'ouvre ton code, dans le code de calibration gaz, la structure event (qui gére l'action synchroniser) est configurée en lock front panel until.... donc je ne suis pas d'acord avec toi.
Tu as 2 structures event, et c'est la deuxième qui a l'option décochée.
Donc pour moi, c'est l'évènement qui n'est pas terminé. -
Est-il possible d'avoir un exemple plus détaillé de l'utilisation d'une structure évènement?
Je cherche à piloter une charge programmable de type Prodigit 3254 series grace à Labview sous Windods XP. Une démo était fournie avec le matériel mais comporte beaucoup de bug et surtout surcharge l'UC à 100%. J'ai essayé d'utiliser une structure évènement pour palier à ce problème mais je perd le controle de la charge. Mon programme d'origine me permet de la controler, de faire évoluer sa config mais dès que l'ajoute la structure évènement je perds le controle de tout. Est-il possible d'avoir des détails sur la manière d'utiliser une structure évènement? sur son mode de fonctionnement? Rien ne figure dans le livre de programmation de Francis Cottet pour la version 6.1. Merci d'
avanceBonjour, vous pouvez trouver les infos concernant la structure évènement ici :
Loops and Structures : http://zone.ni.com/devzone/devzone.nsf/webcategories/E27D46969B82A7FD86256A23005B6947
Plus précisément dans :
- Event-Driven Programming in LabVIEW
- Use the Event Structure in LabVIEW to Capture a Panel Close Event
- Inside LabVIEW : Event-Driven Programming
N'hésitez pas à me dire si cela répond à votre besoin.
Cordialement
Nicolas François
National Instruments France -
Comment remplir un tableau de données avec une structure événement ?
Bonjour à tous.
Je cherche à récupérer les données des curseurs d'un graph XY dans un tableau.
Comme je fait plusieurs relevés j'utilise une fonction événement.
j'ai réussi à incrémenter l'index du tableau à chaque enregistrement mais je n'arrive pas à inscrire les données dans le tableau.
Comment inscrire ces données dans un tableau ?partant du principe qu'un petit VI vaut mieux qu'un long discours
si tu as des questions, n'hésites pas
When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
Attachments:
add to array.vi 26 KB -
Initialisation des états de boutons dans une structure case
Bonjour à tous,
J'ai créer une un claseur contenant des fiches (1, 2, 3, etc...) sur la gauche de mon Front Panel (FP). Sur chaques fiches il y plusieurs boutons type bouléen. Les fiches correspondent à une structure "case".
Chaque fiche comporte un schéma de test avec des vannes et des boutons (on/off). Comment définir la position initiale de ces boutons?
En cliquant sur ces boutons, le schéma se modifie (changement de couleur/position) et lorque le schéma est conforme à la procédure de test, un signal (true) est communiqué vers un diagramme de mesure (à droite du FP) et y active le bouton "start".
Comme la mesure est la même pour toute les configuration validée de chaques fiches, est-il possible d'avoir un seul fil d'activation du bouton start depuis la structure case (sous-entendu seule le "case" actif envoi un signal)?
De plus, lors de l'exécution, je souhaiterai que le changement de fiche (de 1 à 2 par exemple), réinitialise l'ensemble des boutons présent sur toutes les fiches (y compris la fiche sélectionnée).
Merci pour vos conseils, je redécouvre LV après 20 ans, et le programme à sacrément évolué (ou ma mémoire est trouée ).Bonjour MarYve,
Que voulez vous dire par "Comment définir la position initiale de ces boutons?" Est-ce que vous faites référence à la valeur des boutons où bien les boutons changement litérallement de position sur la face avant?
Pour ce qui est de l'initialisation des valeurs des booléans vous pouvez utiliser des varialbes local sur un changement de valeur du classeur, voir example en pièce jointe.
Je vous suggère aussi de suivre ce tutoriel:
http://www.ni.com/white-paper/5241/en/
Attachments:
initboolean.vi 11 KB -
2 Structure événement dans machine à état
Bonjour ,
J'utilise 2 structures événements dans une structure d'état mais je n'arrive pas à affecter 2 actions différente (par 2 fois) avec le même booléen .
Les action arrivent simultanément sans que j'ai pu faire les deux actions l'une après l'autre.
J'ai mis en fichier attaché ,un résumé de mon application
Comment faire , une idée ?
PS je veux garder deux structures évenements car j'ai plusieurs pages
merci
Michel
Pièces jointes :
Two_event.vi 13 KBBonsoir,
Regarde si s'est ce que tu veux faire.
Bon courage.
Philippe B.
Certified Associate Developer / Dépt Moyens d'essais
www.ingenia-system.com
Pièces jointes :
Two_event.vi 12 KB -
Structure Événement dans un sous-vi
Bonjour,
Je cherche à optimiser mon programme en mettant toutes mes fonctions sous forma de sous-vi.
Néanmoins, j'ai remarqué qu'une structure événement exécute uniquement la condition de timeout lorsque qu'elle se trouve dans un sous-vi.
Pouvez vous me confirmer le fait qu'une structure événement ne fonctionne que si elle est directement dans le programme principale.
Citation: http://forums.ni.com/t5/Discussions-de-produit-de-NI/Structure-evenement-dans-un-sous-vi/m-p/1119267...
une structure événement peut être considérer comme des interruptions dans d'autres langage. il doit être dans un programme principal. Seul ce qui est à l'intérieur peut être fait en sous vis.
Cordialement
L.MICOU
Labview 8.2 version étudiante
Sound & Vibration Toolkit
Résolu !
Accéder à la solution.Bonjour,
Le timeout d'une structure évènement fonctionne aussi bien dans un VI principal que dans un sous VI à partir du moment ou vous avez indiqué une valeur de timeout à la structure ( par défaut -1).
La structure évènement permet de monitorer des évènements générés par la face-avant / les composants de la face-avant du même VI. Cependant une structure évènement peut être utilisée pour monitorer des évènements utilisateurs (créés par vous) et dans ce cas elle peut être utilisée dans un VI principal comme dans un sous VI.
Cordialement,
Da Helmut -
Affichage des fichiers jpeg dans un site full Flash (question corrigée)
Bonjour,
Dans un site full Flash qui représente une galerie photos avec des menus simples comment peut-on garantir que des fichiers jpeg ne soient déformées (+ grands en taille) par les navigateurs ?
Comment peut-on garantir, quoiqu'il arrive, le respect des proportions pré définies ?
Comment peut-on empêcher qu'un écran de 19" au format 4/3 affiche des fichiers jpeg dans une taille qui n'est pas la taille d'origine.
Merci d'avance pour la réponse ou les suggestions.
Affichage des fichiers jpeg dans un site full Flash (question corrigée)Bonjour,
un bon outil pour évaluer la façon dont la taille «arrive» aux des divers observateurs, est cette page: http://browsersize.googlelabs.com/ ("Enter URL here" > veut dire «URL insérer ici»).
Hans-G. -
Bonjour,
J'ai un petit problème concernement l'utilisation de la stucture évènement. Ce que je souhaiterai faire c'est d'afficher une boite dialogue en fonction d'un changement de variables. Pour être plus précis j'ai 2 variables que l'on nomera X et Y que l'on peut modifier manuellement et je voudrais afficher un message dès que l'une d'entre elle à été changé. Mais le porblème est que je ne suis pas sûr qu'on puisse utiliser une structure évènement en fonction de 2 variables et j'ai lu sur le forum que mettre 2 structures évènements dans le même VI n'est pas conseillé. Donc je suis un peu bloqué. Tout aide de votre part serai la bien venue
Merci d'avance.Oui Nathand a raison
Suis ses instructions
Je te mets un exemple
A+
Charly
It's always sunny in California! Certified LabVIEW Associate Developer!
Attachments:
EventStructure.vi 11 KB -
Prise en compte des sous-dossier dans le menu photo de l'ipod
J'utilise la fonction de synchronisation des photos vers le ipod: je possède parfois à l'intérieur des dossiers des sous-dossier qui eux ne sont pas pris en compte dans la navigation de l'ipod. Ci quelqu’un à la possibilité de me venir en aide, je le remercie d'avance!
Translation
I use the function of synchronization of the photographs towards the ipod: I have sometimes inside the files of the under-file which them are not taken into account in the navigation of the ipod. Ci somebody with the possibility of coming me to assistance, I thank it in advance!
DELL 510m Windows XP Ipod, Agent18, iTune, QuickTime ProMy picture
Album 2004
Album 2005
january
-picture1
february
-picture2
etc..
-picture3
Album 2006
Quand je fais synchroniser le dossier My picture, toutes les photos des sous-dossiers (january, february, etc..)de Album 2005 sont rassemblées et les noms des sous-dossiers disparaissent:
translation:
When I make synchronize the file My picture, all the photographs of under-files (january, february, etc.) of Album 2005 are gathered and the names of the under-files disappear:
Photos
Album 2004
Album 2005 ----> picture1picture2picture3
Album 2006
Peut ont afficher le nom des sous-dossiers dans le menu de l'ipod? (Voir dernier schéma):
translation:
Can have to post the name of the under-files in the menu of the ipod? (see last diagram):
Photo
Album 2004
Album 2005 ---->januaryfebruaryetc..
Album 2006 -
Structure événement et sous vi
Bonjour à tous,
Mon problème à peut être déjà été traité mais je n'ai rien trouvé dans les exemples et les forums.
Je souhaite lancer un sous vi avec face avant visible à partir d'un vi principal utilisant une structure événement et pouvoir continuer à interagir sur le vi principal pendant que le sous vi s'exécute.
Le sous vi doit afficher une donnée générée par le vi principal.
Je joins un exemple ou le vi principal est bloqué :-( tant que le sous vi s'exécute. Donc la donnée affichée n'évolue pas.
J'ai essayé d'utiliser une exécution dynamique du sous vi, je pense que ça fonctionne mais la face avant du sous vi ne s'affiche pas.
Merci d'avance pour vos suggestions.
Solved!
Go to Solution.
Attachments:
Main.vi 11 KB
SubVI.vi 10 KB
Variable globale.vi 5 KBBonjour Syned,
Je pense qu'il faudra deux boucles indépendantes pour gérer ce comportement asynchrone. Je suis parti sur un modèle "producteur/consommateur de messages" en reprenant le même exemple (variable globale + sous-VI).
Laurent V.
Application Engineer - National Instruments (France)
http://france.ni.com/support
http://www.ni.com/support
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 : du contrôle d'instruments aux bancs de test
Du 4 au 13 juin : Grenoble - Pari...
Attachments:
ProducerConsumerEvents.vi 24 KB
SubVI.vi 12 KB
Variable globale.vi 5 KB -
Problème d'ajout structure événement+vista
Je vient d'initialiser avec labview 9.0 et j'ai rencontré un problème lors de l'ajout des événements et des conditions dans la structure événement. Notant que je utilise windows Vista.
In English here.
-
Pourquoi le centrage automatique des pages est désactivé pour des mise en page tablette et téléphone ?
What exactly you are referring to ? please provide more details , screenshots etc.
Thanks,
Sanjit -
Utilisation de la structure évènement (débutant)
Bonsoir,
J'ai fait une boucle for. J'ai donc ma condition "vraie" et ma condition "faux" et tout fonctionne.
Mais maintenant, j'aimerai qu'une fois la condition vraie rencontrée, qu'il ne quitte plus la boucle et fasse toujours cette opération quelque soit la condition d'entrée. Une fois la condition vraie rencontrée, "tu" continues toujours de faire la condition vraie.
Je me suis alors tournée vers la structure évènement, mais je n'arrive pas du tout à comprendre comment elle fonctionne. Pensez-vous qu'elle est la solution à mon problème?
Si non, avez-vous des idèes vers lesquelles m'orienter?
Merci d'avance.
Cordialement,
Laetitia M.Bonjour Laetitia,
Poster un exemple nous aiderait à comprendre ce que tu as déjà fait... sa a l'air un peut confus
La structure évenement s'utilise plutôt dans une boucle while.
vOICI UN PETIT TUTORIEL SUR LES EVENEMENTS/ http://www.youtube.com/watch?v=8eO64fo3Pho
SInon j'ai mis un petit exemple avec les boucles for qui me semble correspondre à la demande: j'ai mis une condition de fin de la boucle FOR de haut niveau, dans le cas VRAI, on execute le code le nombre de fois restantes... es ce cela qui est recherché?
Cordialement,
Rodéric L
Certified LabVIEW Architect
Pièces jointes :
for loop ex.JPG 25 KB
Maybe you are looking for
-
7 pin s-video to 4 pin s-video
My laptop has a 7-pin s-video port. all my Tvs have 4-pin s-video ports. how do i make them work together? Solved! Go to Solution.
-
Since the latest version (don't even ask me) was downloaded and installed, many times in a session when I am browsing the net, or opening a text document or a spreadsheet, flipping back and forth, I'll have to stop and sit for an indeterminate amount
-
Can I edit this code to accept .php instead of .jpg?
Hi guys, Thanks for checking this post out... Can I edit the below code so when a link is clicked on, say main.php?pagename=news, it will look in a folder for news.php and display it where the code is placed in main.php? Here is the code: <img src="i
-
TREX not working for e-recruiting with HTTP content server
We have a separate e-recruiting instance where we have only e-recruiting functionality installed. In this system we are using Storate type as "http content server instead of standard setting "SAP system database" for HR_KW content repository via tran
-
Java.sql.SQLException: No available resource. Wait-time expired.
Hi all, The application platform is SunONE Application Server 7, and the database is ORACLE 9i. My Website application will raise the SQLException once a few days' running. Everything will be ok once the Application server has been restarted. The det