Controllo di temperatura di un liquido in una vasca tramite PID implementato su PLC
 

 

 

 

DESCRIZIONE SOFTWARE


Sul PLC è stato implementato un algoritmo PID definendo un Function Block (0) in linguaggio Instruction List. Ciò ha reso possibile il controllo dei parametri del PID attraverso lo SCADA.

Descrizione parametri istruzione PID e acquisizione temperatura
L’istruzione che implementa il PID è Pid R200. I registri utilizzati dal PID sono:
TABELLA1

200 * Outpid Uscita del PID
201 *   Uscita precedente del PID
202 w Tmis Valore campionato della temperatura (variabile controllata)
203 *   Valore precedente della temperatura (variabile controllata)
204 w Trif Riferimento per la variabile controllata
205 *   Riferimento precedente per la variabile controllata
206 w FP Fattore proporzionale (*256)
207 w FI Fattore integrale (T0/Ti*256)
208 w FD Fattore derivativo (Td/T0*256)
209 w DR Banda morta
210 w YF Valore dell’uscita per partenza a freddo
211 w PREC Precisione (12 bit)
212 *   Spazio di lavoro per il PID

* Questi valori sono manipolati dall’istruzione PID.

w Questi valori sono scritti nei registri dal programma che usa l’istruzione PID.

Fattore Proporzionale Fp:
        Determina la caratteristica proporzionale del regolatore (amplificazione).


Durante il calcolo solo i 16 bit meno significativi sono presi in considerazione (0..65535).
Il fattore proporzionale è determinato come segue:

Fp = (1/Xp)*256 con Xp: Banda proporzionale.


(esempio per introdurre una banda proporzionale del 5% il fattore Fp deve essere impostato come Fp=(1/0.05)*256=5120)
Una partenza a freddo del PID deve essere eseguita dopo una modifica di Fp o Fi


Fattore Integrale Fi
        Determina la caratteristica integrale del regolatore.


Quando calcolato solo i 16 bit meno significativi sono presi in considerazione (0..65535).
Il fattore integrale è determinato come segue:


Fi = (T0/Ti) * 256


con T0: periodo di campionamento dell’istruzione PID
        Ti: tempo integrale.
Una partenza a freddo del PID deve essere eseguita dopo una modifica di Fp o Fi


Fattore Derivativo Fd
        Determina la caratteristica derivativa del regolatore.


Quando calcolato solo i 16 bit meno significativi sono presi in considerazione (0..65535).
Il fattore integrale è determinato come segue:


Fd = (T0/Ti) * 256


con T0: periodo di campionamento dell’istruzione PID
        Td: tempo derivativo.

Banda morta Dr
        Definisce il range in cui la variazione della variabile controllata può avvenire senza che causi variazione della variabile manipolata (risultato) Y.


Cold Start Ys
        Questo valore è usato come valore di partenza per Y dal programma di sistema.


Non appena il programma utente scrive su esso un valore diverso da 0 in Ys (registro partenza a freddo) viene attivato la regolazione PID (esecuzione dell’algoritmo) Yn è settato con il valore di Ys che dopo il primo utilizzo viene azzerato.
Note: per avere una partenza smorzata Ys deve essere impostato uguale a Y valore corrente della variabile controllata. Se invece occorre far partire la regolazione con Y=0 si deve impostare Ys=-1.

Bit resolution
        Il Massimo di tutte le variabili X,W,Yne Ys è determinato dalla risoluzione.


8 bits: 0..255;
12 bits: 0..4095;
16 bits: 0..65,535
La risoluzione dipende prevalentemente dal modulo analogico usato per la variabile di uscita (risultato).
Per acquisire la tensione associata al sensore di temperatura è stato utilizzato il canale 7 del modulo d’ingresso analogico 0-10V (I 23).

È stata implementata in Instruction List una routine per la conversione A/D del segnale in ingresso che viene trasferito al registro R202 (Tmis).

 
SOFTWARE