Livio Orsini Inserita: 6 giugno 2013 Segnala Share Inserita: 6 giugno 2013 E mi pare anche corretto, perché il giusto tempo integrale dipende molto dal tempo di risposta del sistema. Ma il tempo di risposta del sistema non dipende certo dal guadagno del PID. Il tempo di risposta del sistema dipende dalle sue costanti fisiche, però può essere migliorato dal guadagno proporzionale. Per analogia avviene quello che normalemente avviene in amplificatore. La banda ad anello aperto aumenta con l'introduzione della controreazione. Ed il guadagno proporzionale determina proprio il tasso di controreazione dell'anello. Ziegler-Nicols per ottimizzare i parametri determina il periodo dell'oscillazione naturale del sistema e pone il tempo d'ingrazione par 1/8 del periodo. E' un parametro che da un buon compromesso tra la sicurezza della stabilità e la velocità di risposta. Se il sistema non necessita di risposte al limite è più che ottimo. Da ultimo. Il fine della taratura è ottenere un sistema che soddisfi le esigenze dell'impianto nel mosdod migliore. Come questo avvenga può anche essere secondario. Molti dipende dalle abitudini e dalle esperienze di chi lo progetta e lo ottimizza. Io continuo a sostenere che il modo migliore per ottimizzare un regolatore PID sia avere la separazione dei coefficienti, altri invece sono di parere opposto. Forse dipenderà dalle scuole. Io mi sono formato, professionalmente, con le filosofie tipiche USA (Westighose e General Elettric tramite E. marelli e Ansaldo). Quando andai a lavorare in un'azienda di scuola germanica, trovai per la prima volta in PID analogico con la filosofia dei guadagni interdipendenti. Non ti dico i moccoli, tanto che mi rifeci subito un'alternativa alla mia maniera. Il "bello" fu quando andai a visitare, per la prima volta, la filiale USA della nostra azienda. Il responsabile dell'engineering quasi mi "aggredi" per quella scheda di regolazione; mi mostrò subito la sua variante classica, almeno per i miei gusti. E' solo una questione, a mio avviso, di praticità. Chi non c'è abituato trova molto faticoso l'ottimizzazione di un regolatore con i coefficienti interdipendenti. Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 (modificato) Non è bella cosa avere la Parte Derivativa in funzione del KP. E neppure quella dell' integrale in funzione del Proporzionale. In nessuna parte c'è scritto che prima bisogna eseguire prima la Parte Proporzionale. La cosa corretta è di separare le tre componenti P+I+D In questo modo si opera bene in ogni situazione. Poi se l'integrale si esprime come tempo, non cambia niente. Ma sembra quasi un eresia fare il proporzionale maestro delle altre due componenti. Se volessi solo operare con il Derivativo, o solo con integrale? che cosa me ne fo della componente proporzionale, sempre in mezzo alle .... QUESTO E' IL CONTROLLO PID CORRETTO -t d u(t) =Kpe(t) + Ki* / e(t)dt + Kd ---- e(t) -0 dt Notare + L'altra forma [ KP*(Ki+KD) ] va di moda, ma non permette un perfetto controllo, come quella Parallelo. Molte volte la Siemens fa delle Fb (Tipo Polpettone) tutto incluso, che complica un semplice controllo, oppure quando si deve fare un controllo speciale, non serve proprio a niente. o parti delle componenti aggiuntive, non servono a niente. Non è meglio avere delle funzioni semplici, da assemblare in maniera più adeguata alle reali esigenze? Sarebbe bella cosa aggiungere la funzione FeedForward già che ci siamo a questa FB Polpettone, e perchè no anche un Filtro Notch. Il modello Siemens con KP master non è ad esempio adatto nei controlli Motion veloci. Non va neppure bene quando si vuole controllare un processo lento, magari quando si usa switchare da un Controllo predittivo a quello PID, oppure passare gradualmente da un metodo di controllo ad un altro. Infatti tutte le componenti sono sempre presenti, e non si possono facilmete disabilitare a piacere. E' per questo motivo che quasi tutti i softwaristi, usano farsi o assemblarsi il proprio Controllo di Processo, in maniera autonoma. Perchè la Siemens Presenta solo questo tipo di FB Polpettone. Poi chi sa perchè con più uno è esperto in Siemens e più si allontana dall'uso dei Blocchi Standard proposti dalla Casa madre Siemens. Questi Blocchi sono proposti, ma quasi nessuno li usa. Anche quando uno approfondisce un blocco, si accorge subito, che è fatto male oppure non è adeguato a quello che realmente serve. E' la Mentalità Tedesca, si un po Crucca. Modificato: 7 giugno 2013 da Henon Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 Nei Salti repentini del SetPoint questi Loop di Controllo, risultano risultano molto instabili. E molte volte c'è bisogno che la Regolazione ideale, venga raggiunta immediatamente, e senza overshut. Per questo motivo quando il salto o errore è grande l' integrale è proprio in mezzo alle cosi dette ... Per questo motivo deve essere fisso, e non dipendente dal Proporzionale. Io almeno preferisco che non agisca in maniera cosi grande. Ad esempio nelle regolazioni immediate delle temperature, senza overShut mi costruisco sempre un FeedForward dall' isteresi termica del sistema, cosi arrivo immediatamente al set, senza OverShut. Se usasi il Blocco FB Polpettone, fra 2 anni sarei ancora li a diavolare. Molte di queste installazioni sono andate a sostituire termoregolatori Honeywell (nei quali, ovviamente, non era possibile modificare i parametri in modo dinamico), e il miglioramento delle prestazioni era evidente. Anche se, a volte, qualche operatore non ne era convinto. Su una rotativa mi capitò che un operatore continuasse a sostenere che il precedente sistema era più rapido a raggiungere la temperatura. E a nulla serviva far notare che la valvola del vapore era aperta al 100% (verificando non solo i segnali, ma anche la reale posizione della valvola), e che più che aprire al massimo la valvola io proprio non potevo proprio fare Penso che l' operatore avese ragione, in quanto molte volte non serve aprire il Controllo al 100% delle valvole, Se è proprio il tuo PID ad arrivare in Ritardo, perchè doveva rientrare dall' OverShut, Causato da un Integrale sempre presente. Si può usare delle soluzioni Miste, che sono molto più rapide nel raggiungere i SET nel più breve tempo possibile. In Definitiva FB Siemens Bocciata. Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 (modificato) Basta leggere quello corretto è il metodo a componenti in Parallello. L'altra variante deve essere una Cruccata Tedesca (Sbagliata) http://en.wikipedia.org/wiki/PID_controller Uno è quello "Ideale Perfetto" (Componenti in Parallello) altro è Chiamato "Standard PID" perchè per compromessi di controllo si è optati a questo metodo. Modificato: 7 giugno 2013 da Henon Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 In Step5 C'erano le PB (Polpettone Block) Hackbraten Blockieren Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 Ahi, ahi, Henon, ti stai attirando gli strali di Batta perchè gli hai toccato la sua amata Siemens. Scherzi a parte, è evidente che abbiamo esperienze di controllo che sembran simili, da cui derivano strategie simili. Non tutti hanno necessità o voglia di svilupparsi in proprio le funzioni di regolazione. Anni fa discutendo con un cliente di queste cose mi disse: "Se l'ha fatto Siemens è sicuramente ikl migliore del mondo, se non funziona bene o non è usato bene o non serve per questa applicazione". Premessa a parte la logica è stringente. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 In nessuna parte c'è scritto che prima bisogna eseguire prima la Parte Proporzionale. La cosa corretta è di separare le tre componenti P+I+D E da nessuna parte c'è scritto il contrario. Che sia corretto separare le componenti, è tua opinione personale, condivisa da alcune scuole di pensiero, non condivisa da altre. Se volessi solo operare con il Derivativo, o solo con integrale? che cosa me ne fo della componente proporzionale, sempre in mezzo alle .... Da questa tua affermazione mi pare di capire che tu non conosca molto bene la funzione PID di Siemens, altrimenti sapresti che le tre componenti si possono abilitare/disabilitare separatamente. QUESTO E' IL CONTROLLO PID CORRETTO Se in Internet cerchi "algoritmo pid", trovi tutti e due i modi, ma da nessuna parte c'è scritto che uno è corretto e l'altro sbagliato. Molte volte la Siemens fa delle Fb (Tipo Polpettone) tutto incluso, che complica un semplice controllo, oppure quando si deve fare un controllo speciale, non serve proprio a niente. o parti delle componenti aggiuntive, non servono a niente. La funzione PID (complicata solo per chi non la sa usare) va benissimo nel 95% dei casi. per quel 5% che resta, il bello di Siemens è che ti puoi creare le funzioni come vuoi, e non sei costretto (come accade per molti altri PLC) ad usare quello che c'è, e se non c'è quello che ti va bene ti attacchi al tram. Il modello Siemens con KP master non è ad esempio adatto nei controlli Motion veloci. Non va neppure bene quando si vuole controllare un processo lento, magari quando si usa Sul fatto che per un controllo motion veloce possa essere preferibile avere l'integrale non collegato al proporzionale, mi sono già espresso. Ma non sono d'accordo sul fatto che non vada bene in un processo lento. In un controllo di temperatura (ma non solo), il valore ottimale del tempo integrale è strettamente legato al tempo di risposta del sistema. Ma il tempo di risposta del sistema dipende dal sistema stesso, e non dal PID. Infatti tutte le componenti sono sempre presenti, e non si possono facilmete disabilitare a piacere. Su questo ti ho già risposto. È un'affermazione semplicemente sbagliata. E' per questo motivo che quasi tutti i softwaristi, usano farsi o assemblarsi il proprio Controllo di Processo, in maniera autonoma. Perchè la Siemens Presenta solo questo tipo di FB Polpettone. Poi chi sa perchè con più uno è esperto in Siemens e più si allontana dall'uso dei Blocchi Standard proposti dalla Casa madre Siemens. Questi Blocchi sono proposti, ma quasi nessuno li usa. Anche quando uno approfondisce un blocco, si accorge subito, che è fatto male oppure non è adeguato a quello che realmente serve. Non so tu da quale pianeta venga per fare una simile affermazione. Sicuramente fuori dal nostro sistema solare. Forse anche in un'altra galassia. Penso che l' operatore avese ragione, in quanto molte volte non serve aprire il Controllo al 100% delle valvole, Se è proprio il tuo PID ad arrivare in Ritardo, perchè doveva rientrare dall' OverShut, Causato da un Integrale sempre presente. Questa me la devi proprio spiegare. Nella precedente descrizione del problema non mi sono dilungato, ma penso si possa intuire che, affermando che aprivo la valvola al 100%, intendevo anche che la aprivo "rapidamente" al 100%, e che rimaneva aperta al 100%. Se in pochi secondi apro e mantengo aperta la valvola del vapore 100% e in queste condizioni impiego, per esempio, 3 minuti per passare da 40 a 100 C°, mi spieghi come con la valvola mantenuta aperta dal termoregolatore Honeywell questo tempo potesse essere di 2 minuti? Che era, il termoregolatore a scaldare l'elemento????????? Non sono proprio uno sprovveduto, quindi ti puoi risparmiare di mettere in dubbio se fossi io o l'operatore ad aver ragione. Che poi, sembra tu non abbia esperienza di come vadano le cose, altrimenti sapresti benissimo che basta che tu colleghi il PC alla macchina, magari senza fare proprio nulla, e ti ritroverai operatori pronti a giurare con la mano sulla Bibbia che, ora, c'è un problema che prima non c'era. Non tutti hanno necessità o voglia di svilupparsi in proprio le funzioni di regolazione. Io sono proprio uno di quelli che amano costruirsi funzioni personalizzate. Se uso normalmente la funzione PID di Siemens è solo perché, per le mie applicazioni (e, posso garantire, non sono tutte semplici), funziona molto bene. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 (modificato) Ad esempio nelle regolazioni immediate delle temperature, senza overShut mi costruisco sempre un FeedForward dall' isteresi termica del sistema, cosi arrivo immediatamente al set, senza OverShut. Il feed forward è generalmente facile (e quasi obbligatorio) da usare nel motion. In un controllo di temperatura, dipende dal sistema che devi controllare. Se lavori su sistemi dei quali riesci a costruirti un modello, significa una sola cosa: lavori su sistemi semplici. P.S. Ho dato un'occhiata al tuo profilo. Controllando la tua provenienza, risulta facile capire il perché di tutte queste critiche alle funzioni Siemens Modificato: 7 giugno 2013 da batta Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 Se uso normalmente la funzione PID di Siemens è solo perché, per le mie applicazioni (e, posso garantire, non sono tutte semplici), funziona molto bene. Non hai mai ipotizzato che sia possibile ottener delle prestazioni migliori? Se lavori su sistemi dei quali riesci a costruirti un modello, significa una sola cosa: lavori su sistemi semplici. No Batta, se si riesce a modellizzare un processo, significa che lo si conosce bene almeno nei dettagli essenziali, indipendentemente dalla sua complessità. In un controllo di temperatura (ma non solo), il valore ottimale del tempo integrale è strettamente legato al tempo di risposta del sistema. Ma il tempo di risposta del sistema dipende dal sistema stesso, e non dal PID. Non solo nei processi lenti, ma in tutti i processi c'è una correlazione tra tempo integrale ottimale e costante di tempo del sistema. Come ho già spiegato in altri 2 messaggi, il metodo di ottimizzazione di Ziegler-Nicols si basa proprio sul perido di oscillazione naturale dell'anello chiuso. Questo però non significa che il coefficiente integrale debbe per forza avere un legame biunivoco con il coefficiente proprozionale. Men che meno il coefficiente derivativo. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 7 giugno 2013 Segnala Share Inserita: 7 giugno 2013 Non hai mai ipotizzato che sia possibile ottener delle prestazioni migliori? Dunque, la differenza tra l'avere integrale e derivata legate o meno al proporzionale, sta solo nel fatto che, nel caso siano vincolate, se voglio che l'effetto di integrale e derivata non cambi al variare del proporzionale, devo correggere in modo coerente i relativi tempi TI e TD. Insomma, una volta trovati i giusti parametri di proporzionale, integrale e derivata, che questi parametri vengano impostati come Kp, Ki e Kd, oppure come Kp, Ti e Td, cosa cambia? Assolutamente nulla: i due algoritmi porteranno allo stesso identico risultato. E poi, io che, molto spesso, vengo anche criticato da chi mi conosce per essere un pignolo, un perfezionista, devo ammettere che, una volta raggiunto un risultato ottimo, mi accontento. Anche perché poi nessuno mi paga per passare dall'ottimo al superlativo. E, in ogni caso, per i motivi descritti sopra, sono convinto che non è certo svincolando integrale e derivata (quest'ultima tra l'altro poco usata nei controlli di temperatura e simili) dal proporzionale che si possano ottenere risultati migliori. Ammesso e non concesso che sia più facile parametrizzare un PID con componenti svincolate, non ditemi che vi metterebbe in crisi mettere le mani anche su Ti e Td quando modificate Kp. Poi, volendo, bastano due stupidissimi calcoli per fare questa operazione in automatico. Ed ecco che le differenze tra i due PID sono svanite. Perché, quindi, un metodo dovrebbe essere più performante dell'altro? Questo però non significa che il coefficiente integrale debbe per forza avere un legame biunivoco con il coefficiente proprozionale Ma non significa nemmeno il contrario. No Batta, se si riesce a modellizzare un processo, significa che lo si conosce bene almeno nei dettagli essenziali, indipendentemente dalla sua complessità. Forse abbiamo un'idea diversa di cosa sia semplice e cosa sia complicato Nel motion è abbastanza semplice: conosco le inerzie, le accelerazioni, gli attriti, le velocità, le coppie... Alla fine, bastano poche formule. Ma ci sono casi in cui la creazione di un modello assomiglia al cubo di Rubik (che mi fece passare innumerevoli notti insonni all'inizio degli anni '80, ma che ancora so risolvere). Questo per dire che, in un modo o nell'altro, di tutto si può ricostruire un modello. Ma con quali costi? E questi costi, chi li paga? E con quali benefici? Questo, inoltre, esula dal fatto che il PID sia con integrale e derivata indipendenti o meno. La tecnica del feed forward si può applicare benissimo anche utilizzando le funzioni Siemens. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 giugno 2013 Segnala Share Inserita: 8 giugno 2013 Insomma, una volta trovati i giusti parametri di proporzionale, integrale e derivata,... Ecco, il problema è proprio questo: come trovarli ed in quanto tempo. Forse abbiamo un'idea diversa di cosa sia semplice e cosa sia complicato Può essere, per me un problema è semplice quando riesco a dominarlo senza fatica; questo avviene quando conosco bene la materia, ad esempio, per precedenti esperienze. Nel motion è abbastanza semplice: conosco le inerzie, le accelerazioni, gli attriti, le velocità, le coppie.. Non sempre. Per esempio: hai un riduttore in bagno d'olio, sino a quando non ha raggiunto la temperatura di regime hai un bell'attrito variabile ed anche di molto. Se provi a fare un servodiametro, su di un aspo motorizzato in questo modo, avrai un bel problemino da risolvere. Per chi non lo sa, non certo per Batta, il servo diametro regola la tensione del materiale ad anello aperto. La tecnica del feed forward si può applicare benissimo anche utilizzando le funzioni Siemens. A aprte il fatto che ci si può grattare l'orecchio muovendo la testa invece della mano , con le funzioni di libreria lo puoi fare, ma solo in modo molto elementare; ci sono regolazioni un po' sofisticate dove proprio non riesci ad effettuarle con queste funzioni. E non si tratta di processi particolarmente veloci. In genere, nelle mie regolazioni, la correzione integrale varia di poco nell'intorno dello zero, proprio perchè sfrutto alcune caratteristiche del mio regolatore PID. Non credo che potrei fare il medesimo lavoro se usassi il regolatore di libreria. Avere l'integrale "leggero" in genere permette di ottenere regolazioni migliori e più pronte, anche se il processo è lento. Su tutte queste tecniche si sono scritti articoli ed anche libri. In alcuni casi i benefici sono minimi, in altri notevoli. Però, da una richiesta su come invertire di segno l'ingresso di un regolatore PID si è arrivati a discutere sulla filosofia dei regolatori. bell'esempio di OT! ora vado a mettermi in castigo dietro la lavagna. Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 9 giugno 2013 Segnala Share Inserita: 9 giugno 2013 Se in Internet cerchi "algoritmo pid", trovi tutti e due i modi, ma da nessuna parte c'è scritto che uno è corretto e l'altro sbagliato. Ad esempio qui http://en.wikipedia..../PID_controller Uno è quello "Ideale Perfetto" (Componenti in Parallello) altro è Chiamato "Standard PID" perchè per compromessi di controllo si è optati a questo metodo. Ti mostro un esempio o trucco per regolare molte velocemente i processi di temperatura. Usando il calcolo dell' inerzia termica del Sistema. In questo controllo molto Banale P+I solamente è stato aggiunto un azione in avanti per Raggiungere molto più veloce il corretto set di temperatura. In pratica il sistema calcola inerzia Termica attuale che il processo sta subendo, questa inerzia opportunamente pesata, esegue questa azione di FeedForward sul errore. Inoltre ad ogni inversione di Stasi, viene ricalcolato. In questo modo arrivo al set di temperatura molto più velocemente di un PID normale, perché non perdo tempo nello smorzare la naturale pendolazione finale. La temperatura arriva al set con un solo flesso, senza pendolamenti. (Non Sfora mai il set prefissato) Ad esempio nelle valvole di Regolazioni di Mandata della centrale del Vapore, se il set è prossimo alla Massima soglia di Guardia, con un PID normale rischi benissimo di sforarla, facendo intervenire la Valvola di Sicurezza. Un Altro Trucco che uso ad esempio nelle regolazioni delle Lame d'aria negli impianti di Zinacatura, è di mettere in Parallelo PID e Predittivo (Curva di Apprendimento) e di switcharli da uno all'altro (Chiaramente reimmettendo i Valori Corretti di uscita ai 2 Dispositivi) Il Predittivo sapendo il set da raggiungere richiama la Curva di Apprendimento, e comanda alla valvola il giusto valore di apertura, e per la durata esatta. Passato questo tempo, commuta sul PID, che lavorerà senza aver accumulato errori, e specialmente integrale. Puoi sempre usare nei processi con Inerzia variabili, processi Misti 1 o 2 PID con in Parallelo processi (Neural-Process di Acquisizione), oppure processi di controllo più semplici tipo un Controllo Fuzzy. Perciò ti ho detto che quando hai un Blocco Polpettone, è molto più difficile adattarlo a queste esigenze. Allego il rimanente 2nd Sheet Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 giugno 2013 Segnala Share Inserita: 9 giugno 2013 Perciò ti ho detto che quando hai un Blocco Polpettone, è molto più difficile adattarlo a queste esigenze. E' una vecchia diatriba che conduco da anni. Con questi blocchi anche l'operazione più banale come, ad esempio, usare l'anticipo di reazione in luogo del derivativo sull'errore per evitarne i nefandi effetti ad ogni variazione di valore di consegna, è impossibile. .....commuta sul PID, che lavorerà senza aver accumulato errori, e specialmente integrale. Anch'io uso da sempre tecniche (non mi piace il termine "trucco", lo associo sempre ai ciarlatani ) per mantenere l'integrale "piccolo". Questo lo puoi fare se il PID ti permette di avere le 3 componenti separate ed accessibili. Così come in alcune regolazioni, anche di processi lenti, si può usare il derivativo per correggere solo il guadagno proporzionale; questa tecnica è proprio l'esatto inverso di quello che avviene nel blocco Siemens. Poi ognuno ha il suo metodo o filosofia di lavoro. C'è chi, come me, che usa preferibilmente solo funzioni che può dominare completamente, quindi non usa funzioni di libreria se non costretto. C'è invece chi preferisce usare solo le funzioni standard di libreria. Io parto dal principio che è preferibile spendere tempo per mettersi a punto una propria funzione, piuttosto che perder tempo per capire come usare una funzione di libreria. Oltre a tutto, avendo iniziato da decenni, a costruirmi le mie funzioni standard, provate, riprovate quindi esenti da errori, la fatica per trasporre una funzione da un ambiente ad un altro è veramente minima. Anche se si è perso di vista l'argomento iniziale della discussione ne è nato un bel confronto sulle filosofie di regolazione. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 9 giugno 2013 Segnala Share Inserita: 9 giugno 2013 Ad esempio qui Al di là del fatto che su Wikipedia si trovano tantissime informazioni molto utili ma non è la Bibbia, mi faresti vedere dov'è che afferma che uno dei due metodi è corretto e l'altro sbagliato? Comunque, mi arrendo. Finiamola qui. Si vede che nei miei trent'anni di esperienza sull'utilizzo dei PID non ho imparato nulla. E dico nulla per non dire una parolaccia. Sicuramente voi sareste riusciti ad ottenere risultati migliori dei miei. Che ci volete fare, ogni tanto qualche imbecille con la testa dura si trova. Però a me sembra che voi non vogliate capire che: a = b + c e a = c + b esprimono esattamente la stessa cosa. Se in un PID con integrale legato al proporzionale, se quando raddoppio il proporzionale raddoppio anche l'integrale, ottengo lo stesso identico risultato che otterrei modificando solo il proporzionale in un PID con azioni separate. Non posso e non voglio credere che sia questa piccola operazione a mettervi in crisi. Operazione che, tra l'altro, spesso non serve. Per il resto (calcoli dell'inerzia termica, feed forward, curve di apprendimento ecc.) sono tutte azioni che vengono fatte esternamente a quella che è la funzione PID pura. E sono tutti discorsi che, ancora meno, c'entrano col fatto che l'integrale sia o meno legato al proporzionale. Che poi uno si costruisca un'unica funzione che contiene tutto, PID, compreso, oppure che preferisca applicare tutte le tecniche e poi usare una funzione PID separata (alla quale non si fa altro che passare un po' di comandi e di parametri), non ci vedo grande differenza. Anzi, io generalmente preferisco avere blocchi separati da assemblare come i mattoncini Lego. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 giugno 2013 Segnala Share Inserita: 9 giugno 2013 (modificato) Si vede che nei miei trent'anni di esperienza sull'utilizzo dei PID non ho imparato nulla. Probabilmente ti sei occupato di problemi differenti da quelli di cui mi sono occupato io. Le esperienze personali sono personali non generali. Se in un PID con integrale legato al proporzionale, se quando raddoppio il proporzionale raddoppio anche l'integrale, ottengo lo stesso identico risultato che otterrei modificando solo il proporzionale in un PID con azioni separate. No. Se la funzione di traferimento è: U = Kp * (e + Ki*e) se vari solo Kp ottieni un risultato ben differente di quello che otterresti se la funzione di trasferimento fosse: U = Kp*e + Ki*e E' vero che nel secondo caso raddoppiando il guadagno proporzionale avresti raddoppiato il tempo d'integrale, ma questo può anche essere un bene. Questo è fondamentale quando si vuol tenere un guadagno proporzionale variabile in funzione dell'errore. Questa tecnica, per esempio, permette di andare a regime molto più velocemente e senza sovraelongazioni ed eviti che l'integrale si sovraccarichi. Inoltre ne caso specifico del PID di libreria step7, anche il derivativo è legato al proporzionale e questo proprio non va bene, sempre a mio giudizio. Poi, come ci siamo già detto reciprocamente, ben difficilmente muteremo le nostre opinioni su questi benedetti/maledetti blocchi di libreria step7, però ipotizzare strategie di regolazione differenti da quelle di Siemens, magari ipotizzandole migliori, ritengo che sia non solo possibile ma addirittura doveroso. Modificato: 9 giugno 2013 da Livio Orsini Corretti errori di dattilografia (quelli che son riuscito a vedere) Link al commento Condividi su altri siti More sharing options...
batta Inserita: 10 giugno 2013 Segnala Share Inserita: 10 giugno 2013 (modificato) No. Se la funzione di traferimento è: U = Kp * (e + Ki*e) se vari solo Kp ottieni un risultato ben differente di quello che otterresti se la funzione di trasferimento fosse: U = Kp*e + Ki*e Affermando che "in un PID con integrale legato al proporzionale, se quando raddoppio il proporzionale raddoppio anche l'integrale, ottengo lo stesso identico risultato che otterrei modificando solo il proporzionale in un PID con azioni separate", visto che nei PID con azione integrale vincolata al proporzionale si usa impostare l'integrale come "tempo integrale", mi pareva chiaro quello che volevo dire. Inoltre lo stesso concetto l'ho espresso altre volte in questa stessa discussione. Per chiarezza, vedo di esprimerlo senza "affermazioni implicite": in un PID con integrale legato al proporzionale, se quando raddoppio il proporzionale raddoppio anche il tempo integrale, ottengo lo stesso identico risultato che otterrei modificando solo il proporzionale in un PID con azioni separate. Nel PID Siemens (che chiamo Siemens per praticità, ma non è un'invenzione di Siemens e non è usato solo da Siemens) alla funzione U = Kp * (e + Ki*e) oltre al fatto che è incompleta perché non effettua un'integrazione, si deve anche aggiungere che Ki = Ts/Ti Quindi se raddoppio Ti, Ki diventa la metà. Quindi il prodotto Kp*Ki*e se raddoppio Kp e dimezzo Ki, sempre che la matematica non sia diventata un'opinione, non cambia. Del resto tu stesso affermi che: E' vero che nel secondo caso raddoppiando il guadagno proporzionale avresti raddoppiato il tempo d'integrale, ma questo può anche essere un bene. Ovvero, né più né meno di quello che sto sostenendo da due pagine di post. Quindi, ribadisco: non posso assolutamente credere che sia una cosa così banale come il semplice ricalcolo del tempo integrale a mettervi in crisi nella parametrizzazione di un PID. E, aggiungo, ammesso e non concesso che questo sia sempre un vantaggio. Insomma, se in un PID con integrale e derivata vincolati al proporzionale voglio mantenere invariate le azioni integrale e derivata al variare del proporzionale, mi basta semplicemente mantenere il tempo integrale direttamente proporzionale a Kp, e il tempo della derivata inversamente proporzionale a Kp. Questo è fondamentale quando si vuol tenere un guadagno proporzionale variabile in funzione dell'errore. Questa tecnica, per esempio, permette di andare a regime molto più velocemente e senza sovraelongazioni ed eviti che l'integrale si sovraccarichi. Quindi, se i due PID, volendo, con un banalissimo calcolo possono diventare assolutamente uguali, come può uno avere prestazioni migliori dell'altro? Insomma, io non ho mai messo in dubbio che per certe applicazioni avere integrale e derivata indipendenti possa essere un vantaggio. L'unica cosa che non capisco è la vostra ostinazione a voler sostenere a tutti i costi che questo metodo sia SEMPRE migliore. Che poi, visto che metà mondo dell'automazione adotta un metodo e l'altra metà adotta invece l'altro metodo, equivale né più né meno che ad affermare che metà di quelli in automazione usano i PID, ignorano cosa sia e come si usi un PID. Che poi, come affermazione potrebbe anche essere vera, ma con programmatori che non sanno usare i PID divisi pari pari nelle due categorie. Modificato: 10 giugno 2013 da batta Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 10 giugno 2013 Segnala Share Inserita: 10 giugno 2013 Nel PID Siemens (che chiamo Siemens per praticità, ma non è un'invenzione di Siemens e non è usato solo da Siemens) alla funzione U = Kp * (e + Ki*e) oltre al fatto che è incompleta perché non effettua un'integrazione, si deve anche aggiungere che Ki = Ts/Ti Quindi se raddoppio Ti, Ki diventa la metà. Quindi il prodotto Kp*Ki*e se raddoppio Kp e dimezzo Ki, sempre che la matematica non sia diventata un'opinione, non cambia. Diciamo che hai perso di vista la situazione reale. In un regolatore dove le 3 componenti sono separate ovvero dove la sua funzione di trasferimento è: U = Kp *e + Ki*e Ki è una costante. Le costanti per definizione sono....costanti. Per variare Ki devi agire volontariamente, come si fa per Kp e Kd. Questa è la ragione per cui l'operatore, o il programma per l'ottimizzazione automatica, agisce singolarmente su ogni costante cercando il valore ottimale, senza che questo valore possa essere modificato automaticamente dalla variazione di un altro parametro. Quindi, se i due PID, volendo, con un banalissimo calcolo possono diventare assolutamente uguali, come può uno avere prestazioni migliori dell'altro? Saranno uguali se, e solo se, si comporteranno nel medesimo modo nella medesima situazione. Il vero problema sta nella facilità con cui si giunge al valore ottimale dei coefficienti. Inoltre se rileggi bene la citazione del mio messaggio vedi che la sutuazione che io ho ipotizzato non può essere mai raggiunta con un regolatore di architettura simil Siemens, proprio perchè questa rchitettura non lo permette. L'unica cosa che non capisco è la vostra ostinazione a voler sostenere a tutti i costi che questo metodo sia SEMPRE migliore. Non ostinazione, ma una semplice constatazione. COn l'architettura ad azioni separate puoi fare esattamente tutto quello che si può fare con un'architettura in cui le azioni non sono separate, mentre non vale il viceversa. Ad esempio quando si vuol tenere un guadagno proporzionale variabile in funzione dell'errore, o in funzione della derivata dell'errore, non si può usare un'architettura simil Siemens. Queste architetture un po' più elaborate non sono utili solo per procesi veloci, ma anche per processi lenti. Con questo sistema ho ottenuto prestazioni insperate da un semplice regolatore di temperatura. E' una questione di mentalità c'è chi è piuttosto rigido e chi è molto pragmatico ed assolutamente non schematico. Ma qui si entra un altra dimensione Si dovrebbe cominciare a ragionare di psicologia e di una certa filosofia e si andrebbe completamente fuori tema (già ne siamo usciti abbastanza ). Vedi Batta, non è che voglio convincerti a cambiare idea è solo che ritengo doverosamente onesto spiegare anche ad altri il perchè di certe scelte. Probabilmente questo ragionamento sta appassionando solo te, me ed Henon, però magari tra qaulche settimana o qaulche mese un giovane tecnico di automazione leggerà questa nostra disputa e potrà avere una visione più ampia dello scenario dei regolatori PID. Tra l'altro dire regolatore PID oramai è come non dire nulla, specifica solo che è un regolatore ad anello chiuso con 3 azioni possibili: proporzionale, integrale e derivativa. Ma mentre sino a qaulche decennio addietro, usando solo tecnologia anlogica, la sua architettura era qausi obbligata (anche se già c'erano regolatori delle 2 scuole), oggi con l'uso di tecniche numeriche e delle notevoli capacità e velocità di calcolo, le architetture possibili sono (quasi) infinite. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 10 giugno 2013 Segnala Share Inserita: 10 giugno 2013 (modificato) Ki è una costante. Le costanti per definizione sono....costanti. Per variare Ki devi agire volontariamente, come si fa per Kp e Kd. Questa è la ragione per cui l'operatore, o il programma per l'ottimizzazione automatica, agisce singolarmente su ogni costante cercando il valore ottimale, senza che questo valore possa essere modificato automaticamente dalla variazione di un altro parametro. Quindi, se ho ben capito, fare 2*10 diventa un problema quasi insormontabile. Ne prendo atto. Poi non riesco a capire come io sia mai riuscito ad ottimizzare i miei PID, basati su un presupposto sbagliato usato solo da mezzo mondo. Inoltre se rileggi bene la citazione del mio messaggio vedi che la sutuazione che io ho ipotizzato non può essere mai raggiunta con un regolatore di architettura simil Siemens, proprio perchè questa rchitettura non lo permette. COn l'architettura ad azioni separate puoi fare esattamente tutto quello che si può fare con un'architettura in cui le azioni non sono separate, mentre non vale il viceversa. Ad esempio quando si vuol tenere un guadagno proporzionale variabile in funzione dell'errore, o in funzione della derivata dell'errore, non si può usare un'architettura simil Siemens. Queste architetture un po' più elaborate non sono utili solo per procesi veloci, ma anche per processi lenti ??? Strano, perché l'ho fatto ancora anch'io. Anzi, ho fatto anche di peggio. I casi a questo punto sono due: o voi col PID ad azioni separate avreste ottenuto risultati migliori (e non ho difficoltà ad ammettere che, in alcuni casi, sia possibile) o io conosco la funzione PID di Siemens meglio di voi e, magari, posso aver raggiunto gli stessi risultati (e qualche volta, forse migliori). E' una questione di mentalità c'è chi è piuttosto rigido e chi è molto pragmatico ed assolutamente non schematico Oppure qualcuno ha trovato la flessibilità in qualcosa che a qualcun altro sembra rigida. In questo caso, presenta maggior rigidità chi pensa valga la pena valutare caso per caso i due modi di lavorare, o chi ha deciso a priori che uno sia da scartare? Comunque, ora chiudo e spero di riuscire a resistere quando sarà assalito dalla grande tentazione di rispondere. Modificato: 10 giugno 2013 da batta Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora