Vai al contenuto

Ottimizzazione gestione riscadatori

Home Forum Discussioni su problematiche generali Ottimizzazione gestione riscadatori

Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Autore
    Post
  • #36195
    Stefano
    Partecipante

    Mi è stato commissionato il retrofitting di un vecchio miscelatore di granulati, l’automazione è tutta elettromeccanica e va reso compatibile con Industria 4.0, utilizzerò uno slimline compact con alcuni moduli di espansione ed terminale serie iE. Questa macchina esegue la miscelazione a temperatura controllata, presenta un tamburo rotante con asse inclinato di circa 45 gradi. Il tamburo e attorniato da resistenze, queste sono fitte nella parte bassa e diradano man mano che si arriva nella parte alta, vi sono due una termocoppie: una dove le resistenze sono fitte ed una nella parte alta del tamburo dove non ci sono resistenze.

    La termocoppia in altro controlla la temperatura di processo, si collega ad un termostato che l’operatore regola tra i 70 ed i 120 gradi, il termostato pilota un teleruttore che comanda le resistenze. La termocoppia in basso si collega ad un termostato tarato fisso a 230 gradi (temperatura da non superare, pena distruzione dei granulati) che spegne il precedente termostato.

    Sostituirò il teleruttore con uno statico zero crossing e parzializzerò la potenza con una sorta di PWM, sicuramente la temperatura della termocoppia in alto entrerà in un blocco PID per gestire il riscaldamento, ma non so bene come gestire la seconda.  Potrei replicare il funzionamento attuale disabilitando il blocco PID precedente, oppure, con un PID ulteriore tarato sulla massima temperatura, variare continuamente la potenza massima applicata alle resistenze. A qualcuno è mai capitata una esigenza simile ?

    #40069
    Sergio Bertana
    Amministratore del forum

    Le mie sono valutazioni a mente libera non avendo mai affrontato questo tipo di regolazione. La temperatura da controllare è la temperatura di processo quindi su quella devi realizzare il PID di controllo, ma certo alla accensione impianto prima che la temperatura si propaghi fino alla termocoppia di processo tu avrai una fase in cui tutte le resistenze daranno il 100% di potenza ed in questa fase potrebbe essere che la temperatura in basso arrivi al suo valore di soglia. Questo evento, se possibile, succede già oggi è l’unica cosa che oggi l’impianto elettromeccanico può fare è spegnere le resistenze. In questo modo con continue accensioni/spegnimenti delle resistenze la temperatura si propaga nella struttura ed arriva alla termocoppia superiore.

    Ora tu puoi mantenere la stessa situazione, oppure prevedere una rampa di riscaldamento in cui attivi le resistenze non al 100% di potenza per  dare tempo all’intera massa di scaldarsi. Certo che se usi una percentuale bassa di potenza ci metterai più tempo ad andare in temperatura e comunque con una percentuale predefinita non hai una retroazione del comportamento reale.

    Un’altra possibilità è di realizzare come dici tu un PID di riscaldamento sulla termocoppia di controllo, il cui set point è fissato dal PID di processo (Con massimo 200 gradi, per non superare i 230 massimi). Quindi il PID di processo varierà il set point del PID di riscaldamento per regolare la temperatura del processo.

    #43999
    Stefano
    Partecipante

    Sono alle prese con il dimensionamento delle apparacchiature. Penso di usare i due blocchi PID, uno che varia il set Point dell’altro che poi comanda il ‘PWM’. La CPU dovrà dunque gestire i due blocchi PID, la generazione del out statico della CPU (periodo di 2 secondi), la lettura di un paio di ingressi 4-20ma, la lettura di una decina di encoder (l’ambiente è molto sporco e in alcune fasi diventa difficoltoso l’uso del touch screen. Gli operatori gireranno quindi degli encoder rotativi da pannello per modificare dei setpoint. Userò il blocco IOEncoder). Gestirà una manciata di I/O (qualche pulsante, qualche spia), comunicherà come modbus slave con il pannello e come master su 485 con un driver per motori.

    La logica è abbastanza semplice ma le varie gestioni si portano via CPU. Non saprei se tentare con una CPU compact o passare ad una Cortex. Alla peggio sarebbe possibile richiedere un modulo input modificato per avere vari gestori hardware di encoder in quadratura ?

    #44003
    Sergio Bertana
    Amministratore del forum

    Vista la differenza di prezzo (Che non è sostanziale) ti consiglio di utilizzare la CPU Cortex M7 che è anche il modello su cui sono supportate tutte le funzioni che stiamo sviluppando. Tra l’altro i suoi 2 ingressi analogici hanno una risoluzione di 12 bits quindi credo più che sufficenti per l’acquisizione dei tuoi 2 segnali 4-20 mA.

    Se devi solo gestire encoders da pannello per il settaggio dei valori di processo, non è necessario che utilizzi schede con la quadratura hardware,  il FB IOEncoder è sicuramente in grado di gestirli. Puoi eseguire l’acquisizione degli ingressi digitali e le istanze del FB in una Task Fast (1 mS), in questo modo si possono acquisire encoder con frequenza fino a 500 Hz.

    Ma attenzione ruotando a mano l’encoder anche se mediamente la frequenza è molto bassa si possono avere picchi di frequenza molto alti e quindi con l’FB si può perdere qualche conteggio. Ma visto che gli encoders sono solo per impostazione e non per il posizionamento non credo questo possa essere un problema.

    #44012
    Stefano
    Partecipante

    Direi che se anche perdesse qualche conteggio l’operatore può girare la manopola di qualche scatto in più. Non è una cosa critica. Se non erro estendo gli encoder con IOEncoder in una task fast si devono acquisire gli ingressi con SysGetPhrDI perchè l’immagine ingressi mappata dal sistema è aggiornata con meno frequenza..

Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Devi essere connesso per rispondere a questo topic.