Vai al contenuto
PLC Forum


PID e Funzione di Trasferimento - Inserire la fdt in un PID Siemens S7-300


fidelio

Messaggi consigliati

Salve a tutti,

sto progettando il controllo di uno scudo termico per ricerche di fisica nucleare.

Ho modellato il sistema prima dal punto di vista termodinamico, e successivamente con un equivalente elettrotecnico. Ora il sistema e' rappresentato come un circuito con R, C e generatori di tensione e corrente. La funzione di trasferimento e' del secondo ordine, senza zeri.

Se qualcuno e' interessato ad un cross-check (senza impegno), saro' contentissimo di inviare lo schema (mi farebbe piacere avere i vostri commenti). In cambio posso offrirvi i credits sul progetto! ;-)

Vengo al dunque: ho cominciato il progetto del PID (PI in verita'), simulato al MatLab, e ora vorrei implementarlo su un Siemens S7-300. Ho letto il manuale, ma non fa mai riferimento alla funzione di trasferimento!

Ora mi chiedevo: si puo' inserire nel blocco, o devo eseguire il tuning del controllore basandomi sui dati ottenuti dal matlab?

Magari e' una domanda stupida, ma non vorrei spendere altri mesi eseguendo operazioni inutili.

Scusatemi per la lunghezza del post e grazie in anticipo per la vostra attenzione!

Buon lavoro!

Link al commento
Condividi su altri siti


Stefano Sormanni

Non sono certo di quello che ti sto scrivendo e quindi prendilo con le molle....

La f.d.t. non può stare dentro il PLC perchè quella rappresenta il sistema, quello che deve stare dentro il PLC è il controllo (PID), quindi ti devi trovare i parametri Kp,chi;Kd che servono per il controllo, ovviamente all'interno del PLC troverai anzichè chi (integrazione), il tempo di integrazione (Ti), ma questo penso sia ben descritto nell'. del PLC

:blink:

Link al commento
Condividi su altri siti

Stefano Sormanni+Feb 17 2003, 12:11 PM-->
CITAZIONE(Stefano Sormanni @ Feb 17 2003, 12:11 PM)

Voila'. DUnque la fdt mi serve, in sostanza, solo per modellare il regolatore -a priori-. Voglio dire: faccio il tuning con MatLab e simulink, e in qualche modo tiro fuori gia' i parametri del pid.

Sara' una procedura equivalente rispetto al tuning con il PLC? Anche perche' potrei, per eesempio, utilizzare altri algoritmi per il tuning ("quarter amplitude oscillation" oppure "first-order plus dead time").

In soldoni: vale la pena sbattersi come dannati per trovare la fdt di un processo? E se si', quel e' il modo migliore per utilizzarla?

Grazie ancora!

Link al commento
Condividi su altri siti

Ciao,

se puoi volentieri io sono curioso e mi interessa molto ...

Per il modello su S7 penso che puoi utilizzare senza alcun timore la funzione gia prevista FB41 ... Se hai problemi scrivimi pure in privato.

Si vale la penda torvare la Fdt, se il processo lo si conosce a perfezione, come utilizzarlo ?!? facile passi dalla trasformata li laplace a quella zeta, che è praticamente il tuo algoritmo di controllo ...

se hai gia la Fdt in s puoi trasformala in zeta con la trasformazione biliniare o trapezoidale ... a questo punto dovresti avere un polinomio in z con i coefficenti, che se non ricordo male rappresentano proprio il rivelatore dell'impulso ...

non mi ricordo molto, ma siccome mi piacciono ste cose contattami pure in privato, che se posso e se sono in grado ti do volentieri una mano, almeno imparo anchio ... :)

ciao

Link al commento
Condividi su altri siti

Grazie per l'interessamento.

Appena ho cinque minuti sistematizzo i diagrammi che ho e ve li invio. Cosi' possiamo farci un;idea un po' tutti quanti.

Vorrei usare la FB41 sic et simpliciter (beh, magari con il "self tuner"!).

Relativamente alla z-trasformata... beh, li' si tratta davvero di scegliere una filosofia di progetto.

Nel senso che, ovviamente, il controllo digitale oggi e' piu' "fancy" e vicino ai controllori -per se-. Ma e' pur vero che aggiunge, in qualche modo, una complicazione al sistema.

Voglio dire: posso fare il tuning con il luogo delle radici, o con Nyquist, nel dominio s. Poi, passare alla z-trasformata (fatto). Ed eventualmente, progettare il controllore tutto in digitale. Ma mi chiedo: i vantaggi sono davvero cosi' evidenti? Questo ancora non lo so, non ci ho pensato a fondo.

In ogni caso, un ottimo e assolutamente pertinente suggerimento, merci!

Link al commento
Condividi su altri siti

Secondo me puoi inserire la funzione di trasferimento nella CPU S7-300 per simulare tutto il sistema magari con il PLCSIM. Devi vedere le istruzioni matematiche del 300 e con quelle, e col tuo lavoro, creare una funzione che riceverà l'uscita del PID e fornirà la variabile di processo al PID stesso. Certo che costruire la fdt nel 300 sara' piu' laborioso che col MatLab.

"In soldoni: vale la pena sbattersi come dannati per trovare la fdt di un processo?" Nel lavoro si cerca di evitare la modellizazione del sistema, perche' troppo complicata, ma a tutti piacerebbe avere un repertorio di funzioni di trasferimento adattabili ai processi reali per collaudare la regolazione a tavolino.

Saluti

Link al commento
Condividi su altri siti

fidelio Inviato in Feb 17 2003, 10:56 AM

--------------------------------------------------------------------------------

Salve a tutti,

sto progettando il controllo di uno scudo termico per ricerche di fisica nucleare........

Se puoi mandarmi la tua f.d.t. e il file di Mathlab con la simulazione mi farebbe molto piacere dargli una guardata. Per quanto rigurda il PID con S7. io ho sempre pprfereto non usare la funzione di libreria Siemnes, ma me lo sono fatto io (anche per il 200). Ho usato un'interrupt a tempo con OB35 per richiamare il mio PID. Non è che mi piace reiventare la ruota o riscaldare l'acqua quando ho a disposizione l'acqua calda, ma non sempre i PID standard ottimizzano le regolazioni.
rguaresc Inviato in Feb 17 2003, 01:59 PM

--------------------------------------------------------------------------------

....."In soldoni: vale la pena sbattersi come dannati per trovare la fdt di un processo?" Nel lavoro si cerca di evitare la modellizazione del sistema, perche' troppo complicata, ma a tutti piacerebbe avere un repertorio di funzioni di trasferimento adattabili ai processi reali per collaudare la regolazione a tavolino.

Ma in alcuni casi è quasi indispensabile. E' una scelta filosofica: si aprrocciare il sistema in modo deterministico oppure andare per tentativi. E' vero che in alcuni casi il processo è troppo complicato da simulare ed il gioco non vale la candela, ma spesso si può trovare una soluzione semplificata ma sufficientemente approssimata. E' anche vero che spesso manca nache il tempo amteriale per una corretta progettazione, però alla fine si rischia di perdere più tempo di quanto se ne è guadagnato saltando le fasi che si reputano non essenziali. Questo vale molto per la progettazione software.

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