Spand Inserito: 1 luglio 2016 Segnala Share Inserito: 1 luglio 2016 Salve, Sono un programmatore di macchine e non di impianti, ma mi è stato chiesto di gestire un impianto di refrigerazione con un plc, credo che la questione sia abbastaza semplice ma non vorrei sottovalutarla troppo. Ho una cisterna con mosto che deve essere mantenuto ad una temperatura stabile durante la fermentazione, il cliente decide il set point di temperatura con il range +/-, devo mantenere la temperatura stabile aprendo e chiudendo (digitale 0-1) una valvola che fa circolare il liquido refrigerante intorno, all'interno ho una sola sonda di temperatura. Dalla vostra esperienza come faccio a capire se è meglio inserire un pid o se basta una gestioe ON/OFF rispetto al range inpostato? Link al commento Condividi su altri siti More sharing options...
NoNickName Inserita: 1 luglio 2016 Segnala Share Inserita: 1 luglio 2016 In questo caso è meglio il PI o PID perchè hai una inerzia termica molto elevata che dipende dal volume di mosto, quindi una risposta del sistema molto sfasata rispetto all'azione. Link al commento Condividi su altri siti More sharing options...
Blackice Inserita: 1 luglio 2016 Segnala Share Inserita: 1 luglio 2016 Quelli che ho visto io sinora lavorano con semplici termostati elettronici 32X74 in modalità cool(refrigerazione) con controllo on/off della E.V. del refrigerante. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 1 luglio 2016 Segnala Share Inserita: 1 luglio 2016 Tutto dipende dalla precisione necessaria al processo. In linea di principio un sistema simile si regola meglio se si usa un modello in modo da avere un predittore. Però se il sistema tollera tranqullamente una certa percentuale di oscillazione va benissimo anche un on-off come suggerisce Blackice. Link al commento Condividi su altri siti More sharing options...
Spand Inserita: 1 luglio 2016 Autore Segnala Share Inserita: 1 luglio 2016 Grazie a tutti per la risposta, partiro con ON/OFF ma vorrei tenermi pronto con il pid se nececcario, mi è stato chiesto di realizzare l'automazione con un PLC schenider mod. TM221ME16T, sapete dirmi se ci sono limitazioni al numero di PID che posso inserire? non sò bene come sia la programmazione di questo PLC, dove posso trovare maggiori info e qualche esempio per realizare l'anello? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 2 luglio 2016 Segnala Share Inserita: 2 luglio 2016 Se non ne hai mai realizzati è meglio che usi quelli di libreria che oramai tutti i PLC hanno. Comunque se vai allasezione didattica, il link è nella mia firma, sottosezione elettrotecnica, trovi il mio tutorial sulle regolazioni. E' scritto con un approccio eminentemente pratico e trovi alcuni esempi di PID scritti in pseudo "C". Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 3 luglio 2016 Segnala Share Inserita: 3 luglio 2016 se guardi gli FB di regolazione pid nel TIA portal o Step 7 troverai dei blocchetti che funzionano anche bene. Li uso spesso senza troppi problemi . Altrimenti uso un PI scritto da me in SCL con uscita analogica e duty cycle ingegnerizzato . Il K proporzionale dovrebbe essere negativo se fai dei raffreddamenti Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 3 luglio 2016 Segnala Share Inserita: 3 luglio 2016 questo l'ho scritto io , c'e' anche l'uscita PWM , è un regolatore P.I. Livio , se inizi a rompere le palline perchè l'ho scritto in inglese lo tolgo e per colpa tua molti utenti non potranno usufruire di questo mio lavoro FUNCTION_BLOCK FB80 // Digital regulator P.I.D. Written by Walter P. 05/06/2009 VAR_INPUT Set_Point:REAL ; // Set point value Feedback:REAL ; // Feedback value process Kp:REAL; // K Proportional gain Ki:REAL; // K Integral gain Max_Analog:REAL; // Maximum value for analog output Max_Time_Cycle:REAL; // Maximum time cycle for PWM digital output (milliseconds) Scan_Time:REAL; // Scanning time of the plc Time_Sample:REAL; // Time sample in OB35 Enable:BOOL; // Enable PWM digital P.I.D. Reset:BOOL; // Reset regulator END_VAR LABEL salto; end_label VAR_IN_OUT END_VAR VAR_OUTPUT Out_Analog_Reg:REAL ; // Output analog regulation Duty_Cycle_Perc:REAL; // Duty cycle On percentage Wave_On_PWM:BOOL; // Output high wave On of digital PWM Wave_Off_PWM:BOOL; // Output low wave On of digital PWM END_VAR VAR_TEMP END_VAR VAR Error:REAL ; // Error for each scan I_Ist:REAL; // Istant I:REAL ; // Integral memory P:REAL; // Proportional component Accu_Timer:REAL; // Timer Accumulator for the duty cycle PWM Thr_Wave_On:REAL; // Threshold for the wave ON Thr_Wave_Off:REAL; // Threshold for the wave OFF Wave_On:BOOL; // Wave On Wave_Off:BOOL; // Wave Off END_VAR BEGIN Error:=Set_Point - Feedback ; P:=Error * Kp * 1000.0 ; I_Ist:=Error * Ki; I:=I + I_Ist ; IF I <= 0.0 THEN I:=0.0; END_IF; IF I >= Max_Analog*0.8 THEN I:=Max_Analog*0.8; END_IF ; IF Enable=true THEN Out_Analog_Reg:=P + I ; END_IF; IF Reset THEN P:=0.0; I:=0.0; I_Ist:=0.0; Out_Analog_Reg:=0.0; Wave_On:=false; Wave_Off:=false; Accu_Timer:=0.0; END_IF; IF Out_Analog_Reg >= Max_Analog THEN Out_Analog_Reg:=Max_Analog;END_IF; IF Out_Analog_Reg <= 0.0 THEN Out_Analog_Reg:=0.0; END_IF; // STATE OF ENDED MACHINE TO GENERATE THE WAVE SQUARED ON AND OFF OF THE PWM Thr_Wave_On:= (Max_Time_Cycle / Max_Analog) * Out_Analog_Reg; Thr_Wave_Off:=Max_Analog - Thr_Wave_On; IF Accu_Timer=0.0 AND Enable THEN Wave_On:=true; Wave_Off:=false; END_IF; IF Wave_On=true THEN Accu_Timer:=Accu_Timer + Time_Sample; Duty_Cycle_Perc:=(Thr_Wave_On / Max_Time_Cycle) * 100.0; IF Accu_Timer >= Thr_Wave_On THEN Wave_On:=false; Wave_Off:=true; END_IF; END_IF; IF Wave_Off=true THEN Accu_Timer:=Accu_Timer + Time_Sample; IF Accu_Timer >= Max_Time_Cycle THEN Wave_Off:=false; Accu_Timer:=0.0; GOTO salto ; END_IF; END_IF; salto: Wave_On_PWM:= Wave_On AND Thr_Wave_On>= 1000.0; Wave_Off_PWM:=Wave_Off ; ; END_FUNCTION_BLOCK Studiatevelo bene e non fate domande assurde perchè non ho tempo per rispondere . Traetene informazioni e magari imparate a lavorare seriamente perchè l'automazione ormai è una nicchia dell'informatica, bisogna studiare i linguaggi , provare e lavorare in un certo modo . L'ho chiamato P.I.D. ma è un P.I. , la componente derivativa non serve per regolare le temperature e comunque l'ho implementata come derivata del errore in un altro lavoro . Ve saludi Walter Link al commento Condividi su altri siti More sharing options...
ETR Inserita: 4 luglio 2016 Segnala Share Inserita: 4 luglio 2016 Ciao Spand, ti espongo subito le problematiche base : - Sistema base, solitamente approcciato con sistemi in cascata, tra la camicia refrigerante ed il sistema da raffreddare - Doppia sonda di misura con, possibilità di modulazione - A seconda dei sistemi, alti (lunghi) tempi di risposta che portano in saturazione l'integrale. Quindi tutto gira intorno alla componente integrale. Dopo di ché con sistemi anche più semplici (regolatore 48*48 con uscita ON-OFF) si può far qualcosa ed a seconda del sistema (refrigerante ed anche del prodotto si intende) si può ottenere dei discreti risultati. Scusa waterworld, non ho avuto tempo di leggere bene il codice, ma la saturazione dell'integrale l'hai gestita ? Solitamente impedisce una reazione soddisfacente al sistema ed in alcune librerie è gestita anche come warning. Io comunque preferisco sempre avere un blocco carro armato, full optional con tutte le funzioni che cita sempre Livio e magari non uso mai. Difficile da digerire le prime volte ma poi non ne puoi fare a meno. Ultimamente con le nuove librerie che mi capitano sotto mano (io uso specialmente B&R) si riporta nel processo la meccatronica e devo dire che rispetto alle funzioni più datate che si vedeva che erano scritte da processisti, secondo me qualcosa si è perso (nulla che non si possa realizzare esternamente, ma poi ti senti dire ... mah ! non ha usato il ns nuovo blocco ! ... ). Ciao a tutti Link al commento Condividi su altri siti More sharing options...
Spand Inserita: 16 settembre 2016 Autore Segnala Share Inserita: 16 settembre 2016 Torno su questa discussione che avevo aperto perchè ora il sistema è stato fatto con in plc Siemens 1200, tra poco inizierò a provarlo, ho realizzato intato la modalità ON/OFF ma ho previsto anche la modalità PID, inserendo i blocchetti di TIA, ma non mi è chiaro come regolarli sopratutto perchè facevo alcune considerazioni con il cliente: -Le valvole che portano il refrigerante sono motorizzate e vengono aperte e chiuse tenendo il comando per circa 35sec, se tolgo il comando la valvola rimane dove è, quindi con il pid dovrei poter parzializzare il comando senza aprire e chiudere totalmente, non ho idea dei parametri di regolazione di questo sistema essendo ad inerzia elevata, qualcuno ha suggerimenti? Non avendo riscaldamento la parte di riscaldamento non la associo all'uscita o devo usarla comunque? Grazie Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 16 settembre 2016 Segnala Share Inserita: 16 settembre 2016 Quote sono motorizzate e vengono aperte e chiuse tenendo il comando per circa 35sec, Il problema è che non sai quanto realmente è aperta la valvola. Il metodo giusto di un sistema così fatto è aprire/chiudere lentamente la valvola dando successivi impulsi di durata prestabilita, ed osservare l'andamento della temperatura per poi correggere eventualmente aprendo e chidendo. Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 16 settembre 2016 Segnala Share Inserita: 16 settembre 2016 Visto che si tratta di una valvola motorizzata, che ne sai i tempi di azionamento più o meno certi della commutazione e che usi un PLC per fare il controllo PID sarebbe necessario sapere la posizione della valvola per fare un lavoro fatto ad hoc, infatti sapendo l'eventuale posizione della valvola potresti incrociare i dati della regolazione PID con quelli della posizione valvola e da li far intervenire la regolazione PID portando la valvola nella posizione che il PID nella suo calcolo richiede, quando la posizione proporzionalmente coincide col la regolazione PID la valvola si trova nella posizione richiesta. Ovviamente visto che la valvola impiega 35sec. a muoversi sarebbe necessario impostare un tempo di ciclo di 35sec. nel calcolo della regolazione PID. Senza il ritorno della posizione della valvola non mi pare che il sistema sia trattabile in maniera precisa ma se vuoi puoi provare a fare una posizione presunta della valvola sapendo che il suo azionamento è dato da un movimento continuo e temporizzato di 35sec. Tramite la posizione presunta puoi sapere in che posizione si trova la valvola e da li far intervenire la regolazione PID con un tempo di ciclo di 35sec, è ovvio però che devi sapere in qualche maniera la posizione di riferimento della valvola quando è tutta chiusa o tutta aperta, altrimenti non hai un riferimento certo della posizione valvola, insomma senza una retroazione delle posizione valvola la vedo piuttosto dura, magari mi sbaglio..... e spero di essere corretto Link al commento Condividi su altri siti More sharing options...
batta Inserita: 16 settembre 2016 Segnala Share Inserita: 16 settembre 2016 Prova a guardare PID_3Step. Dovrebbe fare al caso tuo. Puoi usarlo con valvole motorizzate con o senza feedback di posizione, con o senza finecorsa di valvola aperta/chiusa. Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 16 settembre 2016 Segnala Share Inserita: 16 settembre 2016 Mi permetto di chiedere un paio di cose: per cisterna cosa intendi in termini di volume-litri? Dici che la serpentina è esterna e invece la sonda? Io credo che un semplice ON OFF sia più che sufficiente sperando (come ho visto purtroppo fare) che la sonda non sia appiccicata alla serpentina... Link al commento Condividi su altri siti More sharing options...
freddo_da_anni Inserita: 26 dicembre 2016 Segnala Share Inserita: 26 dicembre 2016 Se mi posso permettere per una buona regolazione è necessaria una logica fuzzy che chiaramente deve essere scritta da un esperto di refrigerazione. Un impianto di refrigerazione ha delle prestazioni tanto diverse a seconda dei casi che una buona regolazione nel tenere costante il risultato finale, deve essere integrata alla tipologia fuzzy che l'esperto costruisce in base alla risposta termodinamica d'impianto. Naturalmente parlando di un risultato al massimo ottenibile, ma se ci sono delle tolleranze di oscillazione il risultato può essere raggiunto anche con una regolazione pid. Naturalmente userei una regolazione pid su valvola di tipo on off e non motorizzata. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati