Re: Régulation PID programmée sur automate M258.
Posté : 14 avr. 2017, 09:25
C'est pas si simple de caler une régul
La vanne s'ouvre et se ferme surement trop vite, un petit filtre sur le capteur de débit ne serait peux être pas de trop pour aider le système aussi.Namuro a écrit : ↑14 avr. 2017, 08:42 Le temps entre le moment où je déplace ma vanne et celui où le débitmètre change de valeur m'a l'air beaucoup trop long. Et du coup le système est super instable. Quand ma vanne s'ouvre ou se ferme, le débitmètre renvoie en premier lieu une valeur plus grande (si la vanne s'ouvre) ou plus petite (si la vanne se ferme) que la valeur réelle, parce que le flux n'est pas stabilisé. Du coup, mon régulateur voit un système plus réactif qu'il ne l'est en réalité.
pour remettre à l'échelle les valeurs j'utilise une équation affine y=ax+b :Namuro a écrit : ↑14 avr. 2017, 08:42 Autre chose, c'est à propos des unités de mes variables.
Mon débitmètre me renvoie une valeur sur 16bits, que je divise par 16 pour avoir un débit réel en L/min (le 16 je l'ai déterminé moi même). Ensuite je passe cette valeur dans le PID, et je met en consigne une autre valeur en L/min (disons 50 L/min). Le Y en sortie de mon bloc PID, c'est donc une valeur en L/min. (?)
Et ensuite je remultiplie Y par 16 et je fais:
SortieAnaVanne:= SortieAnaVanne + REAL_TO_INT( 16*PID.Y);
Ça vous semble correct?
Code : Tout sélectionner
(* Mise à l'échelle *)
OUT := (IN - IN_MIN) / (IN_MAX - IN_MIN)*(OUT_MAX - OUT_MIN) + OUT_MIN;
Avec cette méthode les paramètres qui sortent sont très réactif pour une réponse plus adouci on peux faire ceci, si on à réglé le bloc pour des performances rapide reprendre les PID et multiplié comme suit : Px0.5, Ix2.2, Dx0.8;