damitisi Inserito: 26 aprile 2013 Segnala Share Inserito: 26 aprile 2013 Buongiorno a tutti, Sto cercando di utilizzare un PID per regolare un uscita 0-10V con ingresso PT100. Ho impostato la PT100 con su ingresso INPUT_PER mettendo come valori -2000 e +6600 e mettendola in scala -200 e +660. Sto provando il tutto in temp ambiente e quando ottimizzo mi legge in ingresso il valore esatto ma l'ottimizzazione non ha mai fine anche se non mi da valori di errore. Questo utilizzo mi serve per controllare un motore da 5KW con un inverter 0_10V tramite sonda PT100. Con setpoint temp 20 se la pt100 legge temp 10 i giri del motore aumentano e cosi' via fino a setpoint temp 20 e pt100= temp 20 il motore si ferma. Sapete dirmi se si puo' fare anche l' incontrario cioe' setpoint temp 20 e pt100 temp 30 aumentano i giri del motore e cosi via fino a 20=20 motore fermo. Grazie a tutti. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 aprile 2013 Segnala Share Inserita: 27 aprile 2013 (modificato) Sto provando il tutto in temp ambiente e quando ottimizzo mi legge in ingresso il valore esatto ma l'ottimizzazione non ha mai fine anche se non mi da valori di errore. Ma il sistema è funzionante e completo, con apparecchiature in campo collegate, o stai facendo prove ma senza avere un feedback reale dal campo? L'ottimizzazione può andare a buo fine solo se il sistema risponde ai comandi in modo corretto. Sapete dirmi se si puo' fare anche l' incontrario Nella maschera di confugurazione del PID, in "Impostazioni di base" --> "Modo di regolazione" puoi scegliere di invertire il modo di regolazione. Oppure puoi impostare TRUE la variabile "Nome_DB_PID".sPid_Cmpt.b_InvCtrl Se il tuo impianto prevede una regolazione inversa e tu hai lasciato il PID su regolazione diretta (impostazione di default), l'ottimizzazione non potrà mai andare a buon fine. Modificato: 27 aprile 2013 da batta Link al commento Condividi su altri siti More sharing options...
Adelino Rossi Inserita: 27 aprile 2013 Segnala Share Inserita: 27 aprile 2013 mettendola in scala -200 e +660. se questo è il campo scala in centigradi, mi sembrano valori poco realistici o sbaglio. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 aprile 2013 Segnala Share Inserita: 27 aprile 2013 se questo è il campo scala in centigradi, mi sembrano valori poco realistici o sbaglio. No, vanno bene. Il campo di misura di un modulo per RTD, configurato per PT100 standard, va da -200.0 a +850.0 °C. Questi almeno sono i limiti per il modulo 6ES7 231-5PD30-0XB0. Sapere che modulo stia usando "Damitisi" non sarebbe male ma, purtroppo, il vizio di non fornire mai tutti i dati è molto diffuso. Sul canale comunque, indipendentemente dal modulo, si legge direttamente la temperatura in decimi di grado centigrado. Aver fatto la scalatura dell'ingresso analogico con limiti -2000..+6600 che diventano -200..+660 è quindi corretto. Restringe un po' il campo (tagliando una parte non utilizzata), ma la linearità rimane. Si potrebbe anche convertire la temperatura da decimi di grado a gradi e poi collegarla all'ingresso INPUT anziché INPUT_PER, ma il risultato sarebbe lo stesso. Link al commento Condividi su altri siti More sharing options...
damitisi Inserita: 29 aprile 2013 Autore Segnala Share Inserita: 29 aprile 2013 Grazie per le risposte in anticipo, L' applicazione che devo fare e' reale, il punto e che le sonde sono a 6mt di distanza e la temperatura non cambia in breve tempo. Premetto che non sono un esperto di pid anche se prima di fare questa applicazione ho letto molte discussioni utilissime come quelle di batta,giuseppe,orsini e anche di altri le quali mi sono state importantissime. Purtroppo non ho abbastanza esperienza per capirle completamente e devo fare ancora delle prove anche se per la mia applicazione mi e' stato sufficente andare nelle immissioni manuali dei dati e cambiare i valori di campionamento ad 1 sec. e ho cambiato anche gli altri valori a seconda di quello che mi consigliava la guida s7. Per l'utilizzo che devo fare sono riuscito ad impostarlo a. seconda delle esigenze e come dici te batta ho invertito la sua regolazione spuntando l' icona in questione. Ho notato che durante il funzionamento i due pid con le stesse regolazioni e temperature danno risposte non sempre perfettamente uguali, da cosa puo' dipendere? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 30 aprile 2013 Segnala Share Inserita: 30 aprile 2013 L' applicazione che devo fare e' reale, il punto e che le sonde sono a 6mt di distanza e la temperatura non cambia in breve tempo. L'applicazione è reale, ma tu stai lavorando sull'impianto o stai facendo simulazioni, modificando manualmente, per esempio, le variabili di processo? Le sonde sono a 6 metri di distanza da cosa? La temperatura dici che non cambia in tempo breve. Ma "breve" è un termine molto soggettivo. Cerca di quantificare in modo oggettivo con che rapidità e con che ritardo varia la temperatura al variare del comando dell'attuatore. Fai sapere anche con che parametri (proporzionale, tempo integrale e tempo derivata) sta lavorando il PID. e cambiare i valori di campionamento ad 1 sec. Hai impostato il tempo di campionamento ad 1 secondo, ma in che modo e con quale frequenza richiami la funzione PID? Ho notato che durante il funzionamento i due pid con le stesse regolazioni e temperature danno risposte non sempre perfettamente uguali, da cosa puo' dipendere? Ma cosa intendi con: "due pid con le stesse regolazioni e temperature"? Se sono due PID con gli stessi parametri e che lavorano con la stessa variabile di processo ed agiscono sullo stesso attuatore (situazione possibile solo se stai simulando), allora si devono comportare allo stesso identico modo. Se sono due PID con gli stessi parametri, ma con variabili di processo derivanti da due diverse sonde, e che comandano due diversi attuatori, anche se sono su due macchine (o parti di macchina) gemelle, se si comportassero esattamente allo stesso modo mi meraviglierei molto. Link al commento Condividi su altri siti More sharing options...
damitisi Inserita: 30 aprile 2013 Autore Segnala Share Inserita: 30 aprile 2013 Attualmente sto provando a banco le sonde riscaldandole a mano, ci sono due ambienti diversi di grandezza ma entrambi con un motore che incanala l'aria regolata da una valvola tre vie per riscaldarla o rafreddarla a seconda della temp impostata. Mi sono state fornite le centrali per la temperatura dell' aria ma la variazione di velodita'dei motori la devo fare con il 1200 sonde e inverter. Ho quattro pid (due risc. e due raffreddamento) con due pt100 in ambienti diversi e sono distanti dai punti di uscita dell' aria 6 mt in entrambe le zone. I parametri pid che ho messo sono sui parametri manuali del pid compact : GUADAGNO PROPORZ. 1.0 TEMPO D' INTEGRAZIONE 1.0 TEMPO DERIVATO 0.5 COEFFICENTE RITARDO DERIVATO 0.5 COMPONENTE P 1.0 COMPONENTE D 1.0 TEMPO CAMPIONAMENTO PID 1.0 STRUTTURA DEL REGOLAZIONE PID valore istantaneo -2000 6600 in scala -220 660 Con questi parametri ho visti miglioramenti nel senso che è piu' reattivo anche se ho dovuto fare delle prove piu' intuitive che di conoscenza teorica. Dalla tua risposta Batta pensavo che due pid regolati con gli stessi parametri dovessero dare a temperature uguali gli stessi valori invece mi sembra di aver capito che non ' cosi'. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 2 maggio 2013 Segnala Share Inserita: 2 maggio 2013 (modificato) Attualmente sto provando a banco le sonde riscaldandole a mano E quindi, visto che la variazione della variabile di processo non è quella derivante dalla modulazione fatta dal PID, non puoi certo pretendere che l'ottimizzazione possa funzionare. Non dici con che velocità e con quale ritardo rispetto al comando varia la temperatura (del resto, fino a quando non sarai realmente sull'impianto non lo puoi sapere) ma, sicuramente, per un controllo di temperatura, un tempo integrale di 1 secondo è troppo piccolo. Io partirei da un minimo di 20 secondi. Il proporzionale invece ritengo possa essere troppo basso. Costante proporzionale = 1.0 significa che, per avere una correzione proporzionale del 100%, devi avere una differenza di temperatura tra set point e variabile di processo di 100 °C. Potresti provare a partire con proporzionale = 4.0. Senza conoscere il tuo sistema queste sono indicazioni dettate più da una mia sensazione che da motivazioni tecniche, e potrebbero rivelarsi anche molto sbagliate. Poi escluderei il controllo derivativo. Solo dopo che avrai trovato dei valori di proporzionale e di tempo integrale corretti potrai provare, a piccoli passi, ad inserire anche un po' di derivata. Potrebbe anche succedere che, abilitando il controllo derivativo, le prestazioni del PID anziché migliorare peggiorino. Oppure, in fase di collaudo, potrai provare se l'ottimizzazione automatica riuscirà ad impostare correttamente i parametri del PID. Personalmente non nutro particolare simpatia per queste ottimizzazioni. Io le considero, caso mai, un discreto punto di partenza, che richiede poi un aggiustamento manuale, per il quale serve però un po' esperienza. Dalla tua risposta Batta pensavo che due pid regolati con gli stessi parametri dovessero dare a temperature uguali gli stessi valori invece mi sembra di aver capito che non ' cosi'. Il comportamento di un PID è strettamente legato alla risposta del sistema che il PID deve controllare. Modificato: 2 maggio 2013 da batta Link al commento Condividi su altri siti More sharing options...
damitisi Inserita: 2 maggio 2013 Autore Segnala Share Inserita: 2 maggio 2013 vuoi dire che con coefficente proporzionale 4 la differenza tra setpoint e valore istantaneo deve essere 40%? secondo allora sarebbe meglio montare il tutto e ottimizzare sul posto? quando il pid ottimizza genera dei valori suoi di ingresso questo te lo chiedo perche' hai scritto che non lasciato al pid ottimizzare con variabili sue . un modo per capire piu' a fondo il pid quale potrebbe essere? grazie Link al commento Condividi su altri siti More sharing options...
batta Inserita: 2 maggio 2013 Segnala Share Inserita: 2 maggio 2013 vuoi dire che con coefficente proporzionale 4 la differenza tra setpoint e valore istantaneo deve essere 40%? No, significa che con un errore di 25 °C, la correzione proporzionale è pari al 100%. secondo allora sarebbe meglio montare il tutto e ottimizzare sul posto? Un PID va SEMPRE messo in servizio sul posto. È assolutamente impossibile impostare i parametri corretti in ufficio. Con un po' di esperienza si potranno impostare parametri con i quali il PID riesce a lavorare in modo approssimativo. La messa a punto, sia che tu decida di utilizzare la funzione automatica di ottimizzazione, sia che tu decida di procedere manualmente, deve essere fatta sul posto, con impianto in funzione. Non c'è altro modo. O meglio, a livello teorico un modo ci sarebbe: dovresti avere un modello esatto dell'impianto da dare in pasto ad un simulatore. Ma creare questo modello richiederebbe molta più fatica di quella necessaria per trovare i parametri corretti del PID. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 maggio 2013 Segnala Share Inserita: 3 maggio 2013 damitisi forse ti risukterebbe tutto più semplice se conoscessi meglio il funzionamento di un regolatore di tipo PID. In rete trovi parecchio materiale a tutti i livelli. Se vuoi c'è anche il mio tutorial nella sezione didattica. Il primo capitolo è dedicato proprio alla conoscenza di base di unregolatore PID, a come funziona, quale deve essere l'approccio per la sua corretta ottimizzazione. Che si usi un PID analogico, digitale dedicato o digitale di libreria, come nel tuo caso, la base di funzionamento e taratura è praticamente identica. 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