Vai al contenuto
PLC Forum


Termoregolazione con Micrologix 1400 Rockwell


Danilo1981

Messaggi consigliati

Ciao ragazzi, ho un problema devo termoregolare dell'acqua, con un plc Rockwell Micrologix 1400 (1766-L32BX), con una valvola on/off da dove mi arriva dell'acqua fredda da un frigo +/-10° che mi serve per abbassare la temperatura quindi per raffreddare, per scaldare invece una resistenza trifase collegata ad un relè statico. Ho inoltre una pompa dell'acqua sempre in rotazione da quando decido di termoregolare la PT100 di feedback. Quando scaldo l'acqua il circuito è chiuso quindi l'acqua (sempre la stessa) che passa attraverso la resistenza fa aumentare la temperatura mentre invece quando raffreddo apro il circuito e facendo entrare l'acqua fredda mandando in scarico la calda. il setpoint va da 20° a 40° il problema è innanzitutto che l'istruzione di PID del micrologix mi fa oscillare di molto la temperatura +/- 7/8° quando raffreddo e 4° quando riscaldo perchè sembra reagire, sia quando scaldo che quando raffreddo, troppo tardi. Ho già provato a variare i parametri (Kc/Ti/Td) ma senza nessun grosso miglioramento. 

Qualcuno di voi conosce l'istruzione di PID di questo plc per capire come settarlo nel migliore dei modi??

 

In allegato i parametri impostati

 

Grazie in anticipo

 

PID.PNG

Link al commento
Condividi su altri siti


Devi verificare il tempo di campionamento; quasi certamente è troppo rapido rispetto al processo.

Link al commento
Condividi su altri siti

SandroCalligaro

Livio, intendevi proprio il tempo di campionamento, o la costante di tempo del regolatore (Ti, suppongo)?

Il fatto di avere un campionamento veloce non dovrebbe essere un problema (a meno di limiti sui valori dei guadagni)...

 

 

Danilo, hai la possibilità di variare i guadagni al volo, automaticamente?

E' normale che, siccome cambi attuatore (o è l'acqua refrigerata, oppure la resistenza), lo stesso guadagno non sarà mai ottimale per tutti i casi.

 

Puoi fare delle prove in manuale, e registrare l'andamento della temperatura?

Se fosse così, potresti identificare per lo meno il rapporto tra potenza dell'attuatore (dei due attuatori, a dire il vero) e l'inerzia termica...

Link al commento
Condividi su altri siti

Quote

Il fatto di avere un campionamento veloce non dovrebbe essere un problema

 

Può essere un problema.

Il discorso è troppo lungo e complesso per affrontarlo in modo completo in poche righe di un messaggio, quindi semplifico e banalizzo.

 

Se, ad esempio, compioni ad con un perido di 1 ms una variabile in cui ci può essere una variazione apprezzabile solo con tempi >=1" e ti limiti a campionare, esegui 1000 campionamenti inutili, ma se cerchi di regolare, anche se il guadagno è piccolo ed il tempo di integrazione è lungo, allora non è solo lavoro in utile, ma il regolatore lavora male perchè anche se di poco corregge, ma le conseguenze della correzione si avranno solo dopo 1000 campionamenti.

 

Non sempre campionare velocemente ha senso ed è un vantaggio.

In questo caso non servirebbe nemmeno per un eventuale filtraggio.

Quando si impone un tempo di campionamento non si può prescindere dai tempi di reazione del sistema.

 

Un aneddoto ed  una citazione su cui meditare.

 

Citazione

Katz, già professore al Politecnico di TelAlViv ed un o dei precursori della regolazione discreta (notevoli alcune suo applicazioni nel campo milatare) in un suo testo scrive: "....alcuni apprendisti stregoni pensano che campionando velocemente si possa considerare la regolazione discreta come se fosse continua (ovvero, per i meno esperti, applicare le regole della regolazione analogica a quella numerica). Questi apprendisti stregoni dimenticano che l'ampiezza di aprola della conversione e dell'elaborazione non è infinita e nemmeno si può considerare molto grande rispetto alla grandezza da controllare, pertanto poi si ritrovano comportamenti reali molto differenti da quanto ipotizzato......"

La citazione non è letterale perchè è una traduzione a memoria della memoria che ho del testo in inglese. Però il senso è esatto e conforme al pensiero dell'autore. potrei citare anche casi specifici in cui alcuni apprendisti stregoni si sono inbattuti in questi comportamenti inspiegabili (per loro).

 

Aneddoto

Quando oltre mezzo secolo fa h frequentato un corso federale per allievi allenatori di pallacanestro il docente, il mitico prof. Tracuzzi, ci spiegò: " se avete un play maker avversario piccolo, veloce, molto abile nei palleggi e nelle finte, fatelo marcare da un lungo. Perchè? Semplice, i tempi di reazione del marcatore molto più alto sono molto più lenti, quindi le finte non hanno effetto perchè il marcatore non riesce a reagire, quindi non abbocca alla finta."

Ne vidi un'applicazione pratica durante una finale di play off Milano - Roma dove Dan Peterson fece marcare il play di Roma (credo fosse Larry Wrigth, ma son passati molti anni e la memoria è quella che è) da un centro: Gallinari (il padre dell'attuale nazionale e gio giocatore NBA). un uomo di circa 210cm contro un 185cm, finiva quasi sempre che il piccolo nei tentavi di entrata andava a sbattere contro il grande che era ancora immobile per il ritardo nella reazione.

 

Aneddoti cestitici a parte reagire troppo velocemente non è mai un pregio, anche nella regolazione.

Link al commento
Condividi su altri siti

SandroCalligaro

Livio, grazie degli aneddoti, in particolare quello cestistico.

Non capisco quasi nulla di quello sport, ma l'esempio è molto chiaro e simpatico.

Mi fa venire però in mente il fatto che (a quanto ho letto, ma è più che logico) nei servo si cercano a volte inerzie maggiorate, per ridurre le oscillazioni ad alta frequenza. :)

 

Sono però d'accordo solo in parte con te. Avevo scritto

Quote

(a meno di limiti sui valori dei guadagni)

appunto perché nell'implementazione discreta i coefficienti (in particolare, mi aspetto, il "guadagno integrale discreto" Ki*Ts) possono diventare molto piccoli, ed essere approssimati male (o essere addirittura limitati inferiormente). Pensandoci bene, anche la derivata viene approssimata male, a causa della quantizzazione.

Il problema, però, è molto pesante nel caso di virgola fissa, molto meno (ma non scompare del tutto, è vero) con virgola mobile ed una risoluzione alta.

 

DIrei che il problema ha a che fare relativamente poco con il fatto che l'implementazione sia discreta nel tempo, molto di più con il fatto che l'implementazione è a precisione finita, dall'ADC alla rappresentazione matematica dei coefficienti.

Al contrario, la bontà dell'approssimazione tempo discreto - tempo continuo (in astratto, cioè senza gli effetti della quantizzazione) migliora all'aumentare della frequenza di campionamento, ovviamente.

 

Chiaramente il professore che citi credo desse per scontato che la risoluzione fosse relativamente bassa (certamente non in virgola mobile!).

 

 

 

 

Link al commento
Condividi su altri siti

Quote

 

Chiaramente il professore che citi credo desse per scontato che la risoluzione fosse relativamente bassa (certamente non in virgola mobile!).

 

 

Il testo risale alla fine degli anni '70, quindi i limiti dei processori eran molto inferiori agli attuali.

Rimangono comunque i limiti dei convertitori che, specie per glia A_D, sono ancora significativi.

Il mio primo asse elettrico inizialmente mi dava un'oscillazione che io imputavo ad un'errata parmetrizzazione. Poi dopo infiniti tenttivi decisi di fare l'unica cosa giusta.

Mi fermai, azzerai il tutto. Discussi le mie idee ed i risultati con un un collega che non conosceva molto le tecniche di regolazione numerica, ma era molto bravo ed esperto nelle problemaiche di controllo automatico. Dopo solo una ventina di minuti di analisi congiunta, l'arcano fu svelato.

Si trattava della quantizzzione del D_A (11 bits più segno). Anche un solo quanto di variazione causava un'accelerazione del motore cntrolalto, con relativo accumulo di posizione, maggiore dell'errore che aveva causato la correzione.

La soluzione fu di usare 2 D_A sommati tra loro, dove uno aveva un peso pari ad 1/100.

Dopo questa modifica impiegai poco più di 10' ad ottimizzare l'anello.

Quote

Mi fa venire però in mente il fatto che (a quanto ho letto, ma è più che logico) nei servo si cercano a volte inerzie maggiorate, per ridurre le oscillazioni ad alta frequenza.

 

Si si aumenta l'effetto volano della massa inerziale del motore.

Il primo principio della meccanica è sempre valido.:smile:

Dal punto di vista pratico.

Pensa ad un sensore di temperatura che ha un'inerza di qualche decimo di secondo almeno, al'elemnto riscaldante che ha un'inerzia simile, all'ambiente in cui si applica il controllo che ha un'inerzia di almeno un'ordine superiore.

Ora con processo simile, che senso ha campionare e correggere con periodo pari, ad esempio, a 10 ms?

Per quanto basso tieni il guadagno e per quanto lungo tieni il tempo di integrazione, per molti cicli la tua correzione non avrà effetto alcuno, però la componente integrale qualche cosa avrà comunque accumulato e come risultato finale avrai comunque delle sovra e sotto oscillazioni.

Io sono sempre del parere che i regolatori migliori son sempre quelli più equilibrati, dove i tempi di elabrazione e correzione sono coerenti con i tempi di variazione del processo, dove c'è molta azione diretta e poca azione di reazione.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...