Page 1 sur 2

Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 16:44
par JC87
Bonjour,

Je suis sur un projet de conversion d'un programme PL7-Pro vers Control Expert V14.1.

J'avais complétement zappé le fait qu'il y avait des boucles de régulation paramétrés dans le Premium... me suit fait avoir comme un bleu :cry:

Du coup je me retrouve sur site avec des pompes qui ont une consigne qui ne bouge par car il s'agit du mot de sortie de régulateurs qui n'existent évidemment pas mon programme Control Expert et qui ont gardés la dernière valeur qu'il avait dans le Premium.

Je dois donc recréer ces PID. Déjà, quel bloc prendre sachant que je dois faire varier la vitesse d'une pompe en 0-100% pour tenir un débit ?

Puis je mettre les valeurs de gain, TI etc. des régulateurs du Premium ou est il plus simple de partir de zéro avec un PID qui ferait un autotune par exemple ?

Je réalise que jusqu’à aujourd’hui je n'avais encore jamais fait de PID avec Control Expert alors que j'en avais fait pas mal en Premium. De fait je suis preneur de tout conseils pour réaliser ces fonctions.

Merci.

JC

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 16:57
par Béryl
J'ai pour habitude de passer par un PID_INT pour mes régul, je change pas une équipe qui gagne. Je peux t'envoyer un exemple de code, si tu veux. Bien commenté, tu devrais t'en sortir.
Après, j'ai jamais utilisé d'autres blocs PID.

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 17:05
par itasoft
slts,
prends le pid bestial à Beryl PID_INT il marche comme celui du Premium avec un Tableau de 43 mots pour les paramètres

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 17:14
par JC87
OK je part sur le PID_INT alors. Je veux bien un exemple de programme Béryl. Tu as mon adresse courriel ?

JC

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 17:31
par itasoft
exemple configuration de la table 43 mots, mettre le PID dans une tache périodique 100ms
--------------------
(* PID1 BOUCLE DE REGULATION TCRZH *)
(*-----------------------------------------------------------------------*)

(* Consigne 0..600 °C *)
PID1_TAB43[0]:=REAL_TO_INT(MF320);
(* KP *)
PID1_TAB43[2]:=40;
(* TI 200s *)
PID1_TAB43[3]:=20000;
(* TD 40s *)
PID1_TAB43[4]:=4000;
(* TS = 4s période d'échantillonnage*)
PID1_TAB43[5]:=400;
(*OUT_MAX Limite supérieure de la sortie du PID en automatique*)
PID1_TAB43[6]:=100;
(*OUT_MIN Limite inférieure de la sortie du PID en automatique*)
PID1_TAB43[7]:=0;
(* Choix d'action dérivée 0 = sur mesure, 1 = sur écart *)
PID1_TAB43[8].0:=false;
(*0=par à-coups 1=Mode sans à-coups *)
PID1_TAB43[8].4:=false;
(* PV_SUP* Limite supérieure de la plage des échelles de mesure,
exprimée dans une unité physique (x100) (entre –9 999 999 et +9 999 999)*)
(* 60000 pour 600°C *)
PID1_TAB43[9]:=HIGH_INT(60000);
PID1_TAB43[10]:=LOW_INT(60000);
(* PV_INF* Ces deux entiers sont, respectivement,
le poids fort et le poids faible d'un entier double,
à savoir la limite INFERIEURE de la plage des échelles de mesure,
exprimée dans une unité physique (x100) (entre -9 999 999 et + 9 999 999).*)
PID1_TAB43[11]:=0;
PID1_TAB43[12]:=0;

(* Mode Auto*)
PID1_In_Out_Auto:=true;
(* W284=Mesure sur Entrée ana. 0..10000 *)
PID1_Mesure:=%MW284;

PID_INT('TCRZH', '°C', PID1_Mesure, PID1_In_Out_Auto, PID1_TAB43, PID1_Out);

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 18:33
par JC87
Ouais ça me parle ces PID, j'en ai fait quelques uns en Premium. J'en avait fait aussi avec les régulateurs intégrés à la CPU mais ça date. Je vais regarder la doc pour voir si les boucles intégrés ont les même paramètres que les PID "programme" et ensuite je rebrancherai mon Premium pour voir les valeurs qui avaient été renseignés. Quand même je m'en veut d'avoir laisser passer ça, ça fait petit jeune qui débute :mrgreen:

JC

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 11 août 2021, 22:25
par itasoft
slts, ça fait petit jeune qui débute tu voulais retrouver ta jeunesse, lol
sur le Premium, générer les symboles des paramètres de la boucle , puis on doit retrouver les affectations quelque part dans le programme.
à moins que ya un Magelis associé dans ce cas c'est tout dans le Magelis , rien dans le programme. t'es de la baise
--------clic pour zoom---------
03.JPG

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 12 août 2021, 08:07
par Béryl
JC87 a écrit : 11 août 2021, 17:14 OK je part sur le PID_INT alors. Je veux bien un exemple de programme Béryl. Tu as mon adresse courriel ?
Je l'ai eue, mais j'ai dormi depuis ;)
Renvoie la, si tu veux un bout de code.
Sinon, Antoine a bien résumé, sauf que les temps d'intégrale et de dérivée sont en 1/10e de seconde !
Le bit 4 de l'index [8] du tableau, je le mets toujours à 1 pour éviter que ça yoyotte.
Je ne me sers pas des index au-delà.

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 12 août 2021, 08:32
par JC87
Hello,

En fait les paramètres du PID ne sont pas dans des mots car ces PID sont dans les boucles de régulations (loops) intégrés au processeur. De fait les paramètres ne sont pas dans des mots mais écris directement dans les tableaux de configuration. Ca m'est revenu ce matin en potassant la doc PL7 qui au passage est en français contrairement à la doc de Control Expert qui est en anglais...
Je te fait un mp Béryl car j'aimerai bien quand même un exemple de PID en Control Expert.

JC
REPPV01 - Pid.png

Re: Conversion "loops" Premium en Control Expert V14.1

Posté : 12 août 2021, 08:57
par itasoft
slts,
comment tu fais pour avoir le PID dans les fonctions ? j'ai pas ça chez moi, je me les paluche dans les symboles, sur le Premium tu avais un Magelis avec les pages régulation ?
-------------
01.JPG