Bloc fonction PID sous PL7 V4.5
Re: Bloc fonction PID sous PL7 V4.5
Mouais, moi je suis aussi de l'avis de JC87, tu balances ta consigne depuis ton automate sur une entrée 4-20 sur le var, une 2ème entrée ana sera ta mesure venant du débitmètre et la régulation se fera dans le var, c'est beaucoup plus simple
Re: Bloc fonction PID sous PL7 V4.5
Schul, c'est le top mais pas possible avec les ATV en place
très bonne idée josé!
très bonne idée josé!
Re: Bloc fonction PID sous PL7 V4.5
Ce qui pourrait donné ça.
(je viens de passer la tondeuse alors cerveau en mode OFF )
%MF1: Consigne basse 5000
%MF2: Consigne haute 10000
%MF3: Consigne de régulation
%MF4: Valeur débit mesuré
IF %MF4<%MF1 THEN %MF3:=%MF1 END_IF; (gestion du mini)
IF %MF4>%MF2 THEN %MF3:=%MF2 END_IF; (gestion du max)
ELSE %MF3:=%MF4 (gestion en régulation)
END_IF;
(je viens de passer la tondeuse alors cerveau en mode OFF )
%MF1: Consigne basse 5000
%MF2: Consigne haute 10000
%MF3: Consigne de régulation
%MF4: Valeur débit mesuré
IF %MF4<%MF1 THEN %MF3:=%MF1 END_IF; (gestion du mini)
IF %MF4>%MF2 THEN %MF3:=%MF2 END_IF; (gestion du max)
ELSE %MF3:=%MF4 (gestion en régulation)
END_IF;
Re: Bloc fonction PID sous PL7 V4.5
Bonjour,
Quel ATV utilises-tu ? Tous les variateurs ATV de Schneider que je connais intègrent un régulateur PID (entrée AI1 en tension 0-10V pour la consigne et entrée AI2 en courant 4-20mA pour le retour mesure).
L'instruction PID existe aussi en PL7-pro. La sortie commande peut être bornée avec OUT_min et OUT_max
Quel ATV utilises-tu ? Tous les variateurs ATV de Schneider que je connais intègrent un régulateur PID (entrée AI1 en tension 0-10V pour la consigne et entrée AI2 en courant 4-20mA pour le retour mesure).
L'instruction PID existe aussi en PL7-pro. La sortie commande peut être bornée avec OUT_min et OUT_max
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
Re: Bloc fonction PID sous PL7 V4.5
Je n'ai pas relevé le modèle exact mais l'installation date de 2007, et le moteur commandé en variation a une puissance de 2.2kW.
La solution PID sous PL7 me convient mieux que tout autre moyen matériel.
J'ai bien trouvé dans "fonction textuelle" les fonctions en bibliothèque, la régulation PID (simple), mais je ne vois pas le bornage mini/max dont tu parles.
La solution PID sous PL7 me convient mieux que tout autre moyen matériel.
J'ai bien trouvé dans "fonction textuelle" les fonctions en bibliothèque, la régulation PID (simple), mais je ne vois pas le bornage mini/max dont tu parles.
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Bloc fonction PID sous PL7 V4.5
slts,
un exemple bestial de configuration du PID sur PL7-PRO, (à mettre dans une tache périodique à 100 ms )
(*--Configuration du PID_PAVILLON --- Table: %MW870:43 -------*)
%MW870:=5000;(*consigne 50 °C *)
%MW871:=0;
%MW872:=1200;(*12%*)
%MW873:=50;(*5s*)
%MW874:=20;(*2s*)
%MW875:=10;
%MW876:=10000;
%MW877:=0;
%MW878:=16#0100;
%MD879:=10000;
%MD881:=0;
%MD883:=0;
%MD885:=0;
%M58:=TRUE;
PID('','',%MW914,%MW913,%M58,%MW870:43);
(*
%MW913 = Sortie PID
%MW914 = Mesure
%M58 = Auto
*)
un exemple bestial de configuration du PID sur PL7-PRO, (à mettre dans une tache périodique à 100 ms )
(*--Configuration du PID_PAVILLON --- Table: %MW870:43 -------*)
%MW870:=5000;(*consigne 50 °C *)
%MW871:=0;
%MW872:=1200;(*12%*)
%MW873:=50;(*5s*)
%MW874:=20;(*2s*)
%MW875:=10;
%MW876:=10000;
%MW877:=0;
%MW878:=16#0100;
%MD879:=10000;
%MD881:=0;
%MD883:=0;
%MD885:=0;
%M58:=TRUE;
PID('','',%MW914,%MW913,%M58,%MW870:43);
(*
%MW913 = Sortie PID
%MW914 = Mesure
%M58 = Auto
*)
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Bloc fonction PID sous PL7 V4.5
Dans l'exemple ci-dessus d'Itasoft, cela correspond aux lignes :
Voir la documentation dans ce manuel (page 351 et suivantes) :%MW876:=10000; (pour OUT_Max)
%MW877:=0; (pour OUT_Min)
https://www.cjoint.com/doc/18_04/HDbnlq ... etiers.pdf
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
Re: Bloc fonction PID sous PL7 V4.5
Merci, merci
Je vais me poser là-dessus ce soir
Je vais me poser là-dessus ce soir
Re: Bloc fonction PID sous PL7 V4.5
J'ai repris tes éléments pour les adapter au prog API actuel
mais peux-tu jeter un oeil sur les lignes en gras car je ne comprends pas bien (comparaison faite avec le document schneider)
Merci
%MW30:=%MW500;(*consigne issue de la supervision SP*)
%MW31:=5000; (*valeur de sortie manuelle OUT_MAN*)
%MW32:=1200;(*valeur du gain KP 12%*)
%MW33:=50;(*Temps d’intégrale du PID TI 5s*)
%MW34:=20;(*Temps de dérivée du PID TD 2s*)
%MW35:=10; (*Période d’échantillonnage du PID TS 10ms*)
%MW36:=10000; (*limite haute du PID OUT_MAX*)
%MW37:=0; (*limite basse du PID OUT_MIN*)
%MW38:=16#0100; ( PV_DEV?) --> pourquoi en HEX? si cela correspond bien
%MD39:=10000; (*PV_INF?*)
%MD41:=0; (*PV_MMI?*)
%MD43:=0; (*SP_MMI?*)
%MD45:=0; (*?*)
%M2015:=TRUE;
mais peux-tu jeter un oeil sur les lignes en gras car je ne comprends pas bien (comparaison faite avec le document schneider)
Merci
%MW30:=%MW500;(*consigne issue de la supervision SP*)
%MW31:=5000; (*valeur de sortie manuelle OUT_MAN*)
%MW32:=1200;(*valeur du gain KP 12%*)
%MW33:=50;(*Temps d’intégrale du PID TI 5s*)
%MW34:=20;(*Temps de dérivée du PID TD 2s*)
%MW35:=10; (*Période d’échantillonnage du PID TS 10ms*)
%MW36:=10000; (*limite haute du PID OUT_MAX*)
%MW37:=0; (*limite basse du PID OUT_MIN*)
%MW38:=16#0100; ( PV_DEV?) --> pourquoi en HEX? si cela correspond bien
%MD39:=10000; (*PV_INF?*)
%MD41:=0; (*PV_MMI?*)
%MD43:=0; (*SP_MMI?*)
%MD45:=0; (*?*)
%M2015:=TRUE;
Re: Bloc fonction PID sous PL7 V4.5
La valeur est donnée en x0.01s donc 10 indique une période d'échantillonnage de 0,1s soit 100ms
La section comprenant le PID est à programmer dans une tâche périodique FAST. Bien faire concorder la période d'échantillonnage du FAST et celle du PID.
Sur ce registre, seul trois bits sont à modifier, le bit0, le bit4 et le bit8 :
Par exemple si tu veux :
- l'action dérivée appliquée sur l'écart : bit0=1 (voir le synoptique de fonctionnement du PID)
- un mode sans à coup (lors d'un passage d'auto à manu) : bit4=1
- inhiber la prise en compte par le pupitre CCX17 : bit8=1
alors : %MW38:=2#0000000100010001 ou bien %MW38:=16#0111 ou bien %MW38:=273
Ces registres ne sont à utiliser que si on veut un accès au PID avec un pupitre de commande CCX 17 connectable sur l'API. Donc pas utile généralement.
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)