05-06-2009 04:14 PM - modifié 05-06-2009 04:16 PM
(Re)bonjour,
Je créé ce topic suite à celui-là: http://forums.ni.com/ni/board/message?board.id=4170&thread.id=28003 où je ne voulais pas partir en hors sujet.
Avec les variables locales, est-il possible d'éviter le genre de problème que je rencontre sur la capture ci-dessous ?
Ce n'est qu'un exemple mais c'est le genre de situation que j'ai dans mon code original: deux mesures effectuées succèssivement, mais dont je souhaite afficher le résultat sur les mêmes indicateurs. Pour le moment, j'ai dû copier 2 boucles, chacune ayant ses propres indicateurs en face avant.
je n'ai pas trouvé (pas bien cherché ?) de solution dans d'autres topics ou dans les vi d'aide de Labview.
d'avance merci
annexe: si quelqu'un a une solution vite fait pour faire clignoter la led (le booléen) tant que le programme est en execution, ce serait sympa 😉 (j'ai essayé avec un noeud de propriété mais j'ai dû mal m'y prendre: ca marche pas :/)
Résolu ! Accéder à la solution.
le 05-07-2009 12:32 AM
le 05-07-2009 02:32 AM
Merci JB mais... tu aurais la possibilité de me rendre l'exemple compatible avec la version 8.5 ? (je sais, j'ai écrit dans l'autre post que je travaillais sur la démo de la 8.6, mais je suis revenu en 8.5)
merci d'avance 🙂
le 05-07-2009 02:36 AM
05-07-2009 03:46 AM - modifié 05-07-2009 03:48 AM
Merci beaucoup
A part le registre à décalage, j'avais les autres éléments !
Je ne maitrise pas le registre à décalage en fait 😕
Ici il est donc utilisé pour alterner la valeur booléenne de l'indicateur LED.
Le point faible de cette solution étant que ca dépend de la durée d'execution de la boucle while.
le noeud de méthode "clignotement" ne fonctionne donc pas pour ce genre d'application ?
edit:
et du coup, pour utiliser différentes commandes pour un même idicateur, je dois passer par une variable locale si je comprends bien ?
le 05-07-2009 04:50 AM
Dworak_of_sky a écrit:Merci beaucoup
A part le registre à décalage, j'avais les autres éléments !
Je ne maitrise pas le registre à décalage en fait 😕
Ici il est donc utilisé pour alterner la valeur booléenne de l'indicateur LED.
Le point faible de cette solution étant que ca dépend de la durée d'execution de la boucle while.
le noeud de méthode "clignotement" ne fonctionne donc pas pour ce genre d'application ?
et du coup, pour utiliser différentes commandes pour un même idicateur, je dois passer par une variable locale si je comprends bien ?
Les registres à décalage sont incontournables et il vaut la peine de consacrer le temps nécessaire pour comprendre leur fonctionnement !
Bien sûr que, comme le montre l'exemple joint, la propriété Blinking peut être utilisée. Les couleurs et la période peuvent alors être définies dans les options de LabVIEW et seront les mêmes pour tous les contrôles/indicateurs.
Il faut bien différencier les deux méthodes qui ne font absolument pas recours aux mêmes fonctionnalités (modification de la valeur booléene / activation de la propriété de clignotement). La propriété de clignotement peut être utilisée non seulement avec des booléens mais des contrôles/indicateurs de tous types. Avec la première méthode, une boucle parallèle permettrait d'obtenir une période indépendante de celle de la boucle contenant le code à exécuter.
Il n'est évidemment pas possible de connecter de multiples fils sur un terminal et le recours aux variables locales (ou aux noeuds de propriétés Value) est indispensable dans cette situation.
le 05-07-2009 07:32 AM
Génial !
Merci pour toutes ces précisions et pour les différences entre les solutions proposées, j'ai pu adapter ca à mon code et ca marche bien 🙂