05-14-2013 09:42 AM
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!
05-16-2013 07:44 AM
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
J'espère que cela t'aidera,
Bonne journée,
M-Junior
05-17-2013 07:58 AM
Merci pour l'exemple Marc-junior!
J'ai finalement trouvé la solution, il suffisait seulement de supprimer la boucle while avec le registre à décalge et mettre une variable hors de la boucle à condition.
05-17-2013 10:05 AM
De rien, tant mieux si tu as réussi à résoudre la problématique. Je me permets un deuxième conseil. Dans un programme LabVIEW, il vaut mieux éviter d'utiliser des variables. Trop de variables entrainent un diagramme peu lisible et situation de compétitions possibles (plusieurs écritures simultanées sur la même variable entrainant une valeur fausse), comme précisé précédemment, il est fortement recommandé, lorsque cela est possible, de privilégier le flux de données pour passer des données entre plusieurs nœuds/fonctions.
Bonne journée et bon week-end,
M-Junior