Capitolo 2
Il sistema di monitoraggio sviluppato
In questo capitolo viene descritto il sistema di monitoraggio attualmente sviluppato nel Laboratorio di Controllo dei processi Chimici (CPCLab), presso il Dipartimento di Ingegneria Chimica dell’Università di Pisa e denominato PCU (Plant Check Up). Esso effettua una valutazione delle condizioni di funzionamento degli anelli di regolazione utilizzando soltanto i dati registrati durante il normale funzionamento dell’impianto, senza introdurre perturbazioni o effettuare ulteriori test specifici sugli impianti. Il pacchetto utilizza i valori del set‐point SP, del segnale di controllo OP e della variabile controllata PV, generalmente disponibili in un sistema di controllo. La variabile manipolata MV, che è richiesta in altri pacchetti di monitoraggio e che permetterebbe un’identificazione più semplice dei fenomeni d’attrito tramite un confronto diretto con OP, invece, non è necessaria; in ogni caso se la variabile MV è disponibile possono essere effettuati altri tests addizionali.
Nella struttura attuale, perciò, il programma è orientato verso applicazioni off‐ line essendo il monitoraggio effettuato sui dati degli anelli di regolazione che sono stati acquisiti in precedenza. Questa applicazione è indicata per effettuare una
tantum la valutazione dell’efficienza del sistema di controllo e analizzare
l’opportunità di passare a sistemi di controllo avanzato. Ripetendo l’analisi periodicamente è possibile stimare l’evoluzione nel tempo.
Tuttavia è in corso di realizzazione anche l’applicazione on‐line dello stesso pacchetto: ciò permetterà di intervenire tempestivamente sull’impianto e, quindi, di risolvere il problema della scarsa prestazione rilevata sugli anelli di controllo in tempi immediatamente successivi all’individuazione dell’anomalia.
2.1 Architettura
Il sistema di monitoraggio è stato sviluppato in ambiente MATLAB® ed è suddiviso in tre parti che vengono implementate in sequenza:
1. Acquisizione dei dati. In questa sezione si importano i dati direttamente da files di Excel in un formato riconoscibile da MATLAB, scelto come modello di riferimento.
2. Diagnosi sulle prestazioni degli anelli. Questa sezione è suddivisa in tre moduli: il primo modulo esclude dall’analisi i loops con buona prestazione, il secondo individua i loops oscillanti e, infine, il terzo assegna le cause delle anomalie riscontrate.
3. Report e contromisure. In questa sezione viene fornito un report in cui si indica se la prestazione del loop è buona o scarsa. Per gli anelli di controllo a prestazione scarsa ne viene indicata la causa e vengono suggerite delle contromisure.
fig. 2.1: Architettura del sistema di monitoraggio
2.1.1 Acquisizione dei dati
Prima di iniziare la fase di acquisizione dei dati, questi devono essere opportunamente organizzati in un file di tipo Excel con tutte le informazioni necessarie al sistema per l’analisi. In particolare si devono includere i valori del set‐point SP, del segnale di controllo OP e della variabile controllata PV e, se disponibile, della variabile manipolata MV. Sono necessarie altre informazioni e cioè: il range di controllo; la frequenza ultima del sistema (o una sua approssimazione); i parametri del regolatore, ossia il guadagno, la costante di tempo integrale e, in caso di regolatore di tipo PID, la costante di tempo derivativa e la costante dell’eventuale filtro presente; il tempo di campionamento. Tutte le informazioni devono essere inserite in uno schema fisso uguale a quello mostrato in fig. 2.2:
fig. 2.2: Modello di riferimento per l’acquisizione dei dati
In figura 2.3 si riporta la finestra di navigazione in cui sono riassunte le operazioni che seguono. fig. 2.3: Finestra di navigazione
2.1.2 Diagnosi sulle prestazioni degli anelli
Modulo 1
Il primo modulo separa innanzitutto i loops oscillanti da quelli non oscillanti attraverso l’applicazione del test di Hägglund. In realtà, rispetto al test descritto nel paragrafo 1.2.2, esistono delle differenze riguardanti il tempo di supervisione. Nel test precedentemente descritto il tempo di supervisione Tsup è fisso e dipende
dalla costante di tempo integrale τi del regolatore, ossia:
i
Tsup =50τ (2.1)
Qui, invece, si impiega un tempo di supervisione mobile nel senso che viene continuamente riaggiornato in base alla durata dell’ultimo semiciclo anomalo per evitare che loops con evidenti oscillazioni non siano identificati come anomali poiché la finestra di osservazione è troppo piccola perché il parametro x superi il valore 10.
Quindi, si continua sempre a considerare come anomalo un semiciclo in cui supera . Per ogni semiciclo si definiscono i due attraversamenti dello zero:
IAE IAElim
0
T (il tempo in cui il semiciclo ha inizio) e T (il tempo in cui il semiciclo 1
finisce).
Appena si trova un semiciclo anomalo il tempo di supervisione viene riaggiornato come ) ( 5 . 1 1 0 1 sup T T T T = + − (2.2)
e quindi ogni volta che si trova un’anomalia si va a spostare la finestra di osservazione di un tempo pari a 1.5 volte la sua durata e si incrementa il parametro x di una unità. Se nel tempo di supervisione continuamente riaggiornato si continuano a trovare anomalie e il parametro x arriva al valore 10 siamo in presenza di un anello di regolazione con oscillazione persistente, e quindi eccessivamente oscillante. Se, al contrario, nel tempo di supervisione non si individuano altri semicicli anomali il parametro x viene riazzerato e si continua l’analisi. C’è da sottolineare che se alla fine del tempo di supervisione il semiciclo in analisi non è ancora terminato Tsup viene allungato per permettere di completare la sua analisi.
Se il test di Hägglund, così modificato, risulta negativo, il loop in esame viene sottoposto ad un altro test, si va cioè a vedere se la risposta è lenta. Anche questo test, come il precedente, si basa sull’integrale dell’errore assoluto ed è positivo quando risulta: 10 lim > IAE IAE (2.3) Il parametro a (vedi equazione 1.3), cioè l’ampiezza dell’oscillazione sinusoidale
con cui viene identificato l’andamento dell’errore, va ad influire sul margine da utilizzare per considerare una risposta significativamente oscillante o significativamente lenta. L’operatore, che utilizza questo pacchetto, ha la possibilità di scegliere il valore di tale parametro.
Nella schermata (vedi fig. 2.4) il test di Hägglund è indicato con ODT (Oscillation Detection Technique), mentre il test sulla risposta lenta è indicato con SDT (Sluggish Detection Technique). Inoltre è possibile visualizzare l’errore presente su ogni loop in esame. Un grafico a barre riporta i risultati dei due tests: se la barra è di colore blu il test è negativo, se la barra è di colore rosso il test è positivo.
Gli anelli che risultano positivi ai due test sono classificati a bassa prestazione e vengono inviati alle analisi successive, mentre gli altri sono classificati a buona prestazione. Gli anelli che risultano avere una risposta lenta passano alla fase di identificazione del processo e retuning del regolatore mentre quelli caratterizzati da una risposta troppo oscillante vengono analizzati nel secondo modulo. fig. 2.4: Modulo 1
Modulo 2
Il secondo modulo (fig. 2.5) analizza i loops definiti oscillanti nel primo modulo e li sottopone al Damping Test che individua gli anelli con oscillazioni smorzate,
dovute un controllo aggressivo, e li invia alla fase successiva di
Identificazione&Retuning. I loops con oscillazioni non smorzate vengono sottoposti
al Frequency Test che, eseguendo lo spettro di potenza, separa gli anelli
caratterizzati da oscillazioni con frequenza dominante da quelli in cui le oscillazioni hanno più canali di frequenza. Le oscillazioni non smorzate senza una frequenza dominante sono identificate come disturbi non regolari e i loops in cui sono state individuate vengono inviati alla fase successiva di analisi dell’impianto. I
loops caratterizzati, invece, da oscillazioni non smorzate a frequenza dominante vengono analizzati dal terzo modulo che attribuisce la causa delle oscillazioni all’attrito oppure ad un disturbo sinusoidale.
Comunque i risultati ottenuti dal secondo modulo possono essere modificati in base all’esperienza dell’operatore. Infatti per un loop classificato come smorzato oppure non smorzato ma con oscillazioni con più canali di frequenze si può forzare l’analisi successiva eseguita dal terzo modulo per stabilire se la causa delle oscillazioni è dovuta all’attrito nelle valvole oppure all’ingresso di un disturbo sinusoidale; allo stesso modo un loop in cui non è stato rilevato uno smorzamento può essere forzatamente inviato alla fase di Identificazione&Retuning. fig. 2.5: Modulo 2
Modulo 3
Nel terzo modulo si eseguono tre tecniche per individuare la presenza di attrito: la Cross‐Correlazione (vedi paragrafo 1.4.1), la Bicoerenza (vedi paragrafo 1.4.2) e il Relay (vedi paragrafo 1.4.3). E’ anche possibile visualizzare il grafico di MV vs. OP (se MV non è disponibile al suo posto viene plottato PV), per vedere se si riscontrano dei tipici andamenti che possono indicare la presenza o meno di attrito (in fig. 2.6(a) è riportata la schermata). (a) Grafico MV vs OP (b) Cross‐Correlazione (c) Bicoerenza (d) Relay fig. 2.6: Modulo 3
Per quanto riguarda la Cross‐Correlazione (vedi in fig. 2.6(b) la schermata) viene riportato il grafico della funzione e il valore dei due indici a cui fa riferimento la tecnica: τ∆ e ∆ . Se il segnale esaminato ha frequenza bassa, i ρ risultati della tecnica possono non essere affidabili e ne viene data indicazione.
Quando si va ad eseguire la tecnica della Bicoerenza (vedi in fig. 2.6(c) la schermata), invece, si riporta il grafico tridimensionale della funzione di bicoerenza e si indicano i valori dei due indici su cui si basa la tecnica: NGI e NLI.
Per la tecnica a Relay (vedi in fig. 2.6(d) la schermata), infine, si riporta il valore dell’indice SI totale e il valore dell’indice per i semicicli positivi e per quelli
negativi (per vedere se ci sono oscillazioni asimmetriche). In più, per ogni semiciclo, è disponibile un grafico in cui vengono riportati i dati di impianto in nero, l’approssimazione col seno in rosso e l’approssimazione migliore tra il triangolo e il relay in blu. Un anello è considerato affetto da attrito quando almeno due delle tre suddette tecniche lo indicano; comunque l’operatore può arbitrariamente associare al loop in esame un problema di attrito in modo da poter valutare un Indice di Attrito nella fase successiva.
Se l’attrito non è individuato, la causa delle oscillazioni viene attribuita all’ingresso di un disturbo sinusoidale. Il risultato dei tre tests può essere anche incerto; in questo caso si esegue un’analisi in frequenza per verificare se c’è la possibilità di essere in condizioni di stabilità marginale, cioè se la frequenza propria del sistema è vicina alla sua frequenza ultima. In caso negativo non si riesce a stabilire cosa abbia portato alla segnalazione dell’anomalia e la causa rimane non determinata (il loop finisce in un “cestino”).
2.1.3 Report e contromisure
L’applicazione in sequenza dei tre Moduli permette di diagnosticare completamente la causa di scarsa prestazione per tutti gli anelli considerati. Nel report (vedi fig. 2.7) compaiono due colonne: la prima riguarda la fase di monitoraggio (buona/scarsa prestazione), mentre la seconda la fase diagnostica. Il PCU può scegliere tra nove indicazioni da inserire nella seconda colonna: • Esclusi: sono quegli anelli che l’operatore non vuole analizzare selezionando la scelta Exclude from Analysis in fig. 2.4.
• Regolatore Blando: su questi anelli l’azione del regolatore è blanda e il test sulla risposta lenta (SDT), mediante l’applicazione del Modulo 1 (fig. 2.4), individua errori molto grandi.
• Regolatore Aggressivo: su questi anelli, considerati oscillanti dal test ODT nel Modulo 1 (fig. 2.4) e smorzati dal Damping Test nel Modulo 2 (fig. 2.5), l’azione del regolatore è aggressiva. • Disturbo Non Regolare: viene individuato nei loops oscillanti (Modulo 1, fig. 2.4) in cui non si osserva un canale di frequenza dominante (Modulo 2, fig. 2.5). • Attrito: viene attribuito a quei loops oscillanti (Modulo 1, fig. 2.4) in cui esiste un canale di frequenza dominante (Modulo 2, fig. 2.5) e per i quali si individua un problema nella valvola mediante l’applicazione del Modulo 3 (fig. 2.6). • Disturbo: viene attribuito a quei loops classificati come il caso precedente ma con evidente presenza di oscillazioni sinusoidali o comunque in assenza di non‐linearità (Modulo 3). • Possibilità di Stabilità Marginale: si osserva in quei loops per i quali il test per l’attrito ha un esito incerto e che mostrano una frequenza di oscillazione vicina a quella ultima del processo. • Non Esaminati: sono quei loops indicati come oscillanti dal Modulo 2, ma che non sono stati analizzati dal Modulo 3.
• Cestino: di questo gruppo fanno parte quei loops non identificabili con nessuna delle precedenti definizioni; per questi casi sulla base dei dati registrati non si può diagnosticare la causa della scarsa prestazione ed è necessario effettuare un’analisi dell’impianto oppure tests specifici.
Quando una nuova sintonizzazione del regolatore può risolvere il problema della scarsa prestazione (regolatore blando, regolatore aggressivo, condizioni di stabilità marginale), il loop in esame passa alla fase di Identificazione&Retuning, in
cui si fornisce un modello del processo e si esegue un retuning del regolatore.
Allo stesso modo per i loops nei quali viene rilevata la presenza di attrito nelle valvole si può valutare un Indice di Attrito attraverso il quale si può decidere se
comporta maggiori benefici utilizzare dei compensatori ([14], [21]) oppure mandare la valvola in manutenzione [22].
Indice di Attrito
L’indice di attrito Iman si basa sull’errore che il segnale di controllo OP fa rispetto alla sua media ed è utile per quantificare l’attrito in una valvola. E’ compreso nell’intervallo [0, 1]: più è elevato il suo valore e maggiore è l’influenza dell’attrito sulle variabili registrate. Considerando che la variabile manipolata OP presenta, in caso di attrito, una forma d’onda approssimativamente triangolare [23] la soglia di saturazione della valvola corrisponde a Iman =0.5: per valori inferiori si consiglia la compensazione; per valori superiori la manutenzione.
L’indice Iman può anche essere utilizzato per un’analisi storica dei fenomeni d’attrito (fig. 2.7). Ripetendo l’analisi in tempi diversi sullo stesso circuito e collezionando il valore di tale indice è possibile osservare come evolve l’attrito stesso. Interpolando i valori di Iman è poi possibile dare una stima del tempo di raggiungimento della saturazione, riuscendo così a programmare in anticipo la manutenzione delle valvole. fig. 2.7: Indice di Attrito
Ha senso calcolare questo indice solo se si è sicuri di essere in presenza di attrito. Per prima cosa si va a calcolare lo IAE che viene fatto da OP nell’oscillare
intorno al suo valore medio. Si va poi ad individuare il valore di IAE per ogni semiciclo (fig. 2.8).
fig. 2.8: IAE che il segnale di controllo OP compie nell’oscillare intorno al suo valore medio (con le croci rosse si indicano i valori di IAE per ogni semiciclo) Si normalizza, poi, lo IAE rispetto alla sua media: IAE IAE IAE= − (2.4)
andandone a valutare la deviazione standard (funzione std). Si scartano, quindi,
tutti quei semicicli che hanno uno IAE normalizzato fuori dal range [−std(IAE), std(IAE)] (fig. 2.9). Questo per evitare di considerare nel calcolo dell’indice
semicicli troppo piccoli o troppo grandi (fig. 2.10). fig. 2.9: IAE di ogni semiciclo normalizzato rispetto al suo valore medio (quelli cerchiati di rosso escono dall’intervallo [−std(IAE), std(IAE)])
fig. 2.10: Segnale di controllo (in rosso sono indicati i semicicli scartati per il calcolo dell’indice di attrito)
Si passa ora a calcolare l’indice di attrito per ogni semiciclo del segnale di controllo rimasto (con si indica l’errore del semiciclo, con la durata del semiciclo e con reg IAE tOSC OP il valore medio del segnale di controllo su scala percentuale):
{
OP OP}
t IAE I OSC reg man = − % 100 ; min (2.5) L’indice di attrito che il programma segnala è la media degli indici calcolati su ogni semiciclo.Per ovviare al fatto che una valvola, col passare del tempo, può lavorare su diversi livelli di OP si definiscono le due variabili OPS e MF: OSC reg t IAE OPS = (2.6)
{
OP OP}
MF= min ;100%− (2.7)Invece di collezionare il valore dell’indice di manutenzione in tutte le analisi che vengono fatte nel tempo su uno stesso circuito, il programma va a salvare i valori di OPS e MF. Al momento dell’ultima analisi vengono ricalcolati tutti gli
indici utilizzando l’ultimo valore di MF, ovvero considerando le attuali condizioni
di lavoro della valvola. Così facendo è possibile visualizzare come l’indice varia nel tempo, prevedendo quando la valvola arriverà alla saturazione se si continua a lavorare su valori della OP riscontrati nell’ultima analisi.
Ultima cosa a cui fare attenzione è il range di controllo della valvola espresso in %. Non sempre questo intervallo va da 0 a 100, ma a volte può partire da valori negativi ed arrivare a valori superiori a 100. A questo punto la variabile MF
diventa:
{
OP CTRL CTRL OP}
MF= min −inf %;sup %− (2.8)
dove con inf CTRL% e si indicano rispettivamente il limite inferiore e
superiore del range di controllo della valvola espressi in %. % supCTRL
2.2 Esempio di applicazione
Come esempio di applicazione del pacchetto PCU si esamina un semplice caso SISO, il cui schema a blocchi è rappresentato in fig. 2.11. I dati necessari per effettuare l’analisi, cioè il set‐point SP, il segnale di controllo OP e la variabile controllata PV, sono stati ricavati attraverso la simulazione del processo con MATLAB®, impiegando lo schema SIMULINK® riportato in fig. 2.12, dove si sfrutta il modello dell’attrito di Choudhury (paragrafo 1.3.3). Trattandosi di un caso simulato, è disponibile tra i dati anche la variabile manipolata MV.
Il processo analizzato è del primo ordine più ritardo, controllato da un regolatore di tipo PI la cui valvola è affetta da attrito. I parametri del processo, del regolatore e dell’attrito sono riportati in tab. 2.1. Nello schema a blocchi (fig. 2.11) compare anche, a differenza dello schema SIMULINK (fig. 2.12) impiegato per le simulazioni, l’ingresso di un disturbo esterno come eventuale causa di scarsa prestazione del sistema di controllo; inoltre è evidenziata la presenza del rumore che comporta la presenza di oscillazioni ad alta frequenza e di piccola ampiezza nell’andamento delle variabili del processo.
fig. 2.11: Schema a blocchi di un sistema SISO fig. 2.12: Schema SIMULINK® di un sistema SISO
Processo Regolatore Parametri dell’attrito
S J 1 10 30 + − s e s ⎜⎝⎛ + ⎟⎠⎞ s s 25 1 25 8 . 0 3 1 tab. 2.1: Modello del processo, tuning del regolatore e parametri dell’attrito
L’anomalia nel processo è evidenziata dalla presenza di oscillazioni negli andamenti nel tempo del segnale di controllo OP, della variabile manipolata MV e della variabile controllata PV (fig. 2.13).
Il grafico MV vs OP indica, invece, che l’anomalia è dovuta alla presenza di attrito nella valvola (fig. 2.14). Per completezza si riporta anche il grafico PV vs OP (fig. 2.15), dato che non sempre la variabile manipolata MV è disponibile nei dati d’impianto. Dalla visione di questo grafico, tuttavia, non si può immediatamente dire che la presenza di oscillazioni nelle variabili del processo è causata dall’attrito, perché lo stesso andamento ellittico si può osservare anche in presenza di un disturbo esterno.
fig. 2.13: Andamenti di OP, MV e PV fig. 2.14: Grafico MV vs OP fig. 2.15: Grafico PV vs OP
Esaminando questo loop con le tre tecniche (Cross‐Correlazione, Bicoerenza e Relay) di individuazione dell’attrito impiegate nel pacchetto PCU, si sono ottenuti i
seguenti risultati:
1. Cross‐Correlazione: ∆τ =0.624; ∆ρ =0.231 ⇒ INCERTO
2. Bicoerenza: NGI =0.013; NLI =0.034 ⇒ ATTRITO
3. Relay: SI =0.831 ⇒ ATTRITO
Nel report il loop in esame viene classificato come loop affetto da attrito e l’indice di attrito vale 0.51; viene pertanto suggerita la manutenzione della valvola.
man
I
L’applicazione del sistema di monitoraggio PCU a dati di impianto ha dato risultati molto affidabili [24], indicando la corretta causa di bassa prestazione nella grandissima parte dei casi esaminati. Il sistema di monitoraggio è stato sviluppato per l’analisi di schemi di controllo di base, cioè costituiti da singoli loops di
controllo fra loro indipendenti e, quindi in assenza di problemi di interazione tra i diversi loops.
Per questa ragione, il pacchetto applicato a sistemi caratterizzati da interazione (sistemi MIMO), potrebbe non riuscire ad individuare il loop da cui proviene l’attrito. Il lavoro di questa tesi è indirizzato alla valutazione della possibilità di individuare la provenienza e la causa delle anomalie nei sistemi MIMO partendo dalle tecniche messe a punto per il caso SISO, in modo da poter applicare il sistema di monitoraggio PCU al caso di processi multivariabili.