Vai al contenuto
PLC Forum


PID Temp s7 1200 tia portal


IZ3XJD

Messaggi consigliati

Buongiorno a tutti,

da poco sto usando Tia portal V16

Ho un problema col Pid Temp; cpu: s7 1215  n. 2  loop impostati , regolazione temperatura.

Impostazione OB30 cyclic interrupt: 1000ms.

 

Impostazioni:

Modo di regolazione : Temperatura °C

avvio: Automatico; attiva mode dopo riavvio CPU

Ingresso: Input virgola mobile

valore minimo- massimo istantaneo 0.0 - 1200.0

Uscita: heat impostata  0-100% escluso cool

Parametri PB : default

 

Problema: avvio l'ottimizzazione iniziale ma mi da errore valore massimo istantaneo fuori limite???

anche se non e' vero.

suggerisce di passare all'ottimizzazione fine.

l'avvio, arriva dopo 2-3 ore al 90% e si pianta.

 

provo ad assegnare valori di PID manuali ma il loop non e' stabile e pendula con qualsiasi valore di PID.

Necessito di una regolazione lenta in quanto la temperatura della termocoppia risponde con notevole ritardo.

 

Qualcuno ha qualche soluzione da dare ?

 

saluti.

IZ3XJD.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modificato: da IZ3XJD
Link al commento
Condividi su altri siti

  • IZ3XJD changed the title to PID Temp s7 1200 tia portal

Difficile capire perché l'autotuning non vada a buon fine.

Comunque, poco male: pensa che non ho mai usato una sola volta l'ottimizzazione automatica. Che poi, ti trova dei parametri validi nelle condizioni di test, che non è detto che siano sempre le condizioni reali di lavoro.
Ma tarare un PID non è poi tanto difficile. Se è instabile (e la variabile di processo è letta correttamente), è solo ed esclusivamente perché ci sono dei parametri sbagliati.
Dunque, devi regolare una temperatura, processo che, di solito, è abbastanza lento.
Il fatto che tu stia lavorando su un processo lento è confermato anche dal tempo di campionamento di 1 secondo.
Dici che il PID è instabile con "qualsiasi valore" impostato manualmente, ma non riporti nessun esempio.
Tanto per cominciare, hai impostato il limite massimo del valore di processo a 1200 per quale motivo? Si tratta di un forno? Ti serve veramente un range di temperatura così ampio?
In caso affermativo, tieni presente che, con simili valori di processo, anche un proporzionale di 1.0 è già altissimo.
E quanto tempo (ordine di grandezza) impieghi a raggiungere il set point con uscita al 100%?

 

Link al commento
Condividi su altri siti

E'un forno di trattamento termico.

Il Setpoint lavora in un range 900- 1100°C e comanda 2 loop con uscita proporzionale 0-100%.

che sono delle valvole proporzionali.

Il resto del programma gestisce la logica del forno e funziona benissiomo.-

La termocoppia ci mette anche 5 minuti per raggiungere il SP per poi sforarlo in salita e un tempo circa

uguale quano il pid riduce l'uscita per tornare in discesa al Sp.

Questo mi causa instabilita', nonostante abbia assegnato valori anche elevati di PB

e valori bassi di integrale, non lavoro col derivativo in quanto peggiora le cose.

Sono sempre riuscito manualmente a trovare i valori di PID su termoregolatori e/ o altri sistemi.

ma qui non ne do fuori.

 

Grazie anticipatamente, saluti.

IZ3XJD

 

Link al commento
Condividi su altri siti

22 minuti fa, IZ3XJD ha scritto:

Questo mi causa instabilita', nonostante abbia assegnato valori anche elevati di PB

E questo è sicuramente l'errore principale. Con valori elevati di proporzionale, praticamente fai lavorare il PID quasi come un comando On/Off.
L'uscita del PID rimane al 100% fino quasi al raggiungimento del set point e, quando comincia a chiudere, è troppo tardi.
Per rendere il PID più stabile, il proporzionale lo devi ridurre. Come detto precedentemente, così, a naso, per un simile controllo, già un proporzionale di 1.0 è alto.

 

28 minuti fa, IZ3XJD ha scritto:

e valori bassi di integrale

E questo è il secondo grande errore: più riduci il tempo dell'integrale, più aumenti l'azione dell'integrale, e rendi il PID instabile.

 

Io, come punto di partenza, giusto per buttare lì dei numeri quasi a caso, partirei con un proporzionale di 0.2 e un integrale di almeno 20 secondi.

 

Una domanda: parli di valori "elevati" di proporzionale, e valori "bassi" di integrale. Ma "elevato" e "basso" vogliono dire tutto e niente (più "niente", che "tutto").
Ti costa proprio tanta fatica scrivere dei numeri?
 

Link al commento
Condividi su altri siti

praticamente:

 

ho iniziato coi valori default :  PB=1  I=20  D=0.2

poi sull'esperienza dei termoregolatori ho aumentato fino a: PB=120   I=20   D=0  campionamento PID=1

questo e' il miglior risultato... anche se pendula ancora parecchio.

Ovviamente questo non e' un termoregolatore classico... eprobabilmente l'assegnazione dei valori PID

funziona al contrario.

Poi se i pid siemens funzionano al contrario (gain= 1/PB) potrebbe giustificato allo ra impostare 0.2

e' per questo che chiedo lumi a chi ci e' gia' passato.

 

Ringraziandoti anticipatamente,

saluti, IZ3XJD

Modificato: da IZ3XJD
Link al commento
Condividi su altri siti

Non so cosa significhi di preciso, per te, "PB", ma il Gain, nel PID Siemens, è usato nel modo canonico: la componente proporzionale viene calcolata moltiplicando l'errore per la costante proporzionale.
Con un proporzionale di 120 (escludento integrale e derivata), ti basta avere la variabile di processo più bassa del set point di soli 0,83 °C per avere l'uscita del PID al 100%.
Il PID Siemens è in tutto e per tutto un "regolatore classico".
Anche per l'integrale vale l'impostazione "classica", dove si imposta un "tempo integrale" e non una "costante integrale".
Il tempo interale idica in quanto tempo la componente integrale eguaglia la componente proporzionale (mantenendo invariati SP e PV).
Quindi, un tempo integrale più alto indica una minore azione dell'integrale.


Trovo davvero molto strano che la condizione migliore che hai trovato sia con un guadagno di 120. In pratica, con un guadagno così alto, più che una uscita proporzionale ti ritrovi con una uscita PWM.

Link al commento
Condividi su altri siti

Non conosco nel dettaglio i PID Siemes, ma non è possibile mettere un limite alla correzione proporzionale. E un metodo che si usa per mantenere alto il guadagno proporzionale senza andare in satuirazione.

Link al commento
Condividi su altri siti

3 ore fa, Livio Orsini ha scritto:

E un metodo che si usa per mantenere alto il guadagno proporzionale senza andare in satuirazione.

Nella funzione PID di Siemens ci sono tutti i controlli necessari per evitare di andare in saturazione, ma ciò non toglie che un proporzionale di 120 è assurdamente alto.
Come detto, escludendo integrale e derivata, con un errore di 0,833, il proporzionale sarebbe già al 100%.
Con un proporzionale così alto avremo praticamente un controllo ON/OFF

Link al commento
Condividi su altri siti

Che il guadagno proporzionale sia esageratamente alto è vero.

17 ore fa, IZ3XJD ha scritto:

La termocoppia ci mette anche 5 minuti per raggiungere il SP per poi sforarlo in salita e un tempo circa

uguale quano il pid riduce l'uscita per tornare in discesa al Sp.

 

In questi casi 'ottimo di regolazione lo si ottiene con un feed forward che porta il valore a circa il 10% - 20% usando il regolatore PID come regolazione fine.

Inolttre è il caso di tenere un tempo integrale lungo, con la correzione integrale limitata, onde evitare di dover scaricare molto l'integrale.

Il derivativo sull'errore sarebbe da evitare, semmai usare il derivativo sulla reazione, manon credo che con il regolatore siemens sia possibile.

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