bonjour,
sous Unity et M340, je cherche à réguler une vanne de dosage avec un signal de commande en 0-10V.
j'ai fais un bout de code mais je bloque sur un endroit précis:
A l'ouverture d'une lance, je donne une consigne précise à ma vanne et ensuite au bout de 5 secondes, je voudrais rentrer dans ma boucle de régulation pour affiner. La partie affectation de consigne fonctionne bien, la partie affinage de la régulation aussi.
Que mettre comme code entre les deux pour laisser le temps à la vanne pour atteindre sa consigne et ensuite affiner le réglage.
je me doute bien que c'est une tempo, mais je ne vois pas comment faire.
Merci pour l'aide
if R_trig.Q (lance1) then consigne_auto := 1280;
elsif R_trig.Q (lance2) then consigne_auto := 1350;
elsif R_trig.Q (lance3) then consigne_auto := 2700;
elsif consigne_auto <> 0 then
ATTENTE de 5s
if dosage_auto = 1 and debit_reel < (Q_calcule - hysteresis)
then consigne_auto := consigne_auto + 5;
String_dos5 := 'Dose +';
elsif dosage_auto = 1 and debit_reel > (Q_calcule + hysteresis)
then consigne_auto := consigne_auto - 5;
String_dos5 := 'Dose -';
elsif dosage_auto = 1 then
consigne_auto := consigne_auto;
String_dos5 := 'Zone morte';
end_if;
end_if;
pb régulation vanne
Re: pb régulation vanne
quelqu'un peux m'aider??
Merci
Merci
Re: pb régulation vanne
utilise la balise code, indente ton code
si tu veux une chance que quelqu'un lise ton truc![Très content :D](./images/smilies/icon_e_biggrin.gif)
edit : allez je suis de bonne humeur aujourd'hui
![Diable :evil:](./images/smilies/icon_evil.gif)
si tu veux une chance que quelqu'un lise ton truc
![Très content :D](./images/smilies/icon_e_biggrin.gif)
edit : allez je suis de bonne humeur aujourd'hui
![Rire :lol:](./images/smilies/icon_lol.gif)
Code : Tout sélectionner
TON1(pt:=t#5s); (* déclarer TON1 instance de TON *)
if R_trig.Q (lance1) then
consigne_auto := 1280;
elsif R_trig.Q (lance2) then
consigne_auto := 1350;
elsif R_trig.Q (lance3) then
consigne_auto := 2700;
elsif consigne_auto <> 0 then
TON1.IN:=TRUE;
ELSE
TON1.IN:=FALSE;
END_IF;
IF TON1.Q THEN
if dosage_auto = 1 and debit_reel < (Q_calcule - hysteresis) then
consigne_auto := consigne_auto + 5;
String_dos5 := 'Dose +';
elsif dosage_auto = 1 and debit_reel > (Q_calcule + hysteresis) then
consigne_auto := consigne_auto - 5;
String_dos5 := 'Dose -';
elsif dosage_auto = 1 then
consigne_auto := consigne_auto;
String_dos5 := 'Zone morte';
end_if;
END_IF;