Programmieren eines Wärmespeichers
#1
Guten Tag zusammen, 
ich möchte gerne einen Wärmespeicher programmieren. Hierfür kurz ein paar Hintergrundinformationen:

- Es gibt einen vorgegebenen Wärmebedarf, welcher zu jeder Zeit gedeckt werden muss. Dieser ist stündlich für ein ganzes Jahr angegeben. 
- Die Wärmeversorgung findet über eine Solarthermieanlage, und einen Erdgas-Kessel statt. 
- Die Wärmeerzeugung durch Solarthermie ist vorgegeben.
- Nur Wärme aus der Solarthermieanlage soll in den Wärmespeicher eingespeichert werden, wenn zu einem Zeitpunkt die Wärmeerzeugung der Solarthermie den Wärmebedarf übersteigt. 
- Der Erdgas-Kessel deckt den Wärmebedarf, wenn Solarthermie und Speicher nicht genügend Leistung erbringen können.  

Mein Problem ist folgendes: 
Die Nutzung des Erdgas-Kessels soll minimiert werden. Um dies zu erreichen, soll die Speicherkapazität und die Leistung mit welcher maximal ein- und ausgespeichert werden kann, flexibel einstellbar sein. 
Die Ein- und Ausspeicherung von Wärme, sowie der Speicherfüllstand soll für jede Stunde berechnet werden. Daran hängt dann auch die Wärmeerzeugung des Erdgas-Kessels. 

Der Speicherfüllstand ist sowohl von der Beladung mit Wärme, als auch von der Entladung von Wärme abhängig. Da ein Speicher aber auch nur beladen werden kann bis er voll ist, hängt auch die Einspeicherung vom Füllstand ab. Hier schließt sich in meinem Kopf ein Zirkelbezug, von welchem ich nicht nicht weiß wie ich ihn umgehen kann.  

Ich habe dazu ein Excel File vorbereitet und hoffe jemand kann mir damit helfen. 
Vielen besten Dank an alle Helfer*Innen bereits im Voraus!
Grüßle 
Sim05


Angehängte Dateien
.xlsx   Wärmespeicher Hilfe.xlsx (Größe: 12,76 KB / Downloads: 7)
Top
#2
(15.05.2020, 11:06)sim05 schrieb: Die Nutzung des Erdgas-Kessels soll minimiert werden. 

So weit ich da dem Heizungsinstallateur meines Vertrauens folgen kann, kommt es eher (oder zusätzlich) darauf an, dass der Brenner möglichst selten anspringt und im Gegenzug jeweils möglichst lange läuft.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#3
Hallo sim05,

ich habs so verstanden:


Angehängte Dateien
.xlsx   Wärmespeicher Hilfe.xlsx (Größe: 14,38 KB / Downloads: 7)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • sim05
Top
#4
Das sieht super aus ! 
Vielen Dank für die super schnelle Hilfe!!!
Wunderschönes Wochenende für euch alle :)
Top
#5
Hallo nochmal, 
ich habe nun Versucht eine weitere Bedingung für die Beladung des Speichers hinzuzufügen, was mir nicht ganz gelang. 
Der Wärmespeicher gilt als voll, wenn er keine weitere Energie mehr aufnehmen kann. Dies ist der Fall, wenn die Temperatur im Speicher nicht weiter erhöht werden kann. 
Allerdings sinkt die Aufnahmefähigkeit des Wärmespeichers mit steigender Temperatur ab. Nehmen wir an, der Speicher kann maximal auf 80°C aufgeheizt werden, da der Solarkollektor keine höheren Temperaturen produzieren kann. Dann kann der Speicher, wenn er nur 50°C warm ist, (was bspw. einem Füllstand von 20 % entspricht) die anliegende Leistung des Solarkollektors (bspw. 20 kW) besser aufnehmen, als wenn der Speicher bereits 75°C hat (Füllstand 90 %). 
Ich habe versucht dies linear abzubilden, indem ich eine Gerade aufstelle, welche für zwei mögliche Füllstände (0 % und 100 %) einen Einspeicherungs-Wirkungsgrad vorgibt (von 100 % Wirkungsgrad, was bedeutet, dass die volle anliegende Leistung in den Speicher kann, bis 10 % Wirkungsgrad). 
So kann für jeden vorliegenden Füllstand ein Wirkungsgrad berechnet werden, welcher die Einspeicherleistung begrenzt. 
Damit erstelle ich aber einen Zirkelbezug, da der Speicherfüllstand abhängig ist von der Einspeicherleistung und die Einspeicherleistung nun auch abhängig sein soll vom Speicherfüllstand. 

Hätten Sie, oder jemand anders hier eine Idee, wie dieser Zirkelbezug umgangen werden kann? 
Die Datei habe ich mal angehängt.

Vielen Dank für jegliche Rückmeldung bereits im Voraus! 
Grüße 
Sim05


Angehängte Dateien
.xlsx   Wärmespeicher Hilfe 3.xlsx (Größe: 21,81 KB / Downloads: 2)
Top
#6
Hallo sim05,



die Speicherfüllstände in einer Zeile sind die Füllstände zum Ende der Stunde. Bei einer Einspeisung wäre die Leistung zu Beginn der Stunde ein wenig höher. Das berechnete Ergebnis wäre also ein wenig zu klein.

Um einen Zirkelbezug zu vermeiden könntest du bei der Berechnung des Wirkungsgrades:
a) den Füllstand der vorhergehenden Zeile nehmen (dann wäre das berechnete Ergebnis ein wenig zu hoch) oder

b) eine Annäherung an den Mittelwert der Stunde nehmen indem du zu dem Füllstand der vorherigen Stunde die Hälfte der mit diesem Wirkungsgrad berechnete mögliche Einspeichermenge addierst (dann wäre das Ergebnis wieder etwas zu klein).
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • sim05
Top
#7
Hallo Ego, 
erneut vielen Dank für deine Hilfe! Du hast mir geholfen ein besseres Verständnis für die ganze Sache zu bekommen! 
Ich habe das ganze jetzt so schalten können, wie ich es brauche. 

Danke und evtl. bis nächstes mal :)
Sim05
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste