Vai al contenuto
PLC Forum


Calcolare consumo energetico


Francesco_Primo

Messaggi consigliati

Francesco_Primo

Buon giorno a tutti.

Con una CPU 3152DP e un Trasformatore di Corrente (50A/4-20mA) voglio provare a registrare il consumo di energia elettrica di casa, campionando in OB35 (valore preimpostato in HD 100MS) il blocco FC1 con le seguenti istruzioni:

FC1:
      CALL  "Soglie"
       WattReali       :=DB100.DBD168
       Contatore       :=”CONTATORE_0”
       Soglia_Confronto:=”INFERIORE_Watt_50”

      CALL  "Soglie"
       WattReali       :=DB100.DBD168
       Contatore       :="CONTATORE_1”
       Soglia_Confronto:="INFERIORE_Watt_100”

‘’
‘’
‘’
      CALL  "Soglie"
       WattReali       :=DB100.DBD168
       Contatore       :="CONTATORE_065”
       Soglia_Confronto:="INFERIORE_Watt_3250”

      CALL  "Soglie"
       WattReali       :=DB100.DBD168
       Contatore       :="CONTATORE_066”
       Soglia_Confronto:="INFERIORE_Watt_3300”

il Blocco FC “Soglie” è il seguente:

      L     #WattReali                  // Formato Real
      L     #Soglia_Confronto     // Formato Real
      >R    
      SPB   INCR
      BEA   
INCR: L     #Contatore            // Formato DWord
      L     1
      +D    
      T     #Contatore                 // Formato DWord 

Dopo di che, per il tramite di Scrip in Wincc Flexible, calcolerei i KW/h registrati da ogni singolo “CONTATORE”

SmartTags("KW/h_F_01")=(((SmartTags("CONTATORE_0")/3600)/1000)*50)
SmartTags("KW/h_F_02")=(((SmartTags("CONTATORE_1")/3600)/1000)*50)

‘’
‘’
‘’
SmartTags("KW/h_F_065")=(((SmartTags("CONTATORE_065")/3600)/1000)*50)
SmartTags("KW/h_F_066")=(((SmartTags("CONTATORE_066")/3600)/1000)*50)

Ed infine li sommerei per avere il totale.

Che ne dite?  🤗

Sarei curioso di conoscere il vostro parere, e… perché no, avere qualche suggerimento, che certamente non potrà che essere migliorativo.

 

PS: Sono un autodidatta, in pensione, curioso e con ancora tanta voglia di giocare con il PLC.

Grazie in anticipo per un vostro eventuale interessamento.

Link al commento
Condividi su altri siti


nel ob35 devi prendere la analogica del trasduttore moltiplicarla per 230 e riparametrizzarla per ottenere i watt consumati in 100 msec.

poi la sommi al totale già calcolato in precedenza.

non capisco perchè mettere delle soglie di 50 e 100 W, se ne consumi 10 che fai ? non li conti ?

il èannello poi visualizza il totale

Link al commento
Condividi su altri siti

Francesco_Primo

Ciao drn5

Grazie per l’interessamento 

Di seguito come, da un FC richiamato in OB1, arrivo a leggere i Watt in DB100.DBD168:

// lettura analogica PEW 278
      CALL  "SCALE"
       IN     :=PEW278
       HI_LIM :=5.000000e+001
       LO_LIM :=0.000000e+000
       BIPOLAR:=M1.1
       RET_VAL:=MW250
       OUT    :=DB100.DBD164

      L     DB100.DBD  164
      L     2.300000e+002
      *R    
      T     #TEMP
      L     9.000000e-001
      *R    
      T     DB100.DBD  168

 

Quindi, mi pare di aver capito che il tutto potrebbe ridursi a poche righe di codice?

Mi potresti aiutare a capire meglio con qualche esempio. Di nuovo Grazie.

Link al commento
Condividi su altri siti

Francesco_Primo

Ciao Adelino Rossi

 

Si, sono valori costanti che ho introdotto nel codice per soddisfare la formula P=V*I* Cosφ; formula che mi è stata suggerita da un conoscente elettricista.

NB: non ho nemmeno nozioni elettriche, come anticipato sono un curioso autodidatta, timido ma con ancora tanta voglia di apprendere. Grazie anche a te per l'interessamento 🤗

Link al commento
Condividi su altri siti

Come detto da @drn5, calcola la potenza e in OB35 somma la potenza. L'integrale della potenza in Watt è l'energia in Joule.

Poi, se vuoi trasformare l'energia da Joule a kWh, devi dividerla per 3600000.
Sbagliato però cercare di fare questo integrale con un campionamento di soli 100 ms, perché dovresti dividere la potenza letta per 10 (rischiando di perdere precisione), e un campionamento così veloce non ti serve proprio a nulla.
Perché dico questo? Perché i numeri in formato Real hanno una precisione finita. Se ad un numero grande sommi un numero piccolo, la somma andrà persa.

Meglio campionare ad 1 secondo. In questo modo sommi numeri più grandi, e la potenza in Watt letta in quel secondo è già l'energia in Joule consumata in quel secondo (energia = potenza x tempo).
Molto discutibile poi leggere solo la corrente. Senza tensione e senza fattore di potenza, la valutazione dei consumi sarà molto, ma molto grossolana.
Meglio sarebbe installare un wattmetro con uscita analogica.

Link al commento
Condividi su altri siti

9 ore fa, batta ha scritto:

Perché i numeri in formato Real hanno una precisione finita. Se ad un numero grande sommi un numero piccolo, la somma andrà persa.

Per questo se devo fare dei totalizzatori uso dei DINT controllando di non sforare il massimo, cosi sono sicuro di non perdere nulla.

Ovviamente la parte di calcoli li faccio in REAL, poi converto il risultato in DINT e li sommo la mio totalizzatore.

Modificato: da acquaman
Link al commento
Condividi su altri siti

Francesco_Primo

Innanzi tutto un grazie a tutti, non avrei mai pensato di suscitare con questo banale argomento il vostro interesse. Pertanto, vi confesso che da una parte sono davvero contento di leggere queste vostre preziose analisi/suggerimenti, in quanto mi danno l’opportunità di “ragionare/crescere”. Dall’altra però non vi nascondo che si è spenta un po’ l’autostima che mi ero dato rispetto al saper utilizzare il Plc e l’evoluzione della conoscenza del linguaggio di programmazione. Sapete, ero passato dall’accendere una banale lampadina fino alla convinzione di essere riuscito a calcolarne il consumo (per me che ho lavorato per 42 e 10 mesi come carpentiere e magazziniere fare questo è, come si usa dire, tanta roba)

 

Autostima ipertrofica penserete: eh già!  Come darvi torto 🤗

 

Ad ogni modo qualche valore -chiamiamolo così- “rustico” lo sto già registrando. Quando mi arriverà la prossima bolletta vi farò sapere di quanto si discosteranno i miei dati. 🤞

Link al commento
Condividi su altri siti

2 ore fa, Francesco_Primo ha scritto:

per me che ho lavorato per 42 e 10 mesi come carpentiere e magazziniere fare questo è, come si usa dire, tanta roba

E vorrei proprio vedere chi ha il coraggio di dire il contrario.

Link al commento
Condividi su altri siti

Adelino Rossi
Quote
Quote

Dall’altra però non vi nascondo che si è spenta un po’ l’autostima che mi ero dato rispetto al saper utilizzare il Plc e l’evoluzione della conoscenza del linguaggio di programmazione

 

Assolutamente, l'autostima è importante e non te la devi togliere, anzi, insisti. Solo che date le tue conoscenze attuali e la potenza del mezzo che possiedi, devi procedere per piccoli passi in modo lineare. Hai iniziato con le logiche, continua piano piano a progredire nella conoscenza in modo sempre positivo. Passare da situazioni logiche facilmente comprensibili al mondo dell'analogiche con codici più complessi e formule da implementare è più difficile e dovrebbe essere un passo successivo. Sei partito in modo semplificato con una formula che ti è stata suggerita giustamente dall'elettricista, hai semplificato la formula senza dirlo da subito al primo post e hai posto il quesito su un forum tecnico. Le risposte sono state naturali e pertinenti. Devi solo approcciare in modo diverso i problemi. e sopratutto continua. Hai il vantaggio notevole che se "tanto non funziona ricominci da capo e non fai danni".

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