Vai al contenuto
PLC Forum


Controllo PID temperatura con alta inerzia


falcetta

Messaggi consigliati

2 ore fa, falcetta ha scritto:

Scusami ma purtroppo non ho appreso in modo chiaro ancora il significato di feed forward. Riusciresti a farmi un esempio

 

Quello che tu hai chiamato set up è il feed forward, ovvero è il segnale di controllo che dai direttamente mentre quello che sommi, proveniente dal regolatore P opportunamente scalato, è il feed back o reazione.

 

2 ore fa, falcetta ha scritto:

lla fine ho lasciato nel PID disattivato sia I che D quindi ora sta funzionando solo la Proporzionale

 

A questo punto non vedo perchè usare il blocco di libreria e fare tutte quelle complicazioni che non sono altro che giri di pista a vuoto.

 

Ti crei un timer preciso ad interrupt (con lo S7-300 si usava l'OB30), configurando già un valore di cento di ms, tempo che poi potrai eventualmente moltiplicare con un conteggio. Allo scadere del tempo impostato vai a leggere la temperatura e ricavi l'errore rispetto al valore impostato. Poi moltiplichi per un numero<<1, come fai ora, ed ottieni la piccola quantità di correzione da sommare al tuo feed forward.

In questo modo hai il controllo proporzionale, errore moltiplicato per un coefficiente, ed un integratore che non integra l'errore ma la correzione, proprio come hai ora.

 

Link al commento
Condividi su altri siti


Cerco di riassumere, per chiarezza.

 

Allora Ad oggi ho aggiornato il controllo togliendo la "vecchia" regolazione a scalini, e sostituendola con PID.

 

I PID che utilizzo ad oggi sono 2,

 

Il primo che utilizza come set-point un valore fisso di temperatura ( 90° ) ( che sarebbe la temperatura a cui vorrei che la macchina lavorasse ) l'uscita di questo primo PID opportunamente scalata, va a sommarsi ciclicamente ad un valore "di partenza" preimpostato ( sarebbero i KW del motore ). avendo comunque 2 limiti come max e min. ( limiti scritti in un'altra parte di programma e non facente parte del PID, praticamente se il set-up va sopra o sotto certi limiti, forzo la scrittura della variabile al proprio limite

Il 21/10/2022 alle 13:30 , falcetta ha scritto:

LD SET_KW_BLADE_PER_PID_CICLO_UMIDO_CONTINUO_HMI
GE KW_MASSIMI_BLADE_CICLO_UMIDO_CONTINUO_HMI
AND STEP_100_CICLO_UMIDO_CONTINUO
ANDN FASE_ACIUGATURA_MISURAZIONE_PERIODICA_CICLO_UMIDO_CONTINUO_IN_CORSO
JMPCN FISSO_MASSIMI

 

LD KW_MASSIMI_BLADE_CICLO_UMIDO_CONTINUO_HMI
ST SET_KW_BLADE_PER_PID_CICLO_UMIDO_CONTINUO_HMI
FISSO_MASSIMI:

Questa è la parte dove forzo, purtroppo però questa forzatura non è direttamente nel PID, quindi lui non sa di questa azione. ( e già penso potrebbe essere un problema in quanto comunque lui continua a regolare ) sino al suo fondo scala che è +-300..

Il primo PID è quello più importante ( almeno secondo me ) in quanto è quello incaricato di mantenermi la temperatura.

 

Il secondo PID utilizza come set-point il risultato dei KW Gestiti dal primo PID, e l'uscita mi regola gli rpm del motore...

col secondo ovviamente non riscontro problemi, la regolazione è molto soddisfacente ed efficace.

 

Il mio problema è il primo PID in quanto la reazione della temperatura alla variazione dei KW ( o comunque dei rpm ) è MOLTO LENTA e una volta che cambia ha un pò di INERZIA verso la direzione presa..

 

Quello che secondo me potrebbe migliorare notevolmente la mia regolazione è qualcosa che seppur la temperatura è maggiore del set-point ma sta iniziando a calare incominci ad aumentare il set-point del secondo PID ( quello dei kw ) e viceversa se la temperatura fosse sotto al set-point ma stesse incominciando a salire inizia a diminuire il set-point KW, cosi da "controbattere" l'inerzia del sistema, ma non sono sicuro che il PID possa funzionare in questo modo, o almeno non solo con le regolazioni P e I..

 

Forse la D potrebbe venirmi in aiuto in questa cosa?? o forse devo crearmi un'altra parte di programma che mi gestisca questa regolazione che aggiusta il PID?

 

Grazie mille

 

 

Link al commento
Condividi su altri siti

Ioti ho già espresso come e cosa penso; il problema è tuo, sei tu che hai tutti i dati e la possiblità di fare verifiche.

2 ore fa, falcetta ha scritto:

Il mio problema è il primo PID in quanto la reazione della temperatura alla variazione dei KW ( o comunque dei rpm ) è MOLTO LENTA e una volta che cambia ha un pò di INERZIA verso la direzione presa..

 

 

Questo significa che integrando troppo e/o l'integrale è troppo veloce.

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