Vai al contenuto
PLC Forum


Parametri Per Regolazione Pid


monica_124

Messaggi consigliati

Ciao, rieccomi con nuovi dubbi che non riesco a risolvere nonostante abbia letto manuali e discussioni.

Questa è la foto dell'FB41 che elabora la CPU315 e quest'altra è quella relativa al DB64.

Mi servono per riscaldare un capannone regolando una valvola modulante.

Sono riuscita nell'impresa in quanto nell'ambiente la temperatura è accettabile ma non vedo, dall'uscita, una regolazione logica.

Nel senso che la valvola apre al disotto del set point e al raggiungimento chiude, con una conseguente variazione della temperatura di 3°C rispetto al set (-1,5 e +1,5).

Vorrei riuscire a capire come stabilizzare la percentuale di apertura che mi permetta di avere una temperatura ambiente il più vicina possibile a set.

Ho provato ad abilitare o disabilitare i Merker dei P-I-D ma senza successo, ora M64.2-M64.3-M64.4 li ho tutti abilitati.

ps: la sonda di riferimento è situata nel condotto.

Grazie per i consigli :)

Link al commento
Condividi su altri siti


Ciao

La regolazione di temperatura in un ambiente piu o meno grande non è cosi agevole per i seguenti motivi.

Portata d'aria rispetto al volume, vi è una isterisi abbestanza grande che che induce alla valvola una oscillazione piu o meno ampia.

La regolazione deve esse abbastanza lenta per evitare appunto l'oscillazione continua.

Non si evince dal tuo scrivere come regoli il calore se solo in portata d'aria a calore costante oppure agisci sul calore d'immisione.

IL problema di immettere una aria molto riscaldata, induce alla sonda di rilevamento degli sbalzi a gradini, meglio se la sonda è posizionata non direttamente sulla fonte di calora me in una zona media in distanza tra la fonte e l'insieme dell'ambiente da riscaldare.

Un modo per evitare oscillazzione è l'introduzione di una banda morta intorno al valora di set point .

Comunque il problema non è insito nel PID ma nell'isterisi che avviene tra riscaldamento e raffreddamento dell'ambiente, piu è grande e piu il trasferimento termico è lento e defficile da stabilizzare.

Un sistema abbastanza utile è di prendere due o piu punti di temperatura, farne una media e utilizzare questa media come valore di set del PID, ovviamente piu punti rilevati è piu viene attenuato l'effetto di oscillazione.

Link al commento
Condividi su altri siti

Dai parametri impostati risulta un PID molto reattivo, non certo adatto al tuo utilizzo che, al contrario, richiede un PID (o meglio un PI, senza controllo derivativo) molto tranquillo.

Io procederei subito con:

1) disabilitazione controllo derivativo

2) riduzione del guadagno di almeno 5 volte (da 25.0 a 5.0). Potrai poi aumentarlo gradualmente fino a generare instabilità, e ridurlo poi di un 20-30%

3) aumento del tempo integrale dagli attuali 20 secondi ad almeno 300 secondi (ma potrebbero essere ancora pochi)

I parametri da me suggeriti possono andar bene come base di partenza, ma è impossibile fornire i valori ottimali, perché dipendono esclusivamente dalla risposta del tuo sistema.

Noto poi una incongruenza tra quanto si vede nel richiamo di FB41, con impostato il valore 40.0 come GAIN, e lo stesso GAIN letto nel DB di istanza, che è 25.0.

Io ti consiglio di non impostare il GAIN come valore fisso nel richiamo di FB41, ma di utilizzare una variabile, oppure di non passarlo come parametro ad FB41 e scriverlo direttamente nella DBD20 del DB di istanza, in modo da poterlo cambiare come e quando vuoi.

Vista l'incongruenza di cui sopra, deduco che l'hai già fatto.

Vedo poi che c'è il tempo di campionamento (parametro CYCLE) impostato a 250 ms.

Premesso che un tempo così breve non solo non serve per il tipo di processo che devi controllare, ma potrebbe rivelarsi addirittura dannoso (potresti tranquillamente portare questo tempo a 5-10 secondi), ti ricordo che deve esserci corrispondenza tra il valore che vai ad impostare nel parametro "CYCLE" e il reale tempo di richiamo della funzione FB41.

FB41 deve essere richiamata ad intervalli regolari uguali al tempo impostato come CYCLE.

Di solito, per rendere i richiami il più costanti possibile, si utilizzano gli OB tempo ma, se porti il tuo tempo di campionamento a 5-10 secondi, puoi tranquillamente utilizzare un clock generato con un timer, che tanto l'errore commesso diventa trascurabile.

Per quanto riguarda la banda morta, io la utilizzo raramente. Qualche volta ti aiuta perché evita di avere continue regolazioni nelle vicinanze del set point (regolazioni che, con un PID ben regolato dovrebbero essere minime). Il rovescio della medaglia è che, se la temperatura si sta discostando lentamente dal valore di set point, introducendo una banda morta inizi a correggere, ovviamente, solo quando esci dalla banda morta.

In un sistema come questo, con ritardi di risposta elevati, questa correzione arriva sicuramente in ritardo, con l'effetto che, prima di sentire l'effetto della regolazione, avrai sicuramente un ulteriore allontanamento dal set point.

Per ultimo, se la CPU che utilizzi comprende nel suo firmware la funzione SFB41, potresti usare quest'ultima al posto di FB41. Il funzionamento è assolutamente uguale.

Link al commento
Condividi su altri siti

Io procederei subito con:

1) disabilitazione controllo derivativo

....

Se non hai dimestichezza con l'ottimizzazione di regolatori PID, ti consiglio di partire con inserito il solo guadagno proporzionale, molto basso; lo si aumenta gradualmente sino a raggiungere, come suggerito da Batta, l'insorgere della condizione di instabilità. La riconosci per l'effeto di savra-sotto elongazione molto accentuato. A questo punto riduci il guadagno.

Poi ripeti l'operazione partendo da un tempo d'integrazione molto lungo, riducendolo gradualmente sino a notare i primi sintimi di instabilità; a questo punto aumenti il tempo.

Se non si ha dimestichezza e non si hanno esperienze precedenti su apparati silili, l'ottimizzazione è un lavoro un po' lungo e molto noioso. Però deve essere esguita passa a passo, con ordine e metodo, altrimenti si rischia di precipitare in una spirale perversa in cui non si riesce più a trovare il bandolo della matasa.

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

Se non hai dimestichezza con l'ottimizzazione di regolatori PID.......

Non so perche spesso si corre dietro ai vari settaggi di un regolatore, oppure si cerca di intrappolare la regolazione con accorgimenti di vario tipo (tempo, risposta ed altro). Dimenticando spesso la natura dell'argomento per regolare un certo fenomeno fisico.

Un aspetto regolande dove l'azione è molto lenta e non richiede un PID per risolvere un fenomeno con varie problematiche d'isteresi e condizioni ambientali spesso incontrollate. ( se in capannone apro un portone non c'è PID che lo segue)

Si puo si raffinare un sistema con accorgimenti di varia natura, come la media delle temperature o la diffusione del calore da piu punti o altro ancora. Sicuramente il PID nasce per il controllo e comando di azioni veloci e con sistemi di controllo retroattivi.

Nal caso incriminato si usa un PID a loop aperto dove l'ingresso cerca di eguagliare il set

.... ma un termostato non costa meno???

Link al commento
Condividi su altri siti

.... ma un termostato non costa meno???

Monica non entra nel merito dell'applicazione specifica, ma penso che se per la regolazione della temperatura si è scelto di utilizzare valvola proporzionale e PID, un motivo forse ci sarà.

Potrebbe benissimo trattarsi di una serra, oppure di un capannone per allevamento di polli, solo per citare due applicazioni molto diverse tra loro ma che richiedono la regolazione della temperatura (e magari anche dell'umidità) con buona precisione e stabilità, e dove un controllo più accurato di quello possibile con un semplice termostato porta sicuri benefici.

O forse si tratta semplicemente del riscaldamento di un capannone che Monica ha deciso di trattare con qualcosa di più performante del semplice termostato.

Sicuramente il PID nasce per il controllo e comando di azioni veloci e con sistemi di controllo retroattivi.

E chi l'ha detto che il PID va bene solo per processi veloci?

Per quanto riguarda poi la retroazione, ci troviamo ad avere un valore di set point (temperatura impostata) e una variabile di processo (temperatura ambiente). Mi pare non manchi nulla.

In ogni caso, se la domanda riguarda la funzione PID di un S7, mi pare giusto rispondere sulla funzione PID dell'S7.

Modificato: da batta
Link al commento
Condividi su altri siti

Sicuramente il PID nasce per il controllo e comando di azioni veloci e con sistemi di controllo retroattivi.

No! Il regolatore PI(D) è nato, circa un secolo fa o anche prima, per regolare processi lenti come, appunto, i controlli di temperatura. I miglioramenti tecnologici della componentistica hanno permesso, poi, di controllare anche processi veloci.

Il regolatore di Watt (siamo nel 18.o secolo) può già essere considerato un PI perchè tarando opportunamente le masse rotanti si ottiene la velocità angolare desiderata. Negli anni successivi si trovò il sistema di aggiungere un controllo derivativo meccanico.

Se si va a vedere un vecchi spinterogeno per motori di automobile, vecchio di soli 30 anni o meno, si incontra un regolatore PID qausi identico al regolatore di Watt. Le masse rotanti portano ad avere una variazione del tempo di anticipo di accensione proporzionale alla velocità secondo una retta preimpostata, mentre un polmone azionato dalla depressione di aspirazione fornisce la componente derivativa.

Link al commento
Condividi su altri siti

Ciao ragazzi, vi prego di perdonarmi per non aver risposto da subito ai vostri gentilissimi interventi.

Li ho letti attentamente e credo di aver compreso le indicazioni e i consigli per poter migliorare la regolazione.

Purtroppo non ho avuto, e ancora non ho, il tempo materiale per fare delle prove e quindi portare altri dati concreti, però mi sembrava corretto farmi almeno sentire per ringraziarvi.

Per il momento vi lascio un grazie di cuore e un forte abbraccio.

A presto, Monica :)

Link al commento
Condividi su altri siti

l ideale sarebbe avere l impianto in telegestione.

infatti dall ufficio monitorando i parametri riesco ad apportare delle migliorie al pid soprattutto quando è un applicazione a me nuova.

Link al commento
Condividi su altri siti

Ciao a tutti e ancora un grazie per la disponibilità che mi regalate.

Sono riuscita a dedicare qualche ora per sperimentare la regolazione mettendo in pratica i vostri consigli.

Devo dire che un buon passo in avanti l'ho fatto, nel senso che l'oscillazione della temperatura rispetto al set-point si è ridotta di parecchio, infatti come si può vedere dalle foto la variazione è sostanzialmente di 0,3°C in più e 1°C in meno.

Queste le foto con i parametri:

1°C in meno

0,3°C in più

Ora pensavo:

Per stabilizzare meglio la temperatura, il valore % all'indirizzo 72 dovrebbe, a mio avviso incrementarsi un po prima che il valore all'indirizzo 10 scenda rispetto al set-point all'indirizzo 6. vedi foto

Voi che ne dite, è fattibile oppure devo aver pazienza e affinare meglio i nuovi parametri.

La regolazione così com'è potrebbe essere anche accettabile, trattandosi di temperatura interna ad un capannone non ci sono grosse esigenze, ma la mia curiosità ora mi porta a chiedervi se e come potrebbe essere migliorata.

Spero di essere stata chiara nell'esporre... ho sempre grande difficoltà ed è una delle tante cose che non riesco a fare.

Grazie e un buon fine settimana a tutti.

Monica :)

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