Vai al contenuto
PLC Forum


Livello Caldaia Con Pid Su S7-300


gabri

Messaggi consigliati

Salve a tutti,

scusate se l'argomento è già stato trattato, ma non sono riuscito a trovare esempi che facciano al caso mio...

devo regolare il livello di riempimento di una caldaia tramite un sensore con uscita 4..20mA e una CPU 313C, ho a disposizione 1 elettrovalvola motorizzata(quindi proporzionale) con comandi di apertura e chiusura del flusso di riempimento.

Pensavo di mettere una sfb41 con ingresso il segnale del sensore e come uscita un segnale che va su un sfb43(pulse generator con una regolazione a 3 punti) dalla quale comando l'apertura/chiusura.E' questa secondo voi la soluzione migliore?

Su che ordine di tempi di campionamento devo stare, visto che la dinamica del sistema è +ttosto lenta?

Scusate se non riesco ad essere + preciso...

Altra domanda: lo stesso si poteva fare con una CPU224????

Grazie in anticipo a chi spenderà il proprio prezioso tempo su questa pagina :D

Ciao a tutti

Link al commento
Condividi su altri siti


La regolazione la puoi fare benissimo con la 224: se i tuoi tempi lunghi sono come i miei penso che un tempo di campionamento di 100 ms sia fin troppo veloce.

Io farei un PI con tempo di campionamento di 100ns - 200ms.. Poi dipende cosa vuole in ingresso la tua valvola proporzionale: se la piloti con un riferimento 0-10v o 0-20mA è un conto, se in vece è a comando apri - chiudi è tutta un'alta cosa: entra in gioco anche il tempo necessario per aprire(chiudere) la valvola.

Io, poi, farei comunque un unico blocco di regoalzione chamato da un'interrupt (ob35 per 313)

Link al commento
Condividi su altri siti

Grazie Livio,

la valvola che uso ha 2 comandi ON-OFF di apri-chiudi

Sto procedendo utilizzando una sfb41 che in uscita mi da1segnale di regolazione, in cascata ad essa metto un sfb43 che mi attiva l'apertura-chiusura per un tempo proporzionale al segnale di regolazione...

Vi prego di correggermi se sbaglio...

lancio il tutto nell'ob35.

se i tuoi tempi lunghi sono come i miei penso che un tempo di campionamento di 100 ms sia fin troppo veloce

Avere un tempo di campionamento più lungo comporta solo un risparmio di risorse? Visto che questa è praticamente l'unica funzione "pesante" del programma, in teoria potrei anche mettere 1tempo brevissimo, no?O questo tempo deve essere proporzionato alla dinamica del sistema?

Altra domanda: ho visto parlare spesso di lanciare gli sfb nell' OB100 per un reset al primo ciclo PLC....ok, ma come devo parametrizzarlo? Tutti uguali a quando lo lancio nell'OB35 e COM_RST=True?

Per tanto così non basta settare nell'OB100 un merker e resettarlo il ciclo successivo???

Grazie e ciao a tutti

Modificato: da gabri
Link al commento
Condividi su altri siti

La funzione COM_RST serve per fare un nuovo avviamento al blocco pid, preassegnando dei valori iniziali di regolazione, questo parametro solitamente lo uso nell'OB di avviamento del PLC .

Link al commento
Condividi su altri siti

Scusa Gabri, ma hai provato a dare una scorsa al mio tutor sulla regolazione (Lo trovi nella sezione didattica)? troveresti già alcune risposte.

In ogni buon conto cerco di darti alcune rispsote sintetiche e, sopra a tutto, pratiche.

Se il tuo sistema sotto controllo ha tempi di risposta dell'ordine del minuto è inutile e danoso campionarlo e controllarlo con tempi dell'ordine delle decine di msec., rischi di crearti delle instabilità o di complicarti l'ottimizzazione. Se il tempo di risposta è 60 s, un tempo di campionamento congruo è 0.5s. (valutazione pratica)

Dovresti verificare in quanto tempo la valvola apre tutto ed in quanto tempo effettua la manovra inversa, verificare a quanto corrisponde la portata di tutto aperto, se c'è linearità tra tempo di apertura e portata.

In teoria dovresti fare due anelli di controllo annidati: uno per la portata ed uno per il livello.

Tanto per esemplificare pensa ad un anello di posizione: tu dai un riferimento di velocità in funzione dell'errore di posizione perchè poi hai un altro regolatore, trasparente per te, che regola la velocità. Qui tu conosci solo la posizione (livello) e non hai il regolatore di velocità (portata).

In prima approssimazione io farei un regolatore come il controllo di livello dello sciacquone del WC: apro tutto fino ad un errore di livello inferiore ad una certa soglia, poi comincio a chiudere.

Il problema principale è il tempo di apertura della valvola rispetto al tempo di riempimento del serbatoio.

Link al commento
Condividi su altri siti

  • 3 weeks later...

La caldaia è un generatore di vapore con corpo cilindrico oppure di acqua calda o di altro tipo?

Il regolatore deve essere giustamente una catena che comprensda il livello e la portata.

Il tempo di campionamento dato dai sistemi elettronici è più che sufficiente. Quello che conta è la messa a punto (tuning) del loop di regolazione che è dato dal tempo che intercorre dal momento che si ha una variazione di livello al suo ripristino. Generalmente viene impiegato un regolatore PID. Nella messa a punto e nel funzionamento della caldaia si rende necessario eseguire delle variazioni dei parametri P, I, D, (se utilizzato), e del set point. Si rende necessario inoltre monitorare costantemente le grandezze in ingresso e il segnale di uscita, (valvola). L'impiego dei blocchi funzionali incorporati nel plc richiede un dispositivo per la visualizzazione esterna di questi valori con una tastiera per poterli modificare. I regolatori PID possono richiedere diverse messe a punto di questi valori per poter essere ottimizzati. Se l'impianto è semplice può essere una soluzione anche impiegare dei regolatori tradizionali esterni al PLC. Questi regolatori hanno tutte le funzioni necessarie incorporate e un display in grado di visualizzare tutti i valori di regolazione.

Se la caldaia è un generatore di vapore con corpo cilindrico, la regolazione deve essere particolarmente accurata in quanto un livello troppo basso manda in blocco la caldaia per mancanza d'acqua, mentre un livello troppo alto manda in blocco la caldaia per evitare che l'acqua sia trascinata con il vapore.

Link al commento
Condividi su altri siti

Ragazzi,

dopo 3giorni tra manuale funzioni tecnologiche ed esperimenti vari sono riuscito a far andare la regolazione dell' SFB41, con parametri un po' emirici, però almeno funzionante... :D

L'uscita del PID andava però modificata in modo da centrarla rispetto allo zero: se per esempio il livello è minore del setpoint l'uscita è positiva, quando poi il livello si avvicina, non ho bisogno che la valvola continui ad aprirsi per un tempo minore(uscita del SFB41 +bassa ma sempre positiva), ma serve che inizi a chiudersi(uscita negativa).

Avrei dovuto quindi "normalizzare" l'uscita in modo che avvicinandomi al setpoint questa invece di diminuire si invertisse direttamente, in modo che il successivo SFB43 mi generasse un impulso invertito che chiudesse la valvola, non un impulso di apertura un po' + corto.

Utilizzo il condizionale inquanto il cliente ci ha chiamato dicendoci che un PID non era necessario, bastava impostare delle soglie di allarme.....Dircelo prima no???

Almeno ora so qualcosa in + sulle funzioni di regolazione a dinamica lenta....oggettivamente non è che siano molto semplici...oppure è il regolatore siemens che è incasinato.

Ringrazio nuovamente i partecipanti di questa discussione e saluto tutti

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...