scud.marco Inserito: 2 giugno 2013 Segnala Share Inserito: 2 giugno 2013 Buona Sera a tutti. Come da titolo avrei bisogno di un esempio che spieghi come invertire il senso di un pid tcont_cp su STEP 7 con CPU S7-300. Grazie a tutti Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 2 giugno 2013 Segnala Share Inserita: 2 giugno 2013 Una soluzione spiccia e' scambiare il set con il valore di processo mettendo la temperatura misurata in SP_INT e il valore di set in PV_IN. Link al commento Condividi su altri siti More sharing options...
scud.marco Inserita: 3 giugno 2013 Autore Segnala Share Inserita: 3 giugno 2013 Ho provato ma il mio PV è una PEW quindi collegata a PV_PER di conseguenza non posso invertirli. Esiste un'altro modo? Sull'. di Step 7 si fà riferimento ad un GAIN che non riesco a trovare Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 e' nel blocco dati di istanza col nome di "coefficiente proporzionale". Metti un valore negativo Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 col nome di "coefficiente proporzionale". Metti un valore negativo Così cambia solo il segno dell'azione proporzionale, ma non quella dell'azione integrale e derivativa. Ho provato ma il mio PV è una PEW basta moltiplicare per -1 prima di passare il dato alla funzione. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 (modificato) Così cambia solo il segno dell'azione proporzionale, ma non quella dell'azione integrale e derivativa. Nel PID Siemens, il modo corretto per ottenere un'azione inversa del PID è proprio invertire il segno del proporzionale. Le azioni integrale e derivata vengono calcolate dopo aver moltiplicato l'errore per la costante proporzionale, quindi vengono anch'esse invertite. Modificato: 3 giugno 2013 da batta Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 (modificato) Le azioni integrale e derivata vengono calcolate dopo aver moltiplicato l'errore per la costante proporzionale, quindi vengono anch'esse invertite. Se è così è una porcata, però conoscendo Siemens potrebbe anche essere. Comunque moltiplicando per -1 il valore di reazione l'effetto è identico ma concettualmente più corretto. Modificato: 3 giugno 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 se è così è una porcata, in effetti questo crea una interdipendenza tra l'azione proporzionale e quella integrale. Se si vuole modificare esclusivamente quella proporzionale ci si deve ricordare di cambiare anche l'altra Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 (modificato) E' il tipico ragionamento di scuola tedesca. Si parte dalla definizione canonica del tempo integrale: tempo necessario all'azione integrale, ad errore costante, per eguagliare l'azione proporzionale. Un'applicazione integralistica della definizione porta a legare il tempo d'integrazione al guadagno proporzionale, uno dei metodi consiste proprio nel non integrare l'errore, ma l'errore moltiplicato per il coefficiente proporzionale. Legare le due azioni non comporta nessun beneficio pratico dal punto di vista delle prestazioni; in compenso complica di molto le operazioni di ottimizzazione die coefficienti. Io sono convinto che con questa filosofia è quasi impossibile ottenere il massimo dell'ottimizzazione, specie in un processo un po' delicato. Se questo legame ha una giustificazione, almeno teorica, nel caso dell'azione integrale, non ne esiste nessuna per l'azione derivativa. Questa è una delle ragioni che mi porta a considerare la funzione di libreria Siemens un bellissimo esempio di U.C.A.S. Modificato: 3 giugno 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
batta Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 Se è così è una porcata, però conoscendo Siemens potrebbe anche essere. in effetti questo crea una interdipendenza tra l'azione proporzionale e quella integrale. Se si vuole modificare esclusivamente quella proporzionale ci si deve ricordare di cambiare anche l'altra Non è per niente una porcata. In questo modo l'azione integrale è, ovviamente, influenzata dalla costante proporzionale. Ed è giusto che sia così. Non dimentichiamo che, per l'integrale, non si imposta una costante di integrazione, ma si imposta il tempo integrale. L'azione integrale (mantenendo costante l'errore) deve eguagliare il valore della correzione integrale nel tempo impostato. È corretto quindi che l'integrale venga calcolato dopo aver moltiplicato l'errore per il proporzionale. Se venisse calcolato prima, il tempo integrale non avrebbe più il senso che deve avere. Lo stesso discorso vale per la derivata. Questo modo di operare poi, ricalca esattamente quello che è l'algoritmo PID canonico. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 (modificato) Legare le due azioni non comporta nessun beneficio pratico dal punto di vista delle prestazioni; in compenso complica di molto le operazioni di ottimizzazione die coefficienti. Io sono convinto che con questa filosofia è quasi impossibile ottenere il massimo dell'ottimizzazione, specie in un processo un po' delicato. Sono d'accordo sul fatto che non comporti benefici sul piano delle prestazioni (ma nemmeno effetti negativi), mentre penso sia di aiuto proprio nelle operazioni di ottimizzazione. Non dimentichiamo che le funzioni PID di libreria Siemens sono adatte a processi lenti (regolazione di temperatura, pressione, portata, ecc), non per posizionamenti. Avere quindi un'idea chiara di cosa significhi impostare, per esempio, un tempo integrale di 10 secondi (piuttosto che una non meglio identificata costante di integrazione), io credo aiuti parecchio. Sul fatto poi di invertire il segno della costante proporzionale per ottenere un'azione inversa, io non ci trovo proprio nulla di concettualmente sbagliato. Modificato: 3 giugno 2013 da batta Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 (modificato) Non dimentichiamo che, per l'integrale,...... Come sia definito il tempom di integrazione, di un regolatore proporzionale-integrale, l'ho precisato nel #9 riportando la definizione canonica del tempo d'integrazione. Questo però non obbliga all'interdipendenza di questo coeffiicente dal coefficiente proporzionale. ....mentre penso sia di aiuto proprio nelle operazioni di ottimizzazione. E' come grattarsi un'orecchia tenedo ferma la mano e scuotendo la testa. E' possibile, magari suscita una piacevole curiosità negli spettatori, ma non riesco e vederne il lato pratico. Fai una variazione di un coefficiente e, contemporaneamente,ne varia anche un'altro. Si può benissimo impostare il tempo d'integrazione in modo indipendente dal guadagno proporzionale. L'impostare una costante numerica pura o un parametro espresso in secondi è indipendente dall'aver legato o meno coefficiente proporzionale e corfficiente integrale. Ho anche realizzato un PID che presentava sul visualizzatore entrambe le rappresentazioni, però si trattava di un regolatore a scopo didattico e la doppia visualizzazione serviva proprio per mostrare la dipendenza del tempo d'integrazione dal gudagno proporzionale. Proprio non capisco come possa aiutare nella messa a punto il fatto di esprimenre un parametro in secondi piuttosto che considerarlo un puro numero. Se si pensa che esprimere la costante in secondi sia d'aiuto, cosa si dovrebbe fare qualora ci si trovasse alle prese con con un regolatore analogico? Calcolarsi ogni volta la costante di tempo per ricavare la capacità corrispondente? Rimane poi l'assurdità totale di legare il coefficiente derivativo al coefficiente proprozionale, specialmente per una funzione che dovrebbe essere per impieghi generali. Lo stesso discorso vale per la derivata. No! Nel modo più assoluto. L'azione derivatva non ha proprio alcun legame con il guadagno proporzionale. Tra l'altro esiste l'impossibilità teorica di analizzare un derivatore puro, ci si limita pertanto ad un'approssimazione ingegneristica che approssimi il derivatore sino ad una certa frequenza. Se poi consideri che non appena si cerca di ottenere un po' più di prestazioni da un regolatore PID, che di per se è un regolatore molto povero e poco efficiente, l'azione derivativa classica non viene mai usata. Si varia dall'uso dell'anticipo di reazione, ad usare correzzioni derivative solo sulla parte proporzionale per rafforzarne l'azione istantanea, ad altre varianti di concetto similare. Anche il classico metodo di autotaratura, basato sulle regole di Ziegler - Nicols, non lega direttamente i tempi di integrale e di derivata al coefficiente proporzionale. Li determina in base alle oscillazioni naturali del sistema, oscillazioni dipendenti dalla caratteristiche fisiche del sistema sotto esame. Il guadagno proporzionale è solo il mezzo per giungere a misurare le oscillazioni naturali. Da anni si dice che la realizzazione delle funzioni di libreria dei PLC Siemens sia demandata a studenti stagisti; io credo che sia molto più di una diceria. Questo spiegherebbe, senza giustificarle, la somma di rigidità ed inutili giri di pista presenti in buona parte di queste funzioni. Poi ognuno è libero di aprezzare o meno certe metodologie. Modificato: 3 giugno 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
batta Inserita: 3 giugno 2013 Segnala Share Inserita: 3 giugno 2013 Si può benissimo impostare il tempo d'integrazione in modo indipendente dal guadagno proporzionale. E come? Penso siamo tutti d'accordo sul fatto che, se imposto il tempo integrale, vale quanto segue: Si parte dalla definizione canonica del tempo integrale: tempo necessario all'azione integrale, ad errore costante, per eguagliare l'azione proporzionale. Questo significa che, dopo il tempo TI, devo avere LMN_I = LMN_P. Dato che: LMN_P = ERR * KP non posso che avere che, dopo il tempo TI: LMN_I = LMN_P = ERR * KP Fai una variazione di un coefficiente e, contemporaneamente,ne varia anche un'altro. Certo, faccio una variazione di un coefficiente e, contemporaneamente, varia il comportamento del PI(D), in modo da mantenere ancora valida la definizione canonica secondo la quale il tempo integrale è il tempo necessario all'azione integrale (ad errore costante) per eguagliare l'azione integrale. E' come grattarsi un'orecchia tenedo ferma la mano e scuotendo la testa. Sarà così per te. Io preferisco sapere che valore avrà raggiunto l'azione integrale in un determinato tempo, piuttosto che sapere quale correzione verrà apportata ad ogni campionamento. Sarà questione di abitudini, ma non mi puoi dire che impostare il tempo integrale piuttosto che una costante di integrazione sia un metodo poco ortodosso. E poi, non è certo prerogativa dei PID Siemens. In tutti i regolatori PID discreti sui quali ho messo le mani io ho sempre trovato l'impostazione del tempo integrale, mai di una costante. No! Nel modo più assoluto. L'azione derivatva non ha proprio alcun legame con il guadagno proporzionale. Non c'è una relazione vincolante come nel caso dell'integrale, ma io trovo corretto che, modificando il guadagno, anche le altre azioni vengano modificate in modo proporzionale. Da anni si dice che la realizzazione delle funzioni di libreria dei PLC Siemens sia demandata a studenti stagisti; io credo che sia molto più di una diceria. Questo spiegherebbe, senza giustificarle, la somma di rigidità ed inutili giri di pista presenti in buona parte di queste funzioni. Se siano realizzate da stagisti o meno, non lo so. Però so che sono fatte bene, che funzionano bene, che sono versatili, che sembrano complicate solo a chi non le conosce. Ma questo è un discorso che abbiamo già affrontato più volte, e so che né io né tu cambieremo idea. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 (modificato) E come? Ho usato un termine sbagliato che mi è sfuggito. La frase sopra va letta come: "Si può benissimo impostare il coefficiente d'integrazione in modo indipendente dal guadagno proporzionale." La mia intenzione era anche evidente leggendo i 2 paragrafi che seguivano: L'impostare una costante numerica pura o un parametro espresso in secondi è indipendente dall'aver legato o meno coefficiente proporzionale e corfficiente integrale. Ho anche realizzato un PID che presentava sul visualizzatore entrambe le rappresentazioni, però si trattava di un regolatore a scopo didattico e la doppia visualizzazione serviva proprio per mostrare la dipendenza del tempo d'integrazione dal gudagno proporzionale. In tutti i regolatori PID discreti sui quali ho messo le mani io ho sempre trovato l'impostazione del tempo integrale, mai di una costante Vale quanto scritto sopra. ..che sono versatili, Qui ti contraddici con quanto hai affermato in un messaggio precedente, dove affermi che il regolatore PID di libreria è fatto per regolare processi lenti come le termiregolazioni. Un regolatore versatile si adatta a processi lenti ed a processi veloci. che sembrano complicate solo a chi non le conosce. Oltre ad essere di non immediata usabilità le funzioni di libreria, in genere, spesso contengono complicazioni fine a se stesse. Una funzione PID molto versatile necessita,oltre al tempo di campionamento, di non più di 5 parametri, 4 limiti e due comandi. Ma stiamo parlando di una funzione molto versatile. e so che né io né tu cambieremo idea. No io potrei cambiare idea se Siemens cambiasse la sua filosofia. Modificato: 4 giugno 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
batta Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 Qui ti contraddici con quanto hai affermato in un messaggio precedente, dove affermi che il regolatore PID di libreria è fatto per regolare processi lenti come le termiregolazioni. Un regolatore versatile si adatta a processi lenti ed a processi veloci. Oltre ad essere di non immediata usabilità le funzioni di libreria, in genere, spesso contengono complicazioni fine a se stesse. Una funzione PID molto versatile necessita,oltre al tempo di campionamento, di non più di 5 parametri, 4 limiti e due comandi. Ma stiamo parlando di una funzione molto versatile. Il PID Siemens non sarà l'ideale per gestire posizionamenti con tempi di campionamento sotto ai 10 ms, ma va benissimo in tutti gli altri casi. Per applicazioni spinte, penso sia normale che una funzione tagliata su misura per l'applicazione stessa sia più performante. In ogni caso, io ho usato la funzione PID anche per controlli con campionamenti a 20 ms, con esito molto positivo. Per quanto riguarda la versatilità comunque, io mi riferivo soprattutto al fatto che ci sono funzioni già pronte per attuatori con segnale analogico, per comando in pwm, per comando di attuatori motorizzati. Inoltre, sempre sul piano della versatilità, alla stessa funzione puoi decidere di collegare direttamente il canale analogico (sia in ingresso che in uscita) e far fare la normalizzazione delle grandezze alla funzione, oppure puoi usare valori già normalizzati. I parametri da impostare poi, sono i classici di una funzione PID. Non ci sono parametri in più messi lì per complicare la vita. Quelli apparentemente in più sono solo per l'eventuale normalizzazione. Quello che segue è lo schema a blocchi della funzione PID FB41 (la più usata). In più rispetto ad una funzione PID "tradizionale", ci sono solo le normalizzazioni dei valori in ingresso e in uscita. Queste normalizzazioni, se non ti servono, non le usi (e quindi non ti complicano la vita e non impegnano nemmeno la cpu, perché vengono saltate), mentre se ti servono, diventano un pratico aiuto. Mi è capitato recentemente di mettere le mani su un programma dove al richiamo delle funzioni PID ad ogni parametro era collegata la corrispondente variabile del DB di istanza. Probabilmente chi ha sviluppato questo programma pensa anche lui che la funzione PID Siemens sia molto complicata. Ma la verità, invece, è che, probabilmente per scarsa conoscenza del mondo Siemens, è stato il programmatore stesso ad inserire inutili complicazioni. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 (modificato) Senza disegnare schemi a blocchi, un regolatore PID normale per impieghi generali, e quando parlo di impieghi generali si va da un controllo di velocità ad un controllo di temperatura, necessita dei seguenti comandi: Abilita-disabilita PID reset integrale Dei seguenti parametri: Coefficiente proporzionale Coefficiente integrale Coefficiente derivativo limite integrale limite drivativo banda morta ponendo a 0 i coefficienti si escludono le azioni relative. Il limite totale, effettuato sulla somma delle componenti, è automatico sull'uscita. La scelta del periodo di campionamento non è parte della funzione, ma è parte del sistema. La funzione necessita di 2 valori di ingresso: reazione e riferimento; rende un valore in uscita: la correzione. Personalmente inserisco sempre anche una seconda uscita: il valore dell'integrale. Per me è utilissimo sia in fase di verifica impianto, sia perchè permette di sfruttarlo per rendere più pèerformante il regolatore implementando regolazioni aggiuntive esterne. Ho usato regolatori PID di questo tipo con svariati tipi di supporto Hw: schede micro dedidcate, PLC (anche siemens S7-200 e S7-300) e, orribile a dirsi da parte mia, anche PC. Il regolatore è sempre lo stesso indipendentemente dallo Hw usato; purtroppo non potendo scrivere in "C" per i PLC son stato costretto a tradurre manualmente la funzione. Questo è, secondo me, cosa deve vedere l'utilizzatore di un regolatore PID universale. Modificato: 4 giugno 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
batta Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 Questo è, secondo me, cosa deve vedere l'utilizzatore di un regolatore PID universale. Nel PID Siemens c'è qualcosa in più (quindi potrebbe essere ancora più universale ). Ma la cosa importante è che questo qualcosa in più non lo si deve usare per forza. Le cose che non mi servono non faccio altro che ignorarle completamente durante la programmazione, quindi non complicano nulla. Vediamo cosa c'è in più. In ingresso: Commutazione in manuale (anziché gestire esternamente eventuale valore manuale da assegnare all'uscita, si può sfruttare la funzione già implementata). Interruttori per abilitare/disabilitare P, I e D. Certo, si potrebbe fare in automatico impostando a zero il relativo parametro, ma non la vedo una complicazione. Anche perché, se non ho bisogno di modificare le abilitazioni durante il funzionamento, mi basta scrivere un TRUE o un FALSE sul relativo ingresso. Se, invece, devo abilitare/disabilitare le componenti durante il funzionamento, agire su una variabile booleana senza modificare il parametro GAIN, TI o TD, è un aiuto e non una complicazione. Per l'integrale, oltre al reset c'è anche la possibilità di congelarlo. Tempo di campionamento. Si deve passare come parametro (o scriverlo direttamente nel DB di istanza) per far sapere alla funzione ogni quanto tempo viene richiamata, in modo che possa calcolare in modo corretto integrale e derivata. Possibilità di passare la variabile di processo con valore normalizzato o collegando direttamente il canale analogico e facendo fare la normalizzazione alla funzione PID. Io generalmente preferisco usare il valore già normalizzato, quindi non faccio altro che ignorare i parametri che non mi servono. Complicazione in più = zero. Impostazione parametro TM_LAG che agisce sul ritardo della componente D (io l'ho usato molto raramente). Variabile di disturbo. In uscita: Possibilità di collegare direttamente il canale analogico, attivando ed impostando i parametri per la scalatura. Variabili booleane che indicano se sono stati raggiunti i limiti di regolazione. Valore componente proporzionale, integrale e derivativa. Valore effettivo (dopo la normalizzazione se utilizzata) della variabile di processo Valore dell'errore Non mi stancherò mai di ripetere che le cose in più non devono essere usate per forza. Se non si usano, non si imposta nulla e non complicano la vita a nessuno. Se decido di usarle è perché mi forniscono un aiuto. E, se mi sono di aiuto, non sono certo una complicazione. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 Visto che in natura non esistono pasti gratis tutto ha un costo, in questo caso in codice e risorse CPU. Inoltre dal mio punto di vista son tutte masturbazioni mentali senza alcuna utilità pratica. Non solo non hanno utilità pratica, ma non estendono ne la versatilità ne il campo applicativo del regolatore. Io, nel lavoro, sono estremamente pragmatico. In un impianto ci deve essere solo quello che è necessario, niente di più e niente di meno. Un ultima cosa sui tempi di integrale e derivata. A cosa serve sapere che il tempo di integrazione vale esattamente, p.e., 23.5 ms piuttosto che 25 o 22? Nulla a meno di essere in grado di calcolare esattamente a tavolino le costanti reali del regolatore. Se c'è qualcuno che pretende, dato un qualsiasi impianto reale, di poter calcolare esattamente queste costanti o mente sapendo di mentire o non sa cosa sta facendo. Per qaunto concerne poi il tempo di derivata in pratica....non esiste. Infatti come ho scritto nel #12 c'è l'impossibilità teorica di analizzare un derivatore puro; si può solo approssimare questo derivatore entro certi limiti di frequenza. Quando si parla di regolatori sul campo bisogna sempre scindere la teoria accademica dal caso pratico. Nella pratica corrente assegnare una costante d'integrazione in luogo di un tempo non ha nessun effetto pratico. L'unica cosa che ha effetti pratici è la corretta ottimizzazione dle regolatore. Avere un regolatore che permette di ottimizzare i parametri in modo tra loro indipendente è molto più versatile e, soprattutto, molto più pratico. Con questo chiudo perchè, caro Batta, sappiamo entrambi che rimarremo sulle nostre posizioni; quindi rischiamo di attorcigliarci in una spirale perversa, magari per il puro piacere intellettuale di dibattere e confrontare idee diverse. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 4 giugno 2013 Segnala Share Inserita: 4 giugno 2013 Visto che in natura non esistono pasti gratis tutto ha un costo, in questo caso in codice e risorse CPU. Non è per avere l'ultima parola, ma non posso non correggere quella che, in questo caso, è una inesattezza. Prima di tutto si deve considerare che le operazioni relative alle funzioni disabilitate vengono letteralmente saltate, quindi non c'è impiego inutile della cpu. C'è solo un po' di occupazione in più nella memoria di lavoro ma, considerando che anche se richiamo 100 PID la funzione occupa spazio in memoria una sola volta, questo "spreco" è decisamente trascurabile. Inoltre se, per esempio, faccio fare la normalizzazione alla funzione PID, significa che non la faccio da un'altra parte. Ecco che non c'è quindi spreco di risorse. Avere un regolatore che permette di ottimizzare i parametri in modo tra loro indipendente è molto più versatile e, soprattutto, molto più pratico. Questa è una tua opinione personale che io non condivido. O, almeno, non ci vedo grande differenza. L'importante è solo conoscere come lavora la funzione, e a quali conseguenze porti la modifica di un parametro. E sembra che siano in molti a preferire l'impostazione del tempo integrale (quindi con azione integrale vincolata alla costante proporzionale) piuttosto che di un fattore di integrazione, visto che è questo il modo di operare della stragrande maggioranza dei regolatori presenti sul mercato. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 (modificato) che le operazioni relative alle funzioni disabilitate vengono letteralmente saltate, quindi non c'è impiego inutile della cpu. Se proprio vogliamo essere esatti sino in fondo, non è completamente vero: il test va comunque fatto. Sarà poca cosa, ma comunque c'è. Anche la normalizzazione dell'uscita non sempre è necessaria quindi, a mio parere, sarebbe più corretto che non fosse inserita nella funzione. E sembra che siano in molti a preferire l'impostazione del tempo integrale (quindi con azione integrale vincolata alla costante proporzionale) piuttosto che di un fattore di integrazione, visto che è questo il modo di operare della stragrande maggioranza dei regolatori presenti sul mercato. Questa è una tua inesattezza. Si può impostare un tempo d'integrazione, invece che un numero puro, senza avere l'automatica variazione del parametro in caso di variazione del guadagno proporzionale, cambia solo il valore visualizzato. Spiego con un esempio. Se kp è il guadagno proporzionale ti = kp*ki. Qunando vai a variare manualmente, per impostarlo, ti il sistema calcola ki in base all'attuale valore di kp; quando vari kp il sistema visualizza un nuovo valore di ti, ma ki rimane invariato. Questa è un'azione corretta. COmunque rimango sempre dell'opinione che esprimere il coefficiente integrale come tempo d'integrazione è una pura masturbazione mentale fine a se stessa, senza alcun beneficio pratico, come mettere i trattini alle "gambette" dei "7". In quanto alla "stragrande maggioranza" non credo sia esatto, ritengo che sia solo una tua impressione basata sulla tua esperienza personale e non su di un'analisi, molto laboriosa e difficoltosa, della vera situazione reale. Tanto per intenderci, se si analizzano i regolatori di scuola USA e giapponese è difficile, ma oserei dire impossibile, incontrare un'architettura simile a quella di Siemens. Modificato: 5 giugno 2013 da Livio Orsini Corretti errori di dattilografia. Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 I plc Rockwell che sono i più diffusi in Usa e nelle aree industrialmente sotto la loro influenza offrono col Logix500 il pid con guadagno indipendente mentre per il Logix 5000 propongono il Pid nelle due versioni Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 C'è un dato apparentemente trascurabile ma molto significativo: nel regolatore dello RS500 l'integrale viene denominato "reset", secondo la classica filosofia USA, che considera appunto l'azione integrale come l'azzeratore dell'errore. Nel regolatore dello RS5000, la duplice strategia sembra proprio una concessione alla filosofia di una certa scuola europea, probabilemnte per cercare di acquisire clientela abituata ad un certo modo di operare. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 Nei vecchi PLC Texas Instruments (poi diventati Simatic TI), la costante di integrazione viene calcolata come segue: Se Kc <> 0 --> Ki = Kc * (Ts / Ti) Se Kc = 0 --> Ki = Ts / Ti Quindi, se modifico il proporzionale, modifico anche l'azione integrale. E stiamo parlando di una macchina che più americana di così è impossibile. E questo modo di gestire l'integrale personalmente l'ho sempre trovato non solo nei PLC Texas e Siemens (come operano PLC Omron, Telemecanique, Klocker Moeller ed altri usati in passato onestamente non me lo ricordo), ma anche nei termoregolatori Honeywell, Ascon, Eurotherm ed altri. Non escludo certo che ci siano anche regolatori che modificano in automatico il tempo integrale se cambio il proporzionale, ma io non ne ho mai incontrati e, aggiungo, mi sembrerebbe una gran porcata. Poi, sarà pure un caso, ma nel PID del Logix5000 sotto a "Dependent Gains" si legge "ISA Standard". Ora, senza approfondire cosa sia questo standard ISA, il fatto che ci sia la parola standard, sommato al fatto che anche gli americanissimi PLC Texas adottano lo stesso sistema, mi fa pensare che il PID con integrale legato al proporzionale non sia un'astrusa invenzione tedesca. Anzi, sembra proprio che sia il modo di operare più usato. Ma, indipendentemente dal fatto che sia o meno il più usato, è comunque un metodo normalissimo, e non concepito da inutili masturbazioni cerebrali. Per curiosità sono andato a controllare sul manuale coma lavora il PID dell'S7-200 che, pur essendo Siemens, è un PLC di scuola assolutamente americana. Ebbene, l'integrale viene calcolato come segue: MIn = Kc * Ts / Ti * (SPn - PVn) + MX Dove MX è pari a MIn al precedente campionamento, e gli altri termini mi pare non abbiano bisogno di spiegazioni. Per me, come ho già detto, i due sistemi sono esattamente equivalenti. L'importante è solo sapere come lavorano, e cosa la variazione di un parametro comporti. Del resto, è molto semplice fare in modo che i due sistemi si comportino alla stesa maniera. Nel PID con integrale legato al proporzionale, se raddoppio il proporzionale e voglio mantenere invariata l'azione integrale, raddoppio anche il tempo integrale. Nel PID con integrale indipendente dal proporzionale, se raddoppiando il proporzionale desidero raddoppiare anche l'azione dell'integrale, raddoppio pure la costante di integrazione. Insomma, abbiamo riempito due pagine del forum per un problema che non è un problema. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 Nei vecchi PLC Texas.... .Ma, se lo dici tu sarà vero, io però non me lo ricordo. Sarà la vecchia..... ..controllare sul manuale coma lavora il PID dell'S7-200... Nella prima versione, quella con microwin sotto dos, ma forse anche nella seconda versione, non c'era PID di libreria. Anzi credo proprio che non sia comparso se non dalla serie S7-22x. Che non ci fosse nella prima versione ne sono sicuro perchè la prima funzione della mia personale libreria è stata proprio un PI. Poi anche il 200 ha cominciato a perdere le caratteristiche TI per diventare sempre più Siemens, cosa non solo comprensibile ma giusta, essendo un prodotto siemens. Non escludo certo che ci siano anche regolatori che modificano in automatico il tempo integrale se cambio il proporzionale, ma io non ne ho mai incontrati e, aggiungo, mi sembrerebbe una gran porcata. E perchè mai? E' proprio in linea con la definizione canonica del tempo d'integrazione. Se raddoppio il guadagno proprozionale e lascio immutata la costante d'integrazione, il tempo d'integrazione raddoppia. Però è tutto puramente teorico e convenzionale, come la definizione. Se pensi all'effetto fisico dell'integrale ti rendi conto che proprio non ha alcun legame con il guadagno proporzionale e che la definizione di tempo d'integrazione è puramente convenzionale. Quando maI l'errore è costante? Solo se non c'è correzione o se c'è un'azione uguale e cotraria alla correzione, ma qui si entra nel campo delle anomalie. L'azione integrale ha 2 scopi: annullare l'errore e dare stabilità inserendo un ritardo di fase. L'annullamento dell'errore si può ottenere anche con sitemi differenti, anzi nelle mie regolazioni l'integrale è normalemente scarico perchè aggiorno continuamente il feed forward. La stabilità dovrebbe essere raggiunta sempre senza l'introduzione dell'integrale, almeno si si vogliono ottenere buone prestazioni dinamiche. Insomma, abbiamo riempito due pagine del forum per un problema che non è un problema. Non proprio. Quando cerchi l'ottimizzazione limite per un processo molto "tirato" avere l'indipendenza della costante d'integrazione dal guadagno proporzionale ti facilita non poco nella ricerca dei limiti. Non parliamo poi della dipendenza della costante di derivazione, li c'è veramente da rischiare ....un attacco di depressione. Ovviamente mi riferisco a casi in cui le condizioni son spinte al limite, non condizioni tranquille dove quasi non è necessario effettuare l'ottimizzazione. Chiaramente se le tue principali esperienze si basano principalmente sui controlli di temperatura non percepisci il problema. Però attenzione, anche nei controlli di temperatura ci sono situazioni non troppo tranquille, anzi. Meno di dieci anni fa mi venne richiesto un controllo di temperatura "spinto" perchè con un normale PID le oscillazioni erano troppo ampie. Si trattava di un "attrezzo" a bassa inerzia che subiva continui raffeddamenti da "disturbi". Link al commento Condividi su altri siti More sharing options...
batta Inserita: 5 giugno 2013 Segnala Share Inserita: 5 giugno 2013 Ma, se lo dici tu sarà vero, io però non me lo ricordo. Sarà la vecchia..... Non è fonte dei miei ricordi, ma del manuale. Con i PLC Texas (CPU 545) in passato ho fatto molte termoregolazioni, soprattutto sugli elementi stampa di macchine rotocalco. Si tratta di termoregolazioni non facili, perché le condizioni di lavoro di un elemento stampa cambiano moltissimo non solo da una tiratura all'altra, ma anche dopo un cambio bobina. Ci si può trovare, per esempio, con un elemento stampa che richiede una temperatura di meno di 40 °C, che magari ha poco inchiostro, e quindi le serrande di aspirazione sono quasi chiuse perché c'è poco solvente, alle condizioni esattamente opposte: temperatura oltre i 100 °C e serrande di aspirazione spalancate. In questi sistemi, è sempre molto importante non solo la stabilità della temperatura (gli operatori sostengono che differenze di 1-2 °C si vedono sulla stampa), ma anche raggiungere (e mantenere in modo stabile) il set point nel minor tempo possibile, dato che, con macchine che stampano 60 mila e più copie/ora (parlo degli anni '90) perdere 5 minuti vuol dire fare 5000 copie di scarto. Ovviamente, non si può pretendere che l'operatore ottimizzi ogni volta i loop (così erano chiamati i PID nel Texas). Alla fine ho risolto il problema calcolando il guadagno in base alle condizioni di lavoro. Ma non ho mai modificato il tempo integrale. 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. 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 Io non metto assolutamente in dubbio che in un PID di controllo di un asse sia più comodo svincolare il tempo integrale dal guadagno, ma non credo che questo valga anche per controlli di temperatura (o di pressione, di portata, e molti altri). 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