Vai al contenuto
PLC Forum


Parametrizzazione PID s7300


daniele__32

Messaggi consigliati

Buongiorno a tutti, ho un programma PLC semplice dove fra i vari processi ho da controllare una temperatura di mandata aria di una UTA.

Per il controllo è implementato un PI.

Chiedevo gentilmente una breve spiegazione su come funziona in pratica il parametro tempo integrale. Ho gia dato un occhiata su web, ma non ho trovato una spiegazione concreta.

Se il mio controllore ha una parametrizzazione Kp= 10 e Ti= 150, quel 150 che funzione ha o meglio come opera nel controllo? 

grazie a tutti in anticipo

Link al commento
Condividi su altri siti


E' quello che, detta male, si usa per resettare periodicamente (Ti) la componente integrale calcolata come I = I + ( errore * Ki ) .

Almeno la ricordo così...

Link al commento
Condividi su altri siti

dipende da come hai scritto il tuo PID. 

"Dovrebbe " azzerare la parte Integrale ogni 100" e riconìminciare a calcolarla ex-novo.

@Livio Orsini lo spiegherebbe meglio....

 

P.S.

ma questo PI che stai usando lo hai scritto tu o è uno di quelli forniti da Siemens?

Modificato: da drn5
Link al commento
Condividi su altri siti

Livio Orsini
2 ore fa, daniele__32 ha scritto:

Chiedevo gentilmente una breve spiegazione su come funziona in pratica il parametro tempo integrale. Ho gia dato un occhiata su web, ma non ho trovato una spiegazione concreta.

 

La definizione di tempo integrale è: "tempo necassario all'azione integrale per eguagliare l'azione proporzionale ad errore costante"

Cerco di chiarire con un esempio, puramente teorico.

Errore = 5, guadagno proporzionale 0,1 da cui l'azione proporzionale è 0,5. Quanto tempo impiega l'azione integrale per raggiungere il medesimo valore di correzione? Se si ha un tempo di aggiornamento del PI pari a 10ms ed una costante di integrazione pari a 0,01 si avra che il tempo integrale è It = 0,01*0,5/0,01 = 0,5".

 

Questo puramente in teoria perchè, nella pratica, l'errore non può essere costante perchè oltra alla diminuzione dovuta all'azione proporzionale, man mano che la correzione integrale cresce l'errore diminuisce.

 

Se leggi il mio tutorial sulle regolazioni capirai meglio. 

 

1 ora fa, drn5 ha scritto:

E' quello che, detta male, si usa per resettare periodicamente (Ti) la componente integrale calcolata come I = I + ( errore * Ki ) .

Almeno la ricordo così...

 

No la componente integrale si resetta solo quando si azzera tutto il regolatore.

Forse ti confondi con il tempo di campionamento.

 

Io non entro nel merito del regolatore di libreria Siemens perchè non lo ho mai usato sia perchè mi rifiuto di usare oggetti che non posso dominare, sia perchè non ne condivido la filosofia.

Link al commento
Condividi su altri siti

22 ore fa, Livio Orsini ha scritto:

Io non entro nel merito del regolatore di libreria Siemens perchè non lo ho mai usato sia perchè mi rifiuto di usare oggetti che non posso dominare, sia perchè non ne condivido la filosofia.

Non è che ci sia una particolare filosofia nei PID Siemens, seguono esattamente l'algoritmo standard.
E il tempo integrale è esattamente quello che hai descritto: il tempo che impiegherebbe l'azione integrale ad eguagliare l'azione proporzionale se l'errore rimanesse costante.

 

@daniele__32

Questo significa che un tempo integrale più lungo causa un'azione integrale più debole.
Una cosa importantissima, che molti trascurano: se imposti il tempo di campionamento del PID = 100 ms, dovrai richiamare la funzione PID ogni 100 ms. Il modo migliore per farlo è usare un OB a tempo. Nei 1200/1500 non è più indispensabile (anche se rimane fortemente consigliato), ma nel 300 è tassativo.

Link al commento
Condividi su altri siti

Livio Orsini
6 ore fa, batta ha scritto:

Non è che ci sia una particolare filosofia nei PID Siemens, seguono esattamente l'algoritmo standard.

 

No.

Se non hanno cambiato nelle ultime versioni, ogni volta che cambi i coefficienti di P cambia automaticamente anche il coefficiente di I per mantenere costante il tempo di integrazione.

Io, come la maggior parte di chi si occupa di regolazone progettando i regolatori, ho sempre seguito la filosofia tipica USA, ma anche europea (inglese, francese e italiana), dove le due azioni sono completamente separate e distinte. Anche perchè, secondo me, il concetto valido è quello della scuola USA dove non si parla di Inegrale ma di Reset, perchè lo scopo precipuo dell'integrazione sull'errore è quella di azzerare l'errore, che con il solo proporzionale non potrebbe avvenire.

 

Inoltre nei miei regolatori l'ntegrale si scosta dallo zero solo transitoriamente ed è sempre molto piccolo, perchè la parte predittiva che genera l'azione diretta, feed forward, lo annulla costantemente. In pratica serve solo ad aggiustare la parte predittiva. Questo permette di avere tempi di risposta molto più veloci.

 

Poi ognuno è libero di preferire ciò che più gli piace.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

13 minuti fa, Livio Orsini ha scritto:

dove le due azioni sono completamente separate e distinte.

Mi puoi dire che preferisci impostare un coefficiente integrale anziché un tempo integrale (che, poi, sinceramente, non riesco a coglierne il vantaggio) ma, se imnposti il tempo integrale, proprio per quello che è la sua definizione, non può essere indipendente dal coefficiente proporzionale.

Cioè, se il tempo integrale è il tempo che serve all'azione integrale per eguagliare l'azione proporzionale (ad errore costante), se cambio P cambia l'azione proporzionale e, se voglio che non mi cambi il tempo integrale, dovrà cambiare l'azione integrale proporzionalmente al proporzionale (passatemi il gioco di parole). È solo come cambiare automaticamente il coefficiente integrale.
Poi, lavorare con il tempo integrale o con il coefficiente integrale è solo una questione di preferenze personali, ma l'effetto è esattamente lo stesso.
Personalmente mi darebbe fastidio dover agire manualmente sul coefficiente integrale se cambio il proporzionale, per mantenere l'azione integrale correlata al proporzionale.
In quanto alla scuola USA/Europa/altra, nei vecchi PLC Texas (non so se ci sia qualcosa di più USA) si impostava il tempo integrale, esattamente come nei PID Siemens.
Nei PLC Rockwell (chi li conosce potrà correggermi) credo ci siano entrambe le possibilità.

 

Il fatto poi di adottare il feed forward non dipende dal PID, ma è qualcosa esterno alla funzione PID. Puoi implementare una funzione che inglobi feed forward e PID, ma sono due cose che lavorano insieme, ma distinte.
Inoltre, mica sempre si può usare il feed forward. Se mi parli di posizionamenti è facile ma, se mi parli di un controllo temperatura, costruire il modello per la parte predittiva non è per nulla facile.

Link al commento
Condividi su altri siti

Livio Orsini
6 minuti fa, batta ha scritto:

Mi puoi dire che preferisci impostare un coefficiente integrale anziché un tempo integrale (che, poi, sinceramente, non riesco a coglierne il vantaggio) ma, se imnposti il tempo integrale, proprio per quello che è la sua definizione, non può essere indipendente dal coefficiente proporzionale.

 

Si vede che non hai mai dovuto ottimizzare un regolatore con prestazioni limite.

 

Comunque non ho nessuna intenzione di iniziare la solita diatriba senza senso ed anche OT.

Tanto ne io ne te cambieremo idea.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...