Vai al contenuto
PLC Forum


Plc Per Mppt


fabiofiorillo

Messaggi consigliati

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?

Link al commento
Condividi su altri siti


  • Risposte 55
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Livio Orsini

    17

  • fabiofiorillo

    15

  • enrico89

    13

  • batta

    6

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.

Link al commento
Condividi su altri siti

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

Modificato: da fabiofiorillo
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

Volutamente Anonimo

Qui c'e' una spiegazione piu' spartana di cos'e' l'MPPT.

http://www.energie-rinnovabili.net/maximum_power_point_tracker_mppt

Secondo me la risposta e':

Si lo puoi fare, ma cosa ci vuoi pilotare dopo? quale grandezza dell'inverter hai a disposizione da poter variare?

Cosa e' un progetto scolastico?

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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:

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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%

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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?

Link al commento
Condividi su altri siti

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)

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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?

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

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