|
|||||||||||||
le 06-25-2012 03:25 AM
Bonjour,
Je cherche à comparer des valeurs à un moment t avec celles du temps t-1. En fonction du résultat, les valeurs du temps t doivent être corrigées.
Veuillez trouver ci-joint le VI confectionné et une image.
Le principe est le suivant:
-acquérir une tension et la faire passer dans une formule.
-cette valeur sera comparée au temps t+1 avec la nouvelle valeur
-si valeur à t+1 < valeur à t, on ajoute 132 à valeur t+1
-si valeur à t+1 > valeur à t, on ajoute 0 à valeur t+1
J'ai pensé à l'utilisation de noeuds de rétroaction pour amener la valeur t-1 jusqu'à la comparaison. Seulement, la modification des valeurs ne se fait pas...
Je vous ai joins un pdf qui rend compte de mes résultats. J'aurais aimé que lors d'un pic de tension, le résultat ne fasse pas resentir ce changement brusque.
N'hésitez pas à me poser des questions !
Au plaisir de vous lire !
Résolu ! Accéder à la solution.
06-25-2012 08:16 AM - modifié 06-25-2012 08:17 AM
J'ai fais un exemple qui prend la valeur donnée par le bouton rotatif. Si cette valeur est inférieure à la précédente, alors la valeur au temps t se voit ajouter la constante 132.
Problème, ce phénomène ne se passe qu'une seule fois. Or j'aimerais que ça se passe à chaque fois que la comparaison est vraie !
Des propositions ?
06-26-2012 04:47 AM - modifié 06-26-2012 04:48 AM
Bonjour,
Je sais pas si j'ai bien compris mais tu peux utiliser un régistre à décalage dans une boucle While (par exemple) pour mémoriser l'ancienne valeur de la mesure et réutiliser cette valeur lors de la séconde boucle.
J'ai fait un exemple pour voir si j'ai bien compris et si ça peut t'aider. (Exemple en LV 2011) dis le moi s'il faut recompiler avec une ancienne version.
le 06-26-2012 06:47 AM
Bonjour,
Tout d'abord, merci d'avoir répondu.
Ci-joint un pdf qui explique ce que je cherche à faire. Une figure vaudra mieux qu'un long discours !
En gros la valeur monte. Lorsqu'elle est inférieure à la précédente, on "incrémente" de 132. Et ceci à chaque fois que c'est le cas.
J'ai essayer le registre de décalage mais il ne me donne pas ce que je désire ...
Cordialement
le 06-26-2012 07:13 AM
Voila un VI qui fait ce que je cherche. Mais je pense qu'il y a possibilité de faire quelque chose de moins volumineux !
Si vous savez comment faire, je serais heureux de lire vos suggestions !
Cordialement
le 06-26-2012 09:18 AM
Bonjour je sais pas si tu as remarquer mais le principe d'incrémentation de 132 ne se fait que jusqu'à 528 (132*4) ce qui correspond au nombre de structures conditions.
Je pense avoir fait un vi qui pourrai t'aider à toi de me dire si c'est bon.
le 06-26-2012 09:35 AM
En effet, j'avais remarqué cette relation entre le nombre de boucles et la valeur à atteindre possible. N'étant sur labview que depuis 2 semaines, j'avoue ne pas arriver à faire des systèmes "condensés".
Votre VI correspond aux attentes de mon projet. Ayant de nombreuses choses à côté, il me permettra d'avoir un programme qui tient son rôle dans un minimum de place.
Merci !
Bien cordialement
le 06-27-2012 06:54 AM
J'aurais voulu savoir comment se fait l'initialisation aussi bien sur la valeur (avoir 0 et que le logiciel ne prennes pas la dernière valeur de l'essai précédent).
De plus, je cherche à mettre une marge au dessus de laquelle il ne faut pas ajouter 132. En effet, la prise de mesure se fait par DAQmx et avec le bruit, le système va beaucoup trop vite a ajouter cette valeur...
Cordialement
le 06-27-2012 07:17 AM
Bonjour,
Le fait que le vi garde en mémoire la dernière valeur mémorisée dans le registre à décalage est utilisé pour les variables globales fonctionnelles. Tu peux initialiser les registres à décalage à 0 si en dehors de la boucle tu câbles le registre une constante, ici 0. Pour limiter la valeur max tu as un VI "Dans la gamme" (Fonction->Comparaison->Dans gamme) qui permet de limiter un valeur de sortie à une valeur fixe.
Bon courage.
Mon Profil | Confidentialité |
Conditions d'utilisation |
Contacter NI
© 2011 National Instruments Corporation. All rights reserved. | Envoyer cette page
|
||

Envoyer cette page