Vai al contenuto
PLC Forum


Abb Kt098 - Problemi con PID


JanFrusaglia

Messaggi consigliati

Devo gestire 6 PID con una CPU KT098 ABB serie 90.A parte vari problemi rilevati prima con KT096 riguardo utilizzo di calcoli in virgola mobile e un ciclo macchina spaventoso,sono passato a questa CPU ma con una gestione dei PID veramente difficile.Il mio problema sussiste che il PID (istruzione) lavoro molto in ritardo e che porta ad avere un'oscillazione del valore reale difficilmente recuperabile.

Utilizzo versione 4 del software sapendo che esiste la versione 5.

Qualcuno mi può aiutare.

Grazie.

Link al commento
Condividi su altri siti


Non conosco quel tipo di CPU ed il software relativo. Però si possono comunque effettuare alcune considerazioni.

Da quanto scrivi non si capisce bene come vengono richiamati questi PID e, sopra a tutto, non scrivi e non dai nessuna indicazione del processo che devi controllare. Potrebbe essere necessario un tempo di ciclo, del PID, di pochi millisecondi o di alcuni secondi.

In quanto all'oscillazione del valore (presuppongo si tratti della variabile controllata) può dipendere da molti fattori, errato guadagno, tempo d'integrale non corretto, correzzione derivativa esagerata, etc.

Per gli algoritmi PID di tipo discreto, cioè campionati come nel tuo caso, si deve comunque rispettare una regola generale: il campionamento della variabile e la generazione della correzzione relativa devono avvenire a tempi rigorosoamente costanti (tempo di campionamento o sample time). Per questa ragione le funzioni che implementano il regoaltore PID devono essere lanciate da un task generato da un interrupt a tempo con priorità elevata. L'uso del ciclo di scansione del PLC è quasi sempre sconsigliabile. Si può usare se, e solo se, la variabile da controllare ha costanti di tempo enormemente maggiori del tempo di ciclo medio. Chiarisco con un esempio pratico. Supponi di avere un tempo di ciclo del PLC cmpreso tra 20ms e 50ms (tempi del ciclo più veloce e di quello più lento). Se devi controllare la temperatura di un locale abbastanza ampio puoi richiamare il tuo regoaltore PID dal ciclo di programma; se devi controllare la temperatura di una piccola camera climatica, invece, non è consigliabile lanciare il regolatore a tempo di ciclo PLC

Link al commento
Condividi su altri siti

Ciao Jan,

concordo con Livio che ti chiede informazioni necessarie, ed aggiungerei di dirci il tipo di PID che stai utilizzanto (quale function block).

Sarebbe, inoltre, carino vedere come lo hai configurato e sapere anche se lo hai inserito in un task che viene eseguito a tempo predefinito o nel task principale.

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