Jump to content
PLC Forum


Sign in to follow this  
fabiofiorillo

Plc Per Mppt

Recommended Posts

fabiofiorillo

il Pertube & Observe è un algoritmo che serve per raggiungere il punto di massima potenza dei pannelli fotovoltaici che è basato sul controllo di variazione della potenza estratta ogni qual volta che viene perturbata la tensione o la corrente in uscita dal pannello. Incrementando(decrementando) la tensione, incrementa(decrementa) anche la potenza quando si sta operando in una zona di lavoro che precede il punto MPP (Maximum Power Point). Quando invece si supera l'MPP, un incremento(decremento) della tensione corrisponde ad un calo (aumento) della potenza. l'algoritmo, quindi, è strutturato in maniera tale da perturbare la tensione o anche la corrente in uscita del pannello di un determinato valore, eseguire il prodotto V*I all'istante k-esimo e confrontarlo con il prodotto dell'istante k-1 esimo. Un possibile schema a blocchi è il seguente

Quello che chiedo è possibile realizzare ciò con un plc?se si come?

Share this post


Link to post
Share on other sites

Livio Orsini

Hai aperto due discussioni sul medesimo argomento.

Pratica vietata dal regolamento perchè ingenera solo confusione.

Lascio questa e cancello l'altra (che anche un poco criptica).

Come prima risposta alla tua domanda.

Si è possibile. Dovresti specificare meglio i vincoli, precisioni e tempi.

Share this post


Link to post
Share on other sites
fabiofiorillo

Questo è lo schema a blocchi che dovrei realizzare...

a(T) coefficiente di tensione, Vmeas e Imeas sono tensione e corrente misurata I(T) è la corrente di funzionamento determinata a parte. Avrei sempre bisogno, dato che non me la cavo per niente con i Plc, di riportare tale schema proprio in un qualsiasi ambiente PLC, sapresti aiutarmi? Mi basterebbe anche sapere se esiste, quale plc può fare una tal cosa e come è fatto nel senso di ingressi ed uscite...

Edited by fabiofiorillo

Share this post


Link to post
Share on other sites
Livio Orsini

Il problema principale è che...non c'è lo schema a blocchi. :smile:

Share this post


Link to post
Share on other sites
fabiofiorillo

mi dici come posso inserislo?

avevo fatto un copia e incolla ma non si vede....

Share this post


Link to post
Share on other sites
Livio Orsini

Devi memorizzare l'immagine su un sito di hosting, oppure fare un upload sul forum; poi nel messaggio scrivi un titolo, ad esempio "schema", lo evidenzi e premi il tasto con la catenlla (il primo dopo l'elenco numerato), nella finestra che compare copi l'indirizzo dell'immagine.

Share this post


Link to post
Share on other sites
fabiofiorillo

flowchartnw.png

Adesso si vede l'immagine riferita allo schema a blocchi da realizzare con un plc?

Sapreste aiutarmi adesso a realizzarlo?

Share this post


Link to post
Share on other sites
fabiofiorillo

Questo è lo schema a blocchi che dovrei realizzare...

a(T) coefficiente di tensione, Vmeas e Imeas sono tensione e corrente misurata I(T) è la corrente di funzionamento determinata a parte. Avrei sempre bisogno, dato che non me la cavo per niente con i Plc, di riportare tale schema proprio in un qualsiasi ambiente PLC, sapresti aiutarmi? Mi basterebbe anche sapere se esiste, quale plc può fare una tal cosa e come è fatto nel senso di ingressi ed uscite...

Share this post


Link to post
Share on other sites
fabiofiorillo

si è un progetto scolastico. Allora a me quello che interessa è implementare con un plc quello schema che ho postato: questo plc dovrebbe ricevere in ingresso i valori di tensione e corrente misurati sul pannello fotovoltaico ed elaborarli così come è indicato nello schema a blocchi. l'uscita è poi retroazionata. per quanto riguarda l'inverter non mi è stata data nessuna indicazione, mi è stato solo chiesto di "scrivere" questo schema a blocchi con un plc.....il problema è che non saprei come fare. Il prof mi ha anche chiesto di vedere come primo passo se almeno esiste e come è fatto un plc che possa elaborare questo schema.

Share this post


Link to post
Share on other sites
Livio Orsini

Come ti ho scritto fin dal primo messaggio qualsiasi PLC è in grado di elaborare l'algoritmo, la scelta dipende esclusivamente dalle prestazioni richieste.

In quanto tempo deve essere elaborato l'algoritmo?

Quale è la precisione richiesta?

Queste due informazioni sono il minimo indispensabile per effetuare una prima scelta.

Il prof mi ha anche chiesto di vedere come primo passo se almeno esiste e come è fatto un plc che possa elaborare questo schema.

Un professore universitario che si comporta in questo modo dovrebbe essere cacciato immediatamente per manifesta incapacità. :angry:

Share this post


Link to post
Share on other sites
fabiofiorillo

Allora quello che so è che bisogna eseguire 20 cicli al secondo, intendendo come ciclo quello riportato nello schema a blocchi. Per quanto concerne la precisione non so dirti niente....

Share this post


Link to post
Share on other sites
Livio Orsini

Con un periodo di 50 ms qualsiasi PLC deve essere in grado di eseguire quell'algoritmo; è da verificare solo il tempo di conversione A/D che per alcunui PLC è un po' lunghetto.

Puoi prendere in cosiderazione PLC di costruzione Italiana come i Kernel, oppure PLC di multinazionali come Siemens serie 1200, o Mitsubishi, oppure A&B Microligix. In pratica ne trovi 12 per dozzina.

TIeni presente che le risoluzioni normali delgi AD sono 12 bits e, in alcuni casi, 12 bits più segno quindi la precisione non può essere migliore di 0.05%

Share this post


Link to post
Share on other sites
fabiofiorillo

ok,grazie mille. Quindi se prendo in considerazione un plc siemens, che forse conosco un pochino meglio, si riesce a creare un programma che esegua il mio schema a blocchi giusto? Diciamo che in prima battuta non è importante il tempo di conversione. se non ricordo male in un plc siemens ci sono i tre linguaggi kop, awl, fup. se utilizzassi un plc s7-300 come potrei procedere, quale linguaggio potrei utilizzare? Sono proprio imbarazzato nel dirlo ma, non avendo mai avuto a che fare seriamente con un plc, non sono in grado di proseguire... :(

Share this post


Link to post
Share on other sites
Livio Orsini

Un 300 è forse anche ridondante.

Normalmente ti avrei suggerito di usare AWL, ma sembra che nell'ultima versione di software, quella legata a TIA Portal, lo abbiano eleiminato. A questo proposito trovi anche una discussione in questa sezione.

Se disponi di una precedente versione di Step7 puoi lavorare con AWL che ti permette di ottimizzare meglio il programma, altrimenti puoi usare FUP, che a me sta antipatico :smile: .

Per questo tipo di lavoro il linguaggio ideale sarebbe il "C", ma sono pochissimi i PLC che lo adottano.

Comunque per prima cosa determina di quali e qaunti ingressi e uscite necessiti, in modo da effettuare una configurazione Hw ed assegnare le varaibili fisiche.

Per mia esperienza ti consiglierei di scriverti le spicifiche dettagliate di come deve essere eseguito l'algoritmo. Son molto più redditizie da tradurre in istruzioni di un diagramma di flusso.

Share this post


Link to post
Share on other sites
fabiofiorillo

si infatti ho una versione "vecchia di Step 7"....comunque le variabili in gioco sarebbero le seguenti:

Ingresso: tensione e corrente misurata sul pannello con due sensori

poi sono i parametri fissi quali l'errore (epsilon) a(t), I(t),k2

Uscita P(t)= a(t)*Imeas

tale potenza, come si vede, deve essere confrontata con la Pmeas(misurata) e in base al valore letto bisogno agire su I(t) e si effettua infine una retroazione

Share this post


Link to post
Share on other sites
Livio Orsini

Tanto per darti un riferimento di velocità, con PLC serie S72xx, che la più "piccola" della Siemens richiamavo un PID ogni 10 ms ed oltre al PID il PLC risolveva un discreto numero di equazioni booleane riguardanti l'automazione della macchina. Il tempo di ciclo totale era dell'ordine di 20 ms - 30 ms.

Per variare I(t) dove pensi di agire? sulla tensione di uscita dell'inverter?

Share this post


Link to post
Share on other sites
fabiofiorillo

la I(t) come si evince anche dal diagramma è calcolata in base al valore della potenza misurata (Pmeas) rispetto al valore di P(t). A seconda che sia maggiore o minore si imposta un valore della I(t)

Share this post


Link to post
Share on other sites
Livio Orsini

Questo è elementare, ma se vuoi cercare di ottenere sempre la massima potenza resa su cosa agisci?

Share this post


Link to post
Share on other sites
batta
Normalmente ti avrei suggerito di usare AWL, ma sembra che nell'ultima versione di software, quella legata a TIA Portal, lo abbiano eleiminato.

Precisazione: l'awl non è stato eliminato dal TIA Portal, ma solo dal 1200. Un S7-300/400 si può sempre programmare in awl, anche utilizzando il TIA Portal come sistema di sviluppo.

Aggiungo poi che, per questo tipo di problemi, penso sia meglio utilizzare il linguaggio strutturato (SCL), che nel TIA Portal è integrato, e non da usare con editor dedicato.

Visto poi che il linguaggio strutturato è supportato anche dal 1200, se c'è la possibilità di usare il TIA Portal si riesce a risolve il problema nello stesso identico modo ma con un hardware più economico.

Share this post


Link to post
Share on other sites
fabiofiorillo

agisco su I(t); infatti a seconda che la potenza misurata sia maggiore o minore di quella di esercizio P(t) imposto un determinato valore di I(t) il quale viene retroazionato e riportandolo in ingresso eseguo un nuovo calcolo della potenza, fino al raggiungimento, o meglio all'avvicinamento, del massimo. Quest'algoritmo non è per il calcolo della potenza bensì per l'avvicinamento al punto di massimo, infatti il calcolo della potenza dovrebbe essere effettuato a parte come si evince dal blocco dello schema dove c'è scritto (P&O to assess P,I,a(t))

Share this post


Link to post
Share on other sites
Livio Orsini

Scusa ma probabilemte io ti chiedo una cosa e tu me ne rispondi un'aòtra.

Questo tipo di algoritmo in genere si usa per mantere il sistema nell'intorno dell amassima potenza istantanea erogabile.

Assumendo che l'elevazione e l'azimut del pannello siano fissi la potenza erogabile dipende dall'insolazione istantanea. Assumendo come 100 la massima potenza erogabile questa viene effettivamente erogata se, e solo se, il carico del pannello drena il valore di corrente istantaneo corrispondente alla massima potenza.

Dato che questo valore è continuamente variabile nel tempo, perchè varia l'insolazione del pannello, se caricassi direttamente il pannello avresti un unico modo di mantenerti nell'intorno della massima potenza: variare il carico.

Usando un inverter frapposto tra pannello e carico, che dovrebbe essere la rete di distribuzione, puoi agire sull'inverter.

La mia domanda è: su quale parametro dell'inverter intendi agire per mantenere sempre la potenza erogata nell'intorno del valore massimo ammissibile?

Share this post


Link to post
Share on other sites
Volutamente Anonimo
Assumendo che l'elevazione e l'azimut del pannello siano fissi

Scusa Livio se mi intrometto, ma penso che parlate di due cose diverse, purtoppo credo che le info che stia dando Fabio siano troppo didattiche.

Se non ricordo male l'MPPT e' un sistema interno degli inverter fotovoltaici.

L'inverter e' collegato da un lato alla rete in sincrono alla stessa.

Dall'altro ai pannelli fotovoltaici.

I pannelli possono lavorare a un regime di V*I variabile a seconda del carico che vedono sull'inverter (quindi in base alla corrente che l'inverter gli fa erogare, in pratica si comporta come un carico variabile).

A seconda del punto di funzionamento rendono di piu' o di meno.

Questo sistema fa si che l'mmpt fa erogare ai pannelli FV il valore di corrente tale che dai pannelli ottieni il massimo rendimento.

Questo dai vaghi ricordi che ho sul fv.

Share this post


Link to post
Share on other sites
fabiofiorillo

esatto è proprio così....

a me fondamentalmente non è necessario sapere di preciso come funziona nella perfezione l'algoritmo, ma solo scrivere con un plc lo schema a blocchi che ho postato. Insomma effettuare le semplici operazioni di comparazioni, somma sottrazione e quante altre ce ne siano....

Share this post


Link to post
Share on other sites
batta
a me fondamentalmente non è necessario sapere di preciso come funziona nella perfezione l'algoritmo, ma solo scrivere con un plc lo schema a blocchi che ho postato. Insomma effettuare le semplici operazioni di comparazioni, somma sottrazione e quante altre ce ne siano....

A questo punto, non riesco a capire cosa chiedi.

Sul forum potrai trovare aiuti, risposte a domande più o meno specifiche, consigli e molto altro.

Ma se devi imparare da zero o quasi a programmare un plc, la vedo dura.

E scrivere il codice completo, oltre a richiedere un po' di tempo (che ora non ho), sarebbe anche sbagliato.

Io rinnovo il mio consiglio di utilizzare, se ti è possibile, il linguaggio strutturato.

Con questo linguaggio puoi sfruttare i costrutti IF THEN ELSE, FOR NEXT, WHILE DO, e scrivere le formule quasi come nel C.

Non devi imparare ad usare il ladder, non devi imparare come utilizzare gli accumulatori, non devi imparare la sintassi dell'awl.

Però devi cominciare a buttare giù qualcosa e fare poi domande specifiche nei punti dove ti troverai in difficoltà.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...