Vai al contenuto
PLC Forum


azione derivativa con disturbo


fabferrari

Messaggi consigliati

Salve a tutti solitamente lavoro con i DCS, oggi su un PLC s7 400 durante un tuning per una temperatura ho riscontrato il seguente problema:

aggiungendo l' azione derivativa, riscontro che anche se la variabile non cambia e quindi nessuna azione del controllore, l' uscita manifesta degli spikes di circa 1-2%.

Ho riscontrato che il disturbo avviene in corrispondenza dell' aggiornamento della variabile dei digit decimali. La regolazione è perfetta, ma nei trend l'uscita del controllore che presenta questo disturbo, che si traduce in un leggero movimento della valvola regolatrice, non è bello da vedersi.

Ringrazio per aver letto il messaggio e per un eventuale suggerimento.

Fabio

Link al commento
Condividi su altri siti


Grazie per la risposta, si, la regolazione richiede un t derivativo di 3 secondi, ho provato a diminuirlo a 1 secondo il disturbo diminuisce ma anche l' effetto della derivativa, che è necessario trattandosi di una regolazione di temperatura. Ho provato a forzare la pv a un valore fisso, ho notato che comunque i decimali cambiano, questo cambiamento determina l' intervento della derivativa, la derivativa agisce al momento in cui la variabile incrementa o diminuisce, per questo avevo pensato a un filtro che attenui le rapide variazioni del DAC.

 

Link al commento
Condividi su altri siti

Quote

che è necessario trattandosi di una regolazione di temperatura

Non sono molto d'accordo con questa affermazione. Anzi, è proprio sui controlli di temperatura (o comunque su processi generalmente lenti) che di solito non si usa la derivata o, se si usa, con effetto molto ridotto.
Ma se la derivata la togli, cosa succede?

 

Ma quello che mi suona strano è che la variazione di un decimale sulla variabile di processo mi causi variazioni sull'uscita dell'1-2%.
Questo mi fa pensare ad un proporzionale piuttosto spinto. Da capire quindi se queste variazioni sono causate dalla derivata o dal proporzionale.

Perché non ci dai più informazioni, a cominciare da tutti i parametri del PID, e proseguendo con altre indicazioni sul tipo di regolazione e sulla velocità del sistema?

Link al commento
Condividi su altri siti

2 ore fa, batta scrisse:

Anzi, è proprio sui controlli di temperatura (o comunque su processi generalmente lenti) che di solito non si usa la derivata o, se si usa, con effetto molto ridotto.

 

Concordo!

Anzi ritengo che spesso sia più dannosa che utile.

 

Quote

Ma quello che mi suona strano è che la variazione di un decimale sulla variabile di processo mi causi variazioni sull'uscita dell'1-2%.

 

ma, visto che è un PID siemens, per me ..... può anche succedere.🙄

 

 

2 ore fa, batta scrisse:

Perché non ci dai più informazioni, a cominciare da tutti i parametri del PID, e proseguendo con altre indicazioni sul tipo di regolazione e sulla velocità del sistema?

 

Condivido.

Link al commento
Condividi su altri siti

Grazie per la risposta, si, la regolazione richiede un t derivativo di 3 secondi, ho provato a diminuirlo a 1 secondo il disturbo diminuisce ma anche l' effetto della derivativa, che è necessario trattandosi di una regolazione di temperatura. Ho provato a forzare la pv a un valore fisso, ho notato che comunque i decimali cambiano, questo cambiamento determina l' intervento della derivativa, la derivativa agisce al momento in cui la variabile incrementa o diminuisce, per questo avevo pensato a un filtro che attenui le rapide variazioni del DAC.

 

 

I processi lenti relativi al controllo di temperatura con inerzia termica richiedono l' azione derivativa, l'ho sperimentato in 40 anni di esperienza in ambito petrolchimico e lo confermano i manuali di regolazione.

Il quesito non è relativo all' utilizzo o meno dell'azione derivativa, la domanda è inerente al blocchetto PID siemens l’FB 41 ”CONT_C”che probabilmente non è opportunamente configurato, dal manuale siemens ho trovato quanto riportato sotto, forse è questo il punto da approfondire.

Da manuale siemens s7: Calcolo dello scarto di regolazione
Il risultato della differenza tra il valore di riferimento e il valore istantaneo è rappresentato
dallo scarto di regolazione. Per sopprimere la piccola oscillazione continua
causata da una quantizzazione della grandezza regolante (ad es.con una modulazione
di durata degli impulsi con PULSEGEN lo scarto della regolazione viene fatto
passare attraverso una banda morta (DEADBAND). Se DEADB_W = 0, la banda morta è disinserita.

Grazie e buona giornata.

Link al commento
Condividi su altri siti

2 ore fa, fabferrari scrisse:

la derivativa agisce al momento in cui la variabile incrementa o diminuisce, per questo avevo pensato a un filtro che attenui le rapide variazioni del DAC.

 

Filtrare il DAC in pratica significa inserire un'ulteriore azione integrale sull'uscita con riduzione della banda del regolatore e quindi annullamento parziale o totale dell'effetto derivativo.

 

2 ore fa, fabferrari scrisse:

I processi lenti relativi al controllo di temperatura con inerzia termica richiedono l' azione derivativa, l'ho sperimentato in 40 anni di esperienza in ambito petrolchimico e lo confermano i manuali di regolazione.

 

Non so se gli apparati del settore petrolchimico necessitino di regolazioni di temperatura particolari (no ho alcuna esperienza in questo campo), però nei miei oltre 40 anni di esperienza le regolazioni di temperatura non sono favorite da un'azione drivativa, eventualmente le prestazioni migliorano con un anticipo di reazione.

Apparentemente l'effeto sembra simile perchè per entrambi i casi c'è un filtro passa alto, però l'anticipo di reazione non causa effetti perversi sulle variazioni dei valori di riferimento.

Comunque nei processi lenti le prestazioni migliori si ottengono con un appropriata azione di feed forward, ma questo vale per tutti i regolatori.

 

2 ore fa, fabferrari scrisse:

la domanda è inerente al blocchetto PID siemens l’FB 41 ”CONT_C”che probabilmente non è opportunamente configurato,

 

Su questo non espimo alcun parere, perchè mi son sempre rifiutato di usare i blocchi di libreria. Non potendo analizzare nle dettaglio la funzione non posso sapere come lavora e quindo posso avere su di essa solo un dominio molto relativo. Io ho sempre usato le mie librerie con i m iei regolatori specialistici per varie applicazioni.

 

 

Link al commento
Condividi su altri siti

Quote

ho provato a diminuirlo a 1 secondo il disturbo diminuisce ma anche l' effetto della derivativa, che è necessario trattandosi di una regolazione di temperatura

Su questo continuo a non essere d'accordo. Io mi occupo di regolazioni di temperatura da "soli" 30 anni, ma solo in rari casi, molto particolari, ho utilizzato l'azione derivativa.
 

Quote

Ho provato a forzare la pv a un valore fisso, ho notato che comunque i decimali cambiano

Qui non capisco: se il valore della PV l'hai messo fisso, come fa a variare?

 

Quote

Il quesito non è relativo all' utilizzo o meno dell'azione derivativa, la domanda è inerente al blocchetto PID siemens l’FB 41 ”CONT_C”che probabilmente non è opportunamente configurato

Certo, probabilmente il PID non è configurato bene, ma come ti possiamo aiutare se non ci fornisci più dati, come ti ho precedentemente richiesto?
La mia impressione è che tu stia lavorando con un proporzionale troppo elevato, ma non ci vuoi dire come è configurato il tuo PID (cos'è, un segreto di stato?), quindi posso fare solo supposizioni.

 

Per quanto riguarda la banda morta, puoi provare e vedere cosa succede. Generalmente non la utilizzo, perché è pur vero che se resto all'interno della banda morta l'uscita del PID rimane stabile, ma è anche vero che, nel momento in cui esco dalla banda morta, il processo potrebbe richiedere maggiori regolazioni per rientrare. Eventualmente, visto che il tuo problema sembra causato dalla variazione del decimale della PV, imposterei una banda morta al massimo di 0,2 °C.

 

Sul comportamento del PID Siemens poi, è vero che la funzione è protetta, ma è vero anche che nel manuale c'è spiegato tutto nei minimi dettagli, compreso l'algoritmo completo.

Link al commento
Condividi su altri siti

8 minuti fa, batta scrisse:

Sul comportamento del PID Siemens poi, è vero che la funzione è protetta, ma è vero anche che nel manuale c'è spiegato tutto nei minimi dettagli, compreso l'algoritmo completo

 

Batta sai come la penso sulle funzioni di libreria. Sul manuale c'è spiegato tutto quello che loro pensano che l'utente debba conoscere e che vogliono farti sapere.

 

Poi ognuno ha le sue preferenze. Io fortunamente non devo più usare i PLC e ne sono felice.

 

11 minuti fa, batta scrisse:

Certo, probabilmente il PID non è configurato bene, ma come ti possiamo aiutare se non ci fornisci più dati, come ti ho precedentemente richiesto?

 

Condivido pienamente.

Link al commento
Condividi su altri siti

Grazie per la risposta, si, la regolazione richiede un t derivativo di 3 secondi, ho provato a diminuirlo a 1 secondo il disturbo diminuisce ma anche l' effetto della derivativa, che è necessario trattandosi di una regolazione di temperatura. Ho provato a forzare la pv a un valore fisso, ho notato che comunque i decimali cambiano, questo cambiamento determina l' intervento della derivativa, la derivativa agisce al momento in cui la variabile incrementa o diminuisce, per questo avevo pensato a un filtro che attenui le rapide variazioni del DAC.

 

Link al commento
Condividi su altri siti

Continui a ripetere sempre le stesse cose, e non aggiungi nulla di nuovo.
Ti ostini ad affermare che "la derivativa serve", ma non dici cosa succede se la elimini.
Ripeti che hai forzato la PV ad un valore fisso, ma che cambiano comunque i decimali. Mi spieghi come è possibile?

Ti rifiuti di fornirci altri dati sulla configurazione del PID, come se fosse coperto da non so quali segreti.

Se rimani fermo su queste posizioni, non vedo proprio come possiamo aiutarti.

Link al commento
Condividi su altri siti

Ciao FabFerrari, anche io ho notato la tuo copia del post e dopo i consigli di batta e livio, l'ho trovata un po' "discutibile" . 

 

Detto questo, lavorando ormai da anni solo con blocchi SW PID, ma avendo un po' di anni alle spalle di regolazione "fisica" su processi di regolazione di temperatura, potrei anche concordare con te che la regolazione derivativa sia necessaria (ma non fondamentale). Nella mia ignoranza, la componente derivativa è stata SEMPRE presa in considerazione sui manuali (dal GISI alla spiegazione Ziegler-Nichols) per loop di temperatura, ma come tutte le cose, in funzione del tempo di risposta, dell'inerzia del sistema, del tipo di sensore utilizzato ecc... questa va gestita.

 

Chiusa anche questa parte, tornando al tuo problema, la domanda è : "e che problema c'è ?" 

 

Non conosco nello specifico il blocco, ma puoi accedere ai singoli guadagni delle funzioni per discriminare un azione a valle del blocco ? Se no, perché non gestisci con un semplice calcolo di derivata, l'effettiva utilità di quegli spike ?

 

Però, se non vogliamo toccare a valle il loop e ipotizzando soluzioni senza informazioni, come ha detto giustamente batta e ribadisco il concetto di livio, hai verificato l'oscillazione del segnale di ingresso che sicuramente innescherà l'azione derivata ? Se non ti serve (tipo il secondo, terzo o quarto decimale), perché non li elimini ? Hai fatto delle prove ?

 

Sempre ipotizzando che ti stiano rompendo per 1/2%, già mi dà l'idea che tu stia lavorando per una multinazionale chimica o per l'energy/oil&gas, ma comunque qualcosa in più potresti scriverlo, anche per quelli che in un futuro abbiano la tua stessa sfortuna di lavorare con il 400 !

 

Si scherza (sul 400),ma non sul resto.

 

Buona giornata, Ennio

Link al commento
Condividi su altri siti

2 ore fa, ETR scrisse:

Nella mia ignoranza, la componente derivativa è stata SEMPRE presa in considerazione sui manuali (dal GISI alla spiegazione Ziegler-Nichols) per loop di temperatura,

 

Io mi permetto di dissentire. La regolazione di temperatura è proprio uno di quei processi che trae beneficio non dalla derivata dell'errore ma dalla derivate della reazione (anticipo di reazione). L'effetto più vistoso è una migliore regolazione al cambiare del valore di riferimento ed un miglioramento del transitorio sul disturbo a gradino.

Link al commento
Condividi su altri siti

Ciao Livio, mi permetto di non dissentire, perché stiamo alzando troppo l'asticella della teoria 😉 e non ho a portata gli appunti di sistemi. 

 

Comunque, la mia era un osservazione assolutamente pratica nella valutazione della componente derivativa, espressa come parametro, presente in qualsiasi regolatore, che comunque viene sempre considerata nella manualistica, la dove si porti ad esempio il loop di temperatura. Esempio, Ero, Eurotherm, Ascon, nella configurazione base, come un mantra era, Pb, 5%, Ti, 300s, Td 60s, sempre secondo la regolina Ziegler-Nichols.

 

Buona serata, Ennio

Link al commento
Condividi su altri siti

13 ore fa, ETR scrisse:

Esempio, Ero, Eurotherm, Ascon, nella configurazione base,

 

Si però non sai come hanno realizzato il loro regolatore;)

 

Comunque, nel caso specifico, la prima verifica che ho suggerito è stata di provare senza derivativo ed osservare i risultati.

 

In generale il derivativo, essendo un passa alto, ha la tendenza ad amplificare tutti i disturbi.

Link al commento
Condividi su altri siti

Forse ha perso interesse o forse non vuole proprio rendere pubblica la parametrizzazione del regolatore.

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