Vai al contenuto
PLC Forum


PID Compact con S7-1200


micscal

Messaggi consigliati

buongiorno a tutti, avrei bisogno di un aiuto con il pid compact di s7-1200 usato per la regolazione della pressione di un forno di verniciatura.

il mio problema principale, escludendo la gestione della banda morta del setpoint che ho dovuto gestire esternamente alla funzione, è il seguente: il pid dà un riferimento in tensione, 0-10V, ad un inverter. quando avvio l'impianto, attivo l'inverter con un riferimento fisso (impostabile da ricetta) con pid disattivato. dopo circa 30 secondi attivo il pid per la regolazione della pressione dell'aria. il problema è che all'attivazione del pid, il valore in uscita dalla funzione per pilotare l'inverter parte da zero, generando delle depressioni all'impianto, che ovviamente il cliente non vuol sentire. 

vorrei capire se è possibile preimpostare il valore dell'uscita del pid al riferimento durante nel momento in cui attivo la regolazione, nel senso che, se ho l'inverter che lavora a 5V, il pid deve iniziare la regolazione a quei 5V. in alternativa, mi chiedevo se la funzione PID_3STEP possa soddisfare le mie esigenze. grazie

Link al commento
Condividi su altri siti


Devi fare una specie di bump less esterno.

Attivi il PID, ma mantieni il riferimento da ricetta; quando l'uscita del PID è prossima  al valore di riferimento ricettato esegui la commutazione.

Meglio ancora sarebbe eseguire una regolazione feddforward più feed back con peso del feedback ridotto, ma qui le cose si complicano un pochino e, probabilmente, non puoi usare i PID di libreria.

Link al commento
Condividi su altri siti

ti ringrazio per la risposta. avevo già pensato e provato la soluzione da te proposta, attendere l'uscita del pid prossima al valore di riferimento per commutare la regolazione. la modifica funzionava correttamente, non si sentiva più il cambio da riferimento fisso a quello della regolazione, cioè la depressione dell'impianto, come descritto sopra. però è sorto un secondo problema, cioè se durante la fase di avviamento del pid provoco dei cambi di pressione all'interno del forno, ad esempio aprendo le porte, il sistema non riesce a regolare correttamente la pressione e quindi il sistema mi va in allarme massima pressione. quindi sono al punto di partenza

Link al commento
Condividi su altri siti

Allora la soluzione è l'uso di un modello, anche semplificato, per generare un feedforward che riduca l'effetto del feedback.

Link al commento
Condividi su altri siti

in pratica mi suggerisci di abbandonare la libreria siemens e gestire il tutto da codice. credo che sia una soluzione macchinosa, ne discuterò col mio titolare e col cliente. grazie per il supporto

Link al commento
Condividi su altri siti

Quando vengono aperte le porte (spero tu abbia dei finecorsa sulle porte) dovresti escludere il PID dalla regolazione ed imporre un riferimento fisso all'inverter tale da creare depressione sufficiente.

Poi quando le porte vengono chiuse fai quello che hai descritto prima durante la fase di avviamento.

In pratica il PID lo tieni abilitato ma ne prendi in considerazione l'uscita solo quando sei prossimo al valore di riferimento impostato.

Credo che tra l'altro per comandare l'inverter avrai una rampa (interna all'inverter stesso e/o genarata te) che ne influenza comunque la reazione.

Inoltre è importante che il punto di presa della misura di depressione sia il più possibile al riparo da eventuali turbolenze che influenzerebbero negativamente la lettura.

bigalex :blink:

Link al commento
Condividi su altri siti

cioè se durante la fase di avviamento del pid provoco dei cambi di pressione all'interno del forno, ad esempio aprendo le porte

 

Be se le porte sono aperte non credo, qualunque sia il tipo di regolatore usato, si possa mantenere la corretta regolazione perchè non è un disturbo compensabile.

Si può congelare lo stato del regolatore per la durata del disturbo, come suggerisce bigalex.

credo che sia una soluzione macchinosa

 

tuttaltro! Anzi il regolatore sarà senz'altro più semplice del pid di libreria (tra l'altro i PID di libreria siemens sono tutto tranne che smeplici ed ottimizzati).

L'unico pèroblema è che è necesario conoscere bene cosa occorre fae e come farlo.

Tra l'altro non capisco la necessità di questo avviamento.

Il problema che denunci, ovvero : "... il sistema non riesce a regolare correttamente la pressione.." sembra un classico problema di saturazione di integrale, integrale magari lento. Basterebbe bloccare l'integrale durante il disturbo per migliorare la risposta, ma è sempre comunque una pezza.

Link al commento
Condividi su altri siti

La soluzione è semplice: non devi disabilitare il PID, ma solo metterlo in manuale. Con il PID in manuale puoi impostare il riferimento a piacere (sempre però passando dal PID) e, quando rimetti in automatico, la modulazione avviene senza gradini (bumpless).

Link al commento
Condividi su altri siti

Concordo con batta.

Anche io solitamente faccio cosi, tengo il PID in manuale quando ho bisogno di dare un riferimento fisso all'uscita da pilotare. Puoi utilizzare tranquillamente il PID di libreria, ha l'apposito bit di ingresso per la modalità manuale e ovviamente l'ingresso il riferimento relativo.

Link al commento
Condividi su altri siti

Tenere il PID in manuale equivale alla disabilitazione; in altri termini la funzione si comporta come passante per il riferimento, è come se ci fosse un corto tra ingresso di riferimento ed uscita.

Link al commento
Condividi su altri siti

Tenere il PID in manuale equivale alla disabilitazione

No, per le funzioni PID di libreria Siemens non è la stessa cosa. Nel passaggio da manuale ad automatico la funzione imposta l'integrale in modo da partire con la regolazione dal valore attuale dell'uscita, quindi la regolazione riparte senza gradini.

Invece, se disabilito il PID, quando lo riabilito l'integrale riparte da zero o, al limite (dipende da come ho escluso il PID), da un vecchio valore non più attuale. Il gradino, in questo caso, è inevitabile.

Modificato: da batta
Link al commento
Condividi su altri siti

imposta l'integrale in modo da partire con la regolazione dal valore attuale dell'uscita, quindi la regolazione riparte senza gradini.

Dal punto di vista della regolazione la considero una pessima scelta; magari è comoda in applicazioni come questa ma, concettualmente, non è bello:

Si tenta di far svolgere all'integrale la funzione di feed forward in modo piuttosto becero.

Poi, come tu sai, io son molto critico con le strategie di regolazione Siemens.

A parer mio in una regolazione di questo tipo, ma in quasi tutte le regolazioni, il grosso del lavoro deve farlo il feed forward. La retroazione deve solo dare piccoli aggiustamenti.

Se si osservano i miei regolatori in funzione si vede che l'integrale è sempre quasi scarico, sintomo di una regolazione diretta molto ben centrata.

Per fare questo ci sono alcuni piccoli e semplici accorgimenti, però la funzione PID deve essere concipita in modo differente da quelle di siemens. Ma qui entriamo in un ragionameto che abbiamo gia affrontato e su cui manteniamo idee differenti.

Link al commento
Condividi su altri siti

Si tenta di far svolgere all'integrale la funzione di feed forward in modo piuttosto becero.

Non è che svolga la funzione di feed forward, semplicemente permette di partire senza sbalzi sul valore in uscita.

Il feed forward, purtroppo, non è sempre applicabile. Tutto dipende dalla complessità del modello. Per il caso in questione non abbiamo sufficienti dati per determinare se sarebbe applicabile o meno. Visto che la richiesta riguardava solo una ripartenza del PID senza sbalzi e che la funzione PID di Siemens implementa già il bumpless nel passaggio da manuale ad automatico, non vedo perché non usarlo.

Link al commento
Condividi su altri siti

Se la componente integrale eguaglia il riferimento manuale svolg fe funzione di feed forward per definizione. Infatti passando alla regolazione automatica la componente integrale costituisce l'unico riferimento, nel caso l'errore fosse inferiore alla banda morta non si avrebbe variazione alcuna.

Il problema dei regolatori PID classici è sempre costituito dall'integrale che ne limita la banda passante.

Nel caso in oggetto è indubbio che in assenza di disturbi la banda passante non è critica, ma appena si ha un disturbo, come l'apertura porte, l'importanza della banda più o meno larga si sente.

Comunque ognuno ha le sue strategie di regolazione ed i risultati si apprezzano sul campo.

Link al commento
Condividi su altri siti

buongiorno a tutti. credo che la soluzione di avviare il pid in manuale e poi reimpostarlo in automatico sia la soluzione più semplice, considerando anche l'applicazione a cui sto lavorando e il tipo di cliente. grazie a tutti

Link al commento
Condividi su altri siti

Solo chi ha sott'occhio tutte le variabili e le componenti del sistema può valutare la soluzione più convniente.

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