Vai al contenuto
PLC Forum


Ottimizzare PID temperatura


daercole

Messaggi consigliati

Sera.

Mi piacerebbe avere un Vs parere su una regolazione di temperatura PID adoperando il blocco tecnologico fornito con il pacchetto TIA.

Innanzitutto preciso che il carico è composto da 3x Resistenze da 450W che vanno ad innestarsi in una piastra di acciaio.

 

Per il PID ho trovato un buon compromesso impostando (empiricamente) il Gain = 3 e Tempo di integrazione = 0.0, inoltre ho barato nel senso che ho detto che il Setpoint era di 4 gradi più altro. (se aumento il Gain,  tipo a 6, per raggiungere la vera temperatura, mi sfora sempre la temperatura anche di 10 gradi) ma tramite il PLC taglio l'uscita comunque se supero la soglia.

Mi rimane da sistemare la fase di avvicinamento.....

 

Grazie

 

Ecco il grafico ottenuto con tool di messa in servizio (una delle poche cose che mi sono piaciute del TIA), ribadisco che l'impostazione è per raggiungere 180, ma al blocco dico 184... (non tenere conto della parte prima di 4200)

 

Grafico temperatura.png

Modificato: da daercole
Link al commento
Condividi su altri siti


La prima cosa preoccupante è il tempo di assestamento che se non leggo male il grafico è di 1000 e passa secondi (20 min!!). Non conosco il sistema che stai gestendo ma mi pare un pò esagerato.

Gain = 3 e Tempo di integrazione = 0.0,

Hai fatto un sistema proporzionale (a meno che tu non abbia toccato il parametro D). Hai provato ad aumentare P e incrementare il parametro I ? Che tempo di campionamento usi? 

 

Link al commento
Condividi su altri siti

Sera...

il grafico, è frutto di prove e prove....  quello che conta è la parte finale dove si vede che la modulazione risulta contenuta in circa 2°

ho adoperato il blocco tecnologico PID_Temp  richiamato in un OB temporale schedulato a 50 ms.

quello che vorrei ancora limare è quel picco (finisce circa a 4400) 

Td e Ti sono entrambi a zero, al momento non ho mai toccato TD, mentre Ti il blocco di default partiva da 20s e l'ho via via ridotto.

 

Saluti

Link al commento
Condividi su altri siti

dal grafico si evince una pura porcheria che della regolazione non ha il minimo aspetto .

Prima cosa devi richiamare l'algoritmo PID ad intervalli regolari e questo tempo deve essere passato come parametro al algoritmo stesso altrimenti l'integrale non memorizza come dovrebbe.Se devi raggiungere 180 non devi mettere 184 .A sistema freddo azzeri tutto e provi con solo la componente proporzionale dopodiche' inserisci la componente integrale.Per una regolazione lenta di questo tipo , temperatura per ex , la componente derivativa puoi anche toglierla perchè se non la conosci bene può solo fare casini.Da un punto di vista di attuatori , valvole proporzionali etc. che vai a pilotare con l'uscita assicurati che funzionino bene .Spegni il pid e passa un parametro fisso e vedi cosa risponde , che non abbia offset o comportamenti non lineari perche in questo caso il pid non serve a nulla .La derivativa serve per modellare la risposta al setpoint se non e' parametrizzata bene puoi fare danno, toglila che non serve qua.

Modificato: da walterword
Link al commento
Condividi su altri siti

Dal grafico si vede che stai usando la sola componente proporzionale, perchè l'errore non viene azzerato.

Si deduce anche che, nel tentativo di azzerare l'errore, hai spinto troppo il guadagno del "P" ed hai grande sovraelongazione ed oscillazioni.

Abbassa il guadagno sino a che sia stabile. Poi inserisci l'integrale come ha suggerito Walter.

Se non coniosci le regolazioni puoi l'eggere il mio tutorial che trovi nelal sezione didattica. Oltre a spiegare la basi di un regolatore PID ti spiega come si deve procedere per la sua taratura.

Dimenticavo. Se usi il PID di libreria, hai una complicazione in più. Siemens ha da sempre l'idea che si debba legare tra loro la variazione delle costanti di P ed I, questo complica un poco la taratura, specie per un principiante.

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

Ciao daercole, senza commentare quanto suggerito (perché è tytto giusto) partirei prima anche dalla base, cioè potresti solo dirci se usi una PT o TC e se le resistenze le comandi in ON-OFF con statico o elettromeccanica (presumo forse il secondo con un tempo di ciclo a quanto). Visto il tempo di assestamento non sono informazioni vitali per la sistemazione del processo, ma sempre utili.

Ciao

Link al commento
Condividi su altri siti

  • 5 weeks later...

56c2348cac234_Gain3.thumb.png.8c7314b7ecBoh, non riesco a quotare, in ogni caso, grazie a chi mi ha risposto. non ho avuto troppissimo tempo per "istruirmi" a dovere (vedi pure lentezza nel rispondere), quindi mi sono dovuto un pò arrangiare, Il PID è quello siemens (mi piaceva il fatto di poter registrare) il PID è richiamato in OB temporale schedulato a 50ms, il tempo di lavoro del PID è di 500ms (ogni 10 richiami in pratica).

 

Valorizzando la parte I o D, peggioravo sempre la situazione, (vedi deriva) con un guadagno basso, non raggiungo mai la temperatura, se alzo il guadagno, sforo decisamente, quindi ho deciso arbitrariamente di cambiare il guadagno all'approssimarsi della temperatura , iniziando quindi con un guadagno modesto (1.5) per poi passare ad un guadagno più robusto.

 

nel grafico, il Gain a 3, dove si vede che vado oltre il setpoint

Link al commento
Condividi su altri siti

Hai fatto l'esatto contrario.

Errore grande == guadagno grande, man mano che l'errore diminuisce eventualmente si può diminuire il guadagno.

L'annullamento dell'errore si ottiene esclusivamente con l'uso dell'integrale (che gli yankee chiamano reset perchè annulla l'errore).

 

Questi concetti sono i fondamentali della regolazione.

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...