Bonjour à tous,
Je viens partager avec vous un DFB de filtre passe bas sous PL7 PRO V4.4.
L'utilité: Lorsque l'on reçoit une mesure parasitée, le DFB nous en ressort une valeur moyenne (cadencé à 100ms) sur les X dernières valeurs (X comprit entre 0 et 100). Et en plus àa fait mise à l'echelle
https://mega.nz/#!245CTBjB!6IaquPUDszP9 ... omlzk527yo
Entrées:
Init: Réinitialise le DFB.
Entrée: Le capteur.
Long_tab: Longueur sur laquelle vous souhaitez calculer la valeur moyenne.
Alarme_h / Alarme_b: Active 2 bits d'alarme de niveau haut et bas en sortie.
Cpt_max / Cpt_min: Valeur physique du capteur (dans l'exemple un capteur de pression 0-100 bars).
Pts_max / Pts_min: Valeur du capteur recu par l'automate (dans l'exemple c'est un capteur 4-20mA, l'automate recoit un nombre de points comprit entre 6400 et 32000).
Sorties:
Sortie: La valeur filtrée.
Alarm_h / Alarm_b: S'active en fonction de Alarme_h / Alarme_b.
Erreur: Si l'entrée est en dehors de la plage Pts_min et Pts_max.
DFB: Filtre passe bas - Lissage d'une mesure (PL7)
- maxpeigne
- Créateur de langage
- Messages : 733
- Enregistré le : 11 oct. 2015, 17:31
- Localisation : Nord pas de calais
DFB: Filtre passe bas - Lissage d'une mesure (PL7)
http://automacile.fr - Site et tutoriels sur l'arduino.
Re: DFB: Filtre passe bas - Lissage d'une mesure (PL7)
MERCI, ça coute rien
Modifié en dernier par ProfnovA le 23 oct. 2015, 08:46, modifié 1 fois.
- maxpeigne
- Créateur de langage
- Messages : 733
- Enregistré le : 11 oct. 2015, 17:31
- Localisation : Nord pas de calais
Re: DFB: Filtre passe bas - Lissage d'une mesure (PL7)
C'est cadeau
http://automacile.fr - Site et tutoriels sur l'arduino.
Re: DFB: Filtre passe bas - Lissage d'une mesure (PL7)
Bonjour,
Personnellement lorsque une mesure analogique fluctue beaucoup , j’intègre mon filtre dans le DFB de la mesure analogique sous forme d'une simple équation
PV_real := (0.99*PV_real) + (0.01*IN_ANALOG_real); est sa marche très bien.
A chaque cycle de l'automate vous ajouter 1% de votre mesure actuel à 99% de la valeur lus pendant le cycle précédent.
Salutations
Personnellement lorsque une mesure analogique fluctue beaucoup , j’intègre mon filtre dans le DFB de la mesure analogique sous forme d'une simple équation
PV_real := (0.99*PV_real) + (0.01*IN_ANALOG_real); est sa marche très bien.
A chaque cycle de l'automate vous ajouter 1% de votre mesure actuel à 99% de la valeur lus pendant le cycle précédent.
Salutations
- maxpeigne
- Créateur de langage
- Messages : 733
- Enregistré le : 11 oct. 2015, 17:31
- Localisation : Nord pas de calais
Re: DFB: Filtre passe bas - Lissage d'une mesure (PL7)
C'est marrant que tu en parle, je ne la connaissais pas et je l'est découverte hier après midi en parcourrant l'aide de PL7 (pas toujours très intuitive d'ailleurs).Noukra a écrit :PV_real := (0.99*PV_real) + (0.01*IN_ANALOG_real); est sa marche très bien.
Ils expliquaient comment fonctionnent les filtres des cartes d'entrées ANA, et ils remplaçaient respectivement ton 0.99 et 0.01 par X et 1-X.
Puis le numéro du filtre correspond à une valeur de X, avec pour mémoire:
- Filtre = 0 -> X = 0
- Filtre = 1 -> X = 0.75
- Filtre = 6 -> X = 0.95
C'est vrai que c'est efficace, mais ma boite remonte aussi des alarmes et fait la mise à l'échelle (mise à l’échelle dont je ne suis pas très fier, je l'ai faite il y a longtemps... )
http://automacile.fr - Site et tutoriels sur l'arduino.