le 01-15-2015 05:04 PM
Bonjour,
J'aimerais pouvoir allumer/éteindre la LED qui se trouve dans le bouton poussoir argent sans avoir besoin d'appuyer sur le bouton.
Est-ce que c'est possible ? Je cherche depuis cette après-midi sans succès.
Merci d'avoir lu 😉
01-15-2015 05:35 PM - modifié 01-15-2015 05:44 PM
une méthode parmis 3 ou 4
ci-joint ... (LV2013)
[EDIT]
mais je me demande si j'ai bien compris ???
peut-être aimerais-tu changer la "couleur" ... mais sans chnager l'état du bouton ...
J'ai relu ta question, et j'ai un doute !
[/EDIT]
le 01-16-2015 12:20 AM
Wouahouh merci pour la réponse rapide !
Tu as a bien répondue à mon probléme, je l'aurais pas trouvé.
Merci beaucoup et bonne journé !
le 01-16-2015 02:06 AM
Vi server te permettra bien des choses pratiques
Plus d'info sur Vi server
le 01-16-2015 08:46 AM
Strictement parlant, on appuie sur le bouton quand même (par programmation), on ne change pas seulement la LED 🙂
Retoucher la LED seule est d'ailleurs impossible sur ce bouton par programmation 😕
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 01-16-2015 03:03 PM
3 compliments pour le noeud de propriété value ?
merci à tous ... mais ... c'est une chose assez basique pourtant.
allez ... 3 autres ...
le 01-19-2015 06:55 AM
Salut ouadji : la grande forme! Peux-tu nous expliquer les avantages et inconvénients liés à chaque méthode, ainsi que la version que tu conseilles? Merci A+
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
01-19-2015 04:04 PM - modifié 01-19-2015 04:07 PM
mon choix serait :
A) la locale (rapidité)
elle fonctionne dans tous les threads, son exécution ne sera donc pas ralentie si l'UI est "busy".
De plus, une locale provoque une copie des données uniquement si la face avant est en mémoire.
B) le noeud de propriété "direct"
C) le noeud de propriété "indirect" (avec Ref en entrée)
Les noeuds de propriétés se synchronisent sur le thread interface utilisateur. Or, l'interface utilisateur n'est pas multi-thread (seule l"UI est mono-thread)
donc si l'UI est occupée, elle retardera l'éxécution du noeud de propriété.
Autre inconvénient du noeud de propriété ...la face avant est d'office chargée en mémoire.
Un noeud de propriété provoquera donc toujours une copie des donnés.
D) Control value set (by name)
en principe LV doit rechercher la correspondance nom-référence, il serait logique que ce noeud soit plus lent.
Mêmes inconvénients que pour un noeud de propriété "classique", direct ou indirect avec Ref d'entrée.
délais d'exécution si UI busy et copie d'office des données.
E) Get index by name + set by index
cela implique, une recherche de correspondance nom-index, ensuite une recherche de correspondance index-référence ...
tout ceci prend du temps, à mon avis cette méthode sera la plus lente (à vérifier)
D et E permettent par contre un code plus "souple". on peut changer de "cible" uniquement en changeant de "nom".
Je le fais moi-même, avec un tableau de noms, une boucle For indexée, et un "value set by name" dans la boucle.
Cela dépend des besoins.
Attention : variable locale et noeud de propriété ne protège pas des "race condition"
de plus pour une locale, il n'y a aucune gestion de l'erreur.
donc pour moi, le gagnant : la locale (rapide, efficace)
mais ... uniquement si la cible est unique ... et attention aux "race condition".
Si cibles multiples, le "value set by name" est bien pratique (on pourrait aussi faire autrement ... mais alors, on est parti pour du scripting)
autres choses Luc ?
le 01-19-2015 05:17 PM
et bien non,
"Set Value by Index" offre de meilleurs performances qu'un "Noeud de propriété Value".
(PS : j'ai oublié les SR sur la ligne d'erreur ... et je n'ai envie de ré-écrire le code
)
maintenant ... meilleures performances en termes de quoi ? ... gestion mémoire, vitesse
Perso, je pense d'un point de vue vitesse car cette méthode semble ne pas avoir besoin du VI Server.
le 01-20-2015 04:54 AM
super!!!, rien à dire, je suis d'accord avec toi.
Pour être honnete, je n'utilise pas "Set Value by Index" et je ne sais pas vraiement ce qu'il apporte.
A regarder
+1
ouadji a écrit :
autres choses Luc ?
RévélationLuc ... je lis tes publications, mais oui !... on ne passe pas à côté d'un "papier" de CLA !
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group