Energiehaushalt eines Hauses: Energieerzeugung EEZ: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 254: Zeile 254:


== Komponente Flächenberechnung ==
== Komponente Flächenberechnung ==
'''Eingänge'''
'''Eingänge und Parameter'''
* PAR_LKT_Grundflaeche = <math>100\,m^2</math>
* PAR_LKT_Grundflaeche = <math>100\,m^2</math>
* PAR_LKT_Deckenhoehe = <math>2{,}5\,m</math>
* PAR_LKT_Deckenhoehe = <math>2{,}5\,m</math>
Zeile 287: Zeile 287:


== Komponente Wärmeverlust ==
== Komponente Wärmeverlust ==
'''Eingänge und Parameter'''
* PAR_LKT_Grundflaeche = <math>100\,m^2</math>
* ISO_FlaecheWand = <math>75\,m^2</math>
* ISO_FlaecheFenster = <math>25\,m^2</math>
* PAR_LKT_Temperatur aus Temperaturdaten.mat
* ISO_IstTemp = <math>25\,^{\circ}C</math>
* PAR_ISO_WaendeUWert = <math>0{,}187\,W/(m^2K)</math>
* PAR_ISO_DachUWert = <math>0{,}188\,W/(m^2K)</math>
* PAR_ISO_FensterUWert = <math>0{,}5\,W/(m^2K)</math>
* PAR_ISO_BodenUWert = <math>0{,}073\,W/(m^2K)</math>


'''Ausgänge'''
* ISO_Waermeverlust [W]
* ISO_TempDiff [°C]
{| class="wikitable"
{| class="wikitable mw-collapsible mw-collapsed"
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID'''
| align="center" style="background:#4472C4; color:white"|'''Testfall-Name'''
| align="center" style="background:#4472C4; color:white"|'''Anforderung'''
| align="center" style="background:#4472C4; color:white"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#4472C4; color:white"|'''Aktionen'''
| align="center" style="background:#4472C4; color:white"|'''Erwartetes Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Bewertung'''
| align="center" style="background:#4472C4; color:white"|'''Kommentar'''
|-
| 1 || Test auf die Aktualisierung der Dateien || 001 || Software SVN vorbereiten. || Update SVN || Keine Fehlermeldung || Keine Fehlermeldung || i. O. ||
|-
| 2 || Test auf die Matlab/Simulink Version || 002 || MATLAB R2022a + Simulink Version 10.5 installieren. || MATLAB Skript "start.m" mit MATLAB R2022a öffnen und im Editor "Run" drücken || Haus.slx wird ohne Fehlermeldung geöffnet || Haus.slx wird ohne Fehlermeldung geöffnet || i. O. ||
|-
| 3 || Test auf alle Eingänge = 0 || 028 || Parameter geladen. || Simulation eines Zeitschritts || Alle Ausgänge = 0 || Alle Ausgänge = 0 || i. O. ||
|-
| 4 || Test auf Laden der Parameter PAR_LKT_Temperatur, ISO_IstTemp, ISO_TempDiff || 047-049 || Parameter geladen. || Run MATLAB Parameterdatei || Parameter im Workspace || Parameter im Workspace || i. O. ||
|-
| 5 || Test des Wärmeverlusts der Wandfläche || 023 || Parameter geladen. PAR_FlaecheWand = 75; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 0; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; || Simulation eines Zeitschritts || Waermeverlust = <math>-210{,}4\,W</math> || Waermeverlust = <math>-210{,}4\,W</math> || i. O. ||
|-
| 6 || Test des Wärmeverlusts der Fensterfläche || 016 || Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 25; PAR_Grundflache = 0; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; || Simulation eines Zeitschritts || Waermeverlust = <math>-187{,}5\,W</math> || Waermeverlust = <math>-187{,}5\,W</math> || i. O. ||
|-
| 7 || Test des Wärmeverlusts der Bodenfläche || 022 || Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 100; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; || Simulation eines Zeitschritts || Waermeverlust = <math>-391{,}5\,W</math> || Waermeverlust = <math>-391{,}5\,W</math> || i. O. ||
|-
| 8 || Test des Wärmeverlusts des Dachs || 014 || Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 100; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; || Simulation eines Zeitschritts || Waermeverlust = <math>-391{,}5\,W</math> || Waermeverlust = <math>-391{,}5\,W</math> || i. O. ||
|}


== Komponente Wärmekapazität ==
== Komponente Wärmekapazität ==
'''Eingänge und Parameter'''
* ISO_FlaecheWand = <math>100\,m^2</math>
* ISO_Grundflaeche = <math>100\,m^2</math>
* ISO_FlaecheFenster = <math>25\,m^2</math>
* PAR_ISO_WaermekapazitaetWand = <math>353\,kJ/(m^2K)</math>
* PAR_ISO_WaermekapazitaetDach = <math>448\,kJ/(m^2K)</math>
* PAR_ISO_WaermekapazitaetFenster = <math>21{,}6\,kJ/(m^2K)</math>
* PAR_ISO_WaermekapazitaetBoden = <math>63\,kJ/(m^2K)</math>


'''Ausgänge'''
* ISO_Waermekapazitaet
{| class="wikitable"
{| class="wikitable mw-collapsible mw-collapsed"
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID'''
| align="center" style="background:#4472C4; color:white"|'''Testfall-Name'''
| align="center" style="background:#4472C4; color:white"|'''Anforderung'''
| align="center" style="background:#4472C4; color:white"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#4472C4; color:white"|'''Aktionen'''
| align="center" style="background:#4472C4; color:white"|'''Erwartetes Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Bewertung'''
| align="center" style="background:#4472C4; color:white"|'''Kommentar'''
|-
| 1 || Test auf alle Eingänge = 0 || 032 || Parameter geladen. || Simulation eines Zeitschritts || alle Ausgänge = 0 || alle Ausgänge = 0 || i. O. || Keine Anforderung im Lastenheft dazu gefunden
|-
| 2 || Test auf korrekte Formel, wenn Außentemperatur größer als Innentemperatur ist || 032 || Parameter geladen. ISO_TempDiff = <math>-1\,K</math> || Simulation eines Zeitschritts || ISO_Waermekapazitaet = <math>24{,}3432\,kWh</math> || ISO_Waermekapazitaet = <math>24{,}3432\,kWh</math> || i. O. || Keine Anforderung im Lastenheft dazu gefunden
|-
| 3 || Test auf korrekte Formel, wenn Innentemperatur größer als Außentemperatur ist || 032 || Parameter geladen. ISO_TempDiff = <math>-1\,K</math> || Simulation eines Zeitschritts || ISO_Waermekapazitaet = <math>-24{,}3432\,kWh</math> || ISO_Waermekapazitaet = <math>-24{,}3432\,kWh</math> || i. O. || Keine Anforderung im Lastenheft dazu gefunden -> macht eine negative Wärmekapazität Sinn?
|-
| 4 || Test auf Einheiten || 032 ||  || Einheiten der Signale ohne Simulation überprüft || Wärmekapazität laut Wikipedia in J/K || Wärmekapazität in J bzw. kWh, also eine Energie || n. i. O. || Ist der Ausgang dann eher eine Wärmeenergie?
|}


== Komponente IstTemp ==
== Komponente IstTemp ==
'''Eingänge und Parameter'''
* ISO_Waermekapazitaet = <math>25\,kWh</math>
'''Ausgänge'''
* ISO_IstTemp [<math>^{\circ}C</math>]
{| class="wikitable"
{| class="wikitable mw-collapsible mw-collapsed"
| align="center" style="background:#4472C4; color:white"|'''Testfall-ID'''
| align="center" style="background:#4472C4; color:white"|'''Testfall-Name'''
| align="center" style="background:#4472C4; color:white"|'''Anforderung'''
| align="center" style="background:#4472C4; color:white"|'''Vorbedingungen und Eingänge'''
| align="center" style="background:#4472C4; color:white"|'''Aktionen'''
| align="center" style="background:#4472C4; color:white"|'''Erwartetes Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Ergebnis'''
| align="center" style="background:#4472C4; color:white"|'''Bewertung'''
| align="center" style="background:#4472C4; color:white"|'''Kommentar'''
|-
| 1 || Test auf alle Eingänge = 0 || 048 || Parameter geladen. || Simulation eines Zeitschritts || alle Ausgänge = 0 || alle Ausgänge = 0 || i. O. ||
|-
| 2 || Test auf verbrauchte Leistung größer als Wärmeverlust || 048, 050 || HZT_Verbrauchteleistung = 200; ISO_Waermeverlust = 100 || Simulation mehrere Zeitschritte, da Integratorblock genutzt wird || Ausgang ISO_IstTemp steigt an || Ausgang ISO_IstTemp steigt an || i. O. || Gain-Block muss angepasst werden. Temperatur steigt aktuell drastisch an auf unrealistische Werte. Evtl. begrenzen mit Saturationsblock.
|-
| 3 || Test auf verbrauchte Leistung größer als verbrauchte Leistung || 048, 050 || HZT_Verbrauchteleistung = 100; ISO_Waermeverlust = 200 || Simulation mehrere Zeitschritte, da Integratorblock genutzt wird || Ausgang ISO_IstTemp sinkt ab || Ausgang ISO_IstTemp sinkt ab || i. O. || Gain-Block muss angepasst werden. Temperatur steigt aktuell drastisch an auf unrealistische Werte. Evtl. begrenzen mit Saturationsblock.
|}


= Integrationstest =
= Integrationstest =

Version vom 3. Juli 2023, 18:22 Uhr

Abbildung 1: Symbolbild der Seminaraufgabe [1]

Autoren: Daniel Gosedopp und Junjie Lyu
Betreuer: Prof. Dr.-Ing. M. Göbel

→ zum Hauptartikel: Systems Design Engineering - Seminaraufgabe SoSe 2023: Energiehaushalt eines Hauses

Einleitung

Im Rahmen der Lehrveranstaltung Systems Design Engineering im Studiengang Business and Systems Engineering soll ein Modell für den Energiehaushalt eines Hauses entwickelt werden. Dazu wird das Gesamtsystem in mehrere Module eingeteilt. Dieser Artikel beschreibt das Modul Energieerzeugung (kurz: EEZ).

Zielsetzung der Seminaraufgabe

Ziel der Seminaraufgabe ist es, das in der Softwareentwicklung weit verbreitete V-Modell (siehe Abb. 2) auf ein Beispielsystem (Haus) anzuwenden. Dabei wird der komplette Entwicklungsprozess von der Anforderungsdefinition über den Systementwurf und die Implementierung bis zum Testen der Software durchlaufen. In jeder Phase wird überprüft, ob die Arbeitsergebnisse den Spezifikationen aus der vorherigen Phase genügen. Dadurch wird die Effizienz und Qualität der Softwareentwicklung erhöht und die Fehleranfälligkeit minimiert. Durch die direkte Anwendung auf ein System sollen die Vorteile bei der Einhaltung des V-Modells "hands-on" von den Studierenden erfahren werden.

Abbildung 2: V-Modell der Seminaraufgabe


Anforderungsdefinition: Lastenheft

ID Typ (I = Info, A = Anforderung) Kapitel Inhalt Ersteller Datum Durchsicht von am Status Auftraggeber Kommentar Auftraggeber Status Auftragnehmer Kommentar Auftragnehmer
001 I 1 Rahmenbedingungen
002 A Es ist Tageslicht vorhanden. Lyu, Gosedopp 17.04.2023 Akzeptiert mit Einschr. wir werden Tag + Nacht simulieren. Daher ist die Anf. nicht relevant.
003 A Die Fläche der EEZ-Anlage lässt sich für jede Ausrichtung (Osten, Süden, Westen) über jeweils einen Parameter einstellen. Lyu, Gosedopp 17.04.2023 Akzeptiert Neigungswinkel als Parameter einstellen. Machen Sie die Ausrichtung mit 3 Flächen (eine Ost, eine Süd, eine West) Solarsystemen Die Fläche über 3 Parameter einstellen.
004 A Ein potenzieller Schattenwurf wird im Simulationsmodell vernachlässigt. Lyu, Gosedopp 17.04.2023 Akzeptiert Einfach Nettofläche einstellen, ohne Verschattung.
005 A Auf dem Dach werden Warmwasserkollektoren und Photovoltaik-Module verbaut. Lyu, Gosedopp 23.04.2023 Akzeptiert
006 A Das Dach ist stabil gedeckt, die Neigungswinkel der EEZ-Anlage sind also konstant. Lyu, Gosedopp 17.04.2023 Akzeptiert
007 I 2 Stromerzeugung
008 A Die PV-Anlage wird auf drei Flächen verteilt (Ausrichtung nach Osten, Süden und Westen), wobei die Flächen jeweils als Parameter eingestellt werden können. Lyu, Gosedopp 23.04.2023 Abgelehnt gleich zu 003
009 A Je nach elektrischer Sollleistung werden mehrere PV-Module in Reihe zu einem sog. String verschaltet. Sind mehrere Strings vorhanden, werden diese parallel geschaltet. Lyu, Gosedopp 17.04.2023 Akzeptiert
010 A Der gewonnene Gleichstrom muss mit einem Wechselrichter in Wechselstrom umgewandelt werden. Lyu, Gosedopp 17.04.2023 Akzeptiert
011 A Die Abmaße eines Panels sowie dessen maximale Leistung werden nach in der Praxis üblichen Werten gewählt. Lyu, Gosedopp 17.04.2023 Akzeptiert
012 A Wenn mehr elektrische Energie erzeugt, als verbraucht wird, soll die überschüssige Energie gespeichert werden. Ist der Speicher voll, fließt der Strom ungenutzt ins Netz. Die Einspeisevergütung wird als Parameter festgelegt. Lyu, Gosedopp 17.04.2023 Abgelehnt Einspeisevergütung einstellbar als Parameter (Gruppe SPC_Speicher) -> das macht der Speicher. Bitte in Absprache dahin verschieben. Sie liefern "nur" Leistung, SP muss dann speichern oder einspeisen.
013 I 3 Warmwassergewinnung
014 A Für den Warmwasserkollektor wird eine feste Ausrichtung und ein fester Neigungswinkel über einen Parameter eingestellt. Lyu, Gosedopp 23.04.2023 Akzeptiert Warmwasserkollektor (eine Ausrichtung und Neigung) noch mit hinzunehmen.
015 A Ein Warmwasserspeicher muss vorhanden sein, damit auch z.B. nachts warmes Wasser vorhanden ist. Lyu, Gosedopp 23.04.2023 Akzeptiert Verweis auf Gruppe SP machen
016 I 4 Schnittstellen
017 A Die gewonnenen Ertragsmengen werden für PV-Anlage und Warmwasserkollektor werden jeweils in der SI-Einheit Watt ausgegeben. Lyu, Gosedopp 23.04.2023 Akzeptiert
018 I 5 Robustheit
019 A Das Modul EEZ funktioniert unter den Bedingungen windig, regnerisch, bewölkt und verschneit. Lyu, Gosedopp 17.04.2023 Akzeptiert
020 A Das Modul funktioniert für eine Außentemperatur zwischen -50° bis +70°. Lyu, Gosedopp 17.04.2023 Akzeptiert
021 I 6 Software/Werkzeuge
022 A Das Modul wird in Simulink modelliert und in MATLAB parametriert. (MATLAB Version R2022a) Lyu, Gosedopp 17.04.2023 Akzeptiert
023 I 7 Dokumentation
024 A Die Dokumentation erfolgt nachhaltig in SVN Akzeptiert
025 A Zum Modul wird ein Wiki-Artikel erstellt. Lyu, Gosedopp 17.04.2023 Akzeptiert
026 A Die Modellierung wird schrittweise beschrieben. Lyu, Gosedopp 17.04.2023 Akzeptiert
027 A Der Programmcode und das Modell werden hinreichend kommentiert. Lyu, Gosedopp 17.04.2023 Akzeptiert
027 A Der Programmcode und das Modell werden hinreichend kommentiert. Lyu, Gosedopp 17.04.2023 Akzeptiert
025 A Zum Modul wird ein Wiki-Artikel erstellt. Lyu, Gosedopp 17.04.2023 Akzeptiert
026 A Die Modellierung wird schrittweise beschrieben. Lyu, Gosedopp 17.04.2023 Akzeptiert
027 A Der Programmcode und das Modell werden hinreichend kommentiert. Lyu, Gosedopp 17.04.2023 Akzeptiert

Funktionaler Systementwurf

Der funktionale Systementwurf war im Sommersemester 2023 kein Bestandteil der Gruppenaufgabe und wurde von Prof. Göbel, wie in Abb. 3 dargestellt, bereitgestellt.

Abbildung 3: Funktionaler Systementwurf der Seminaraufgabe


Technischer Systementwurf

Das Modul EEZ wird in die vier Komponenten "Sonne", "Photovoltaik", "Warmwasserkollektor" und "Wechselrichter" untergliedert. Im technischen Systementwurf werden die Ein- und Ausgänge der Komponenten ebenfalls festgelegt. Die Komponente "Sonne" bekommt als Eingang die Simulationszeit und gibt eine Globalstrahlung aus. Diese dient als Eingang für die Komponenten "Photovoltaik" und "Warmwasserkollektor", welche eine elektrische Leistung (Gleichstrom) bzw. eine Warmwasserleistung ausgeben. Die Komponente "Wechselrichter" macht aus der Gleichstromleistung eine Wechselstromleistung. Abbildung 4 zeigt den Aufbau des Moduls EEZ.

Abbildung 4: Technischer Systementwurf des Moduls EEZ


Komponentenspezifikation

In der Komponentenspezifikation werden die Aufgabe, das Verhalten, der innere Aufbau und Schnittstellen für die im technischen Systementwurf erarbeiteten Komponenten definiert. Nachfolgend wird für jede der vier Komponenten eine Tabelle mit den jeweiligen Spezifikationen angelegt.

Sonne

Eingänge

  • Simulationszeit [s]

Ausgänge

  • EEZ_Globalstrahlung [W/m^2]

Parameter

  • PAR_EEZ_StrahlungLippstadt [W/m^2]
ID Kapitel Inhalt Ersteller Datum
1 Die Solarstrahlung für Lippstadt wird auf Basis der Daten des Global Solar Atlas berechnet. Darin sind für jeden Monat und jede Stunde die Energiemengen enthalten. Gosedopp, Lyu 08.05.2023
2 Diese Energiemenge wird aus der Excel-Datei ausgelesen und in eine Lookup-Tabelle gespeist. MATLAB interpoliert die Energiemenge dann, sodass im Modell nicht jeder Tag eines Monats gleich ist. Gosedopp, Lyu 08.05.2023
3 Da die Energiemenge (Wh/m^2) in der Excel-Tabelle für eine Stunde angegeben wird, besitzt die momentane Strahlungsleistung (Globalstrahlung in W/m^2) den jeweils gleichen Betrag. Dieser Wert ist der Ausgang der Komponente. Gosedopp, Lyu 08.05.2023
4 Die Simulationszeit in Sekunden wird durch 2628000 geteilt. Dies ist die Anzahl der Sekunden, die ein Monat hätte, wenn jeder Monat gleich viele Tage hätte. So wird der aktuelle Monat ungefähr bestimmt. Gosedopp, Lyu 08.05.2023
5 Der aktuelle Stunde ergibt sich aus der Simulationszeit geteilt durch 3600 Sekunden und dieses Ergebnis Modulo 23. Es muss dann 1 addiert werden, damit die Stunde Werte von 1-24 annimmt. Gosedopp, Lyu 08.05.2023
6 Monat und Stunde stellen die Eingänge einer 2-D Lookup Table dar. Die Werte sind Dezimal und steigen stetig, also nicht stufig an, sodass MATLAB interpolieren kann (Monat kann z.B. 6,5 sein für Mitte Juni) Gosedopp, Lyu 08.05.2023

Photovoltaik

Eingänge

  • EEZ_Globalstrahlung [W/m^2]

Ausgänge

  • EEZ_PVLeistung_DC [W]

Parameter

  • PAR_EEZ_PVNeigungswinkel [°]
  • PAR_EEZ_PVWirkungsgrad [-]
  • PAR_EEZ_PVAnzahlModule [-]
  • PAR_EEZ_PVModullaenge [m]
  • PAR_EEZ_PVModulbreite [m]
ID Kapitel Inhalt Ersteller Datum
1 Die Gesamtfläche wird aus der Länge und Breite eines Moduls sowie der Anzahl der Module durch Multiplikation berechnet. Gosedopp, Lyu 08.05.2023
2 Aus der Globalstrahlung, der Gesamtfläche der PV-Anlage und dem Wirkungsgrad der PV-Module berechnet sich die erzeugte elektrische Leistung (Gleichstrom) in Watt. Gosedopp, Lyu 08.05.2023
3 Die erzeugte elektrische Leistung muss auf die maximal erzeugbare Leistung der PV-Module begrenzt werden (Watt Peak Angabe). Gosedopp, Lyu 08.05.2023
4 Je nach Neigungswinkel und Ausrichtung wird diese Leistung nochmal mit einem Faktor zwischen 0 und 1 multipliziert. Dieser Faktor wird mit einer Lookup-Tabelle berechnet. Gosedopp, Lyu 08.05.2023

Warmwasserkollektor

Eingänge

  • EEZ_Globalstrahlung [W/m^2]

Ausgänge

  • EEZ_Warmwasserleistung [W]

Parameter

  • PAR_EEZ_WWKNeigungswinkel [°]
  • PAR_EEZ_WWKAnzahlModule [-]
  • PAR_EEZ_WWKModullaenge [m]
  • PAR_EEZ_WWKModulbreite [m]
  • PAR_EEZ_WWKTransmissionskoeffizient [-]
  • PAR_EEZ_WWKAbsorptionskoeffizient [-]
ID Kapitel Inhalt Ersteller Datum
1 Die Gesamtfläche wird aus der Länge und Breite eines Moduls sowie der Anzahl der Module durch Multiplikation berechnet. Gosedopp, Lyu 08.05.2023
2 Aus der Globalstrahlung, der Gesamtfläche des Warmwasserkollektors, der Transmissions- und Absorptionsköffizient der Warmwasser-Module berechnet sich die erzeugte Wärmeleistung in Watt. Gosedopp, Lyu 08.05.2023
3 Die erzeugte Wärmeleistung muss auf die maximal erzeugbare Leistung der Wärmewasser-Module begrenzt werden (Watt Peak Angabe). Gosedopp, Lyu 08.05.2023
4 Je nach Neigungswinkel wird diese Leistung nochmal mit einem Faktor zwischen 0 und 1 multipliziert. Dieser Faktor wird mit einer Lookup-Tabelle berechnet. Gosedopp, Lyu 08.05.2023

Wechselrichter

Eingänge

  • EEZ_PVLeistungDC [W]

Ausgänge

  • EEZ_PVLeistungAC [W]

Parameter

  • PAR_EEZ_DCACWirkungsgrad [-]
ID Kapitel Inhalt Ersteller Datum
1 Die erzeugte elektrische Gleichstromleistung wird vom Modul Wechselrichter in eine Wechselstromleistung umgerechnet. Dazu wird die Gleichstromleistung mit dem Wirkungsgrad des Wechselrichters multipliziert. Gosedopp, Lyu 08.05.2023

Programmierung / Modellierung

Nachdem die Vorbereitungen und Überlegungen in den Phasen des linken Asts des V-Modells abgeschlossen sind, kann die Programmierung bzw. Implementierung der einzelnen Komponenten erfolgen.

Komponente Sonne

In dieser Komponente wird aus dem aktuellen Monat und der aktuellen Stunde per "Lookup-Table"-Block eine Globalstrahlung in W/m^2 ermittelt. Für die aktuelle Stunde gilt:

Der aktuelle Monat wird aus einer weiteren "Lookup-Table" ermittelt. Dazu muss der aktuelle Tag im Jahr bekannt sein (also Tag 1 - Tag 365). Für den aktuellen Tag gilt:

Die Lookup-Table "Tag zu Monat" ermittelt schließlich den aktuellen Monat. Mit diesem und der aktuellen Stunde kann die Globalstrahlung ausgegeben werden.

Abbildung 5: Implementierung der Komponente "Sonne"


Komponente Photovoltaik

Hier werden zunächst aus den Abmaßen und der Anzahl der PV-Module für die drei Ausrichtungen Süden, Westen und Osten die Flächen berechnet (also Fläche Süd, Fläche West und Fläche Ost). Diese können zusammen mit dem Wirkungsgrad der PV-Module und der Globalstrahlung zu drei Leistungen verrechnet werden. Außerdem wird ein weiterer Wirkungsgrad für die Ausrichtung und Neigung dazumultipliziert (für Details siehe Photovoltaikanlage: Ausrichtung und Neigung). Dieser wird für die drei Ausrichtungen S, W, O mithilfe des Neigungswinkels aus je einer Lookup-Table ermittelt. Durch Addition der drei Teilleistungen S, W, O ergibt sich die aktuell gelieferte Gesamtleistung der PV-Anlage (Gleichstrom).

Abbildung 6: Implementierung der Komponente "Photovoltaik"


Komponente Warmwasserkollektor

Auch hier wird zunächst aus den Abmaßen und der Anzahl der WWK-Module für die Ausrichtung Süden die Fläche berechnet. Mit einem sog. Transmissions- und einem Absorptionskoeffizienten sowie der Globalstrahlung kann durch Multiplikation mit der Fläche eine Warmwasserleistung berechnet werden (für Details siehe die Kollektorgleichung). Diese muss ebenfalls mit einem Wirkungsgrad für den Neigungswinkel, welcher aus einer Lookup-Table ausgelesen wird, multipliziert werden, um die tatsächliche Warmwasserleistung zu erhalten.

Abbildung 7: Implementierung der Komponente "Warmwasserkollektor"


Komponente Wechselrichter

In dieser Komponente wird lediglich der Wirkungsgrad eines Wechselrichters berücksichtigt, sodass sich im Ergebnis eine Wechselstromleistung ergibt.

Abbildung 8: Implementierung der Komponente "Wechselrichter"


Komponententest

Den Komponententest haben wir für die Gruppe ISO durchgeführt. Die Testergebnisse werden für jede Komponente als Tabelle dargestellt.

Komponente Flächenberechnung

Eingänge und Parameter

  • PAR_LKT_Grundflaeche =
  • PAR_LKT_Deckenhoehe =
  • PAR_LKT_Fensterflaeche =

Ausgänge

  • ISO_FlaecheWand []
  • ISO_FlaecheFenster []
Testfall-ID Testfall-Name Anforderung Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
1 Test auf die Aktualisierung der Dateien 001 Software SVN vorbereiten. Update SVN Keine Fehlermeldung Keine Fehlermeldung i. O.
2 Test auf die Matlab/Simulink Version 002 MATLAB R2022a + Simulink Version 10.5 installieren. MATLAB Skript "start.m" mit MATLAB R2022a öffnen und im Editor "Run" drücken Haus.slx wird ohne Fehlermeldung geöffnet Haus.slx wird ohne Fehlermeldung geöffnet i. O.
3 Test auf alle Eingänge = 0 011 Parameter geladen. Simulation eines Zeitschritts Alle Ausgänge = 0 Alle Ausgänge = 0 i. O.
4 Test auf korrekte Formel für ISO_FlaecheFenster 011 Parameter geladen. Simulation eines Zeitschritts ISO_FlaecheFenster = ISO_FlaecheFenster = i. O.
5 Test auf korrekte Formel für ISO_FlaecheWand 011 Parameter geladen. Simulation eines Zeitschritts ISO_FlaecheFenster = ISO_FlaecheFenster = i. O.

Komponente Wärmeverlust

Eingänge und Parameter

  • PAR_LKT_Grundflaeche =
  • ISO_FlaecheWand =
  • ISO_FlaecheFenster =
  • PAR_LKT_Temperatur aus Temperaturdaten.mat
  • ISO_IstTemp =
  • PAR_ISO_WaendeUWert =
  • PAR_ISO_DachUWert =
  • PAR_ISO_FensterUWert =
  • PAR_ISO_BodenUWert =

Ausgänge

  • ISO_Waermeverlust [W]
  • ISO_TempDiff [°C]
Testfall-ID Testfall-Name Anforderung Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
1 Test auf die Aktualisierung der Dateien 001 Software SVN vorbereiten. Update SVN Keine Fehlermeldung Keine Fehlermeldung i. O.
2 Test auf die Matlab/Simulink Version 002 MATLAB R2022a + Simulink Version 10.5 installieren. MATLAB Skript "start.m" mit MATLAB R2022a öffnen und im Editor "Run" drücken Haus.slx wird ohne Fehlermeldung geöffnet Haus.slx wird ohne Fehlermeldung geöffnet i. O.
3 Test auf alle Eingänge = 0 028 Parameter geladen. Simulation eines Zeitschritts Alle Ausgänge = 0 Alle Ausgänge = 0 i. O.
4 Test auf Laden der Parameter PAR_LKT_Temperatur, ISO_IstTemp, ISO_TempDiff 047-049 Parameter geladen. Run MATLAB Parameterdatei Parameter im Workspace Parameter im Workspace i. O.
5 Test des Wärmeverlusts der Wandfläche 023 Parameter geladen. PAR_FlaecheWand = 75; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 0; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; Simulation eines Zeitschritts Waermeverlust = Waermeverlust = i. O.
6 Test des Wärmeverlusts der Fensterfläche 016 Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 25; PAR_Grundflache = 0; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; Simulation eines Zeitschritts Waermeverlust = Waermeverlust = i. O.
7 Test des Wärmeverlusts der Bodenfläche 022 Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 100; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; Simulation eines Zeitschritts Waermeverlust = Waermeverlust = i. O.
8 Test des Wärmeverlusts des Dachs 014 Parameter geladen. PAR_FlaecheWand = 0; PAR_Flaeche_Fenster = 0; PAR_Grundflache = 100; PAR_LKT_Temperatur = 10 °C; ISO_IstTemp = 25 °C; Simulation eines Zeitschritts Waermeverlust = Waermeverlust = i. O.

Komponente Wärmekapazität

Eingänge und Parameter

  • ISO_FlaecheWand =
  • ISO_Grundflaeche =
  • ISO_FlaecheFenster =
  • PAR_ISO_WaermekapazitaetWand =
  • PAR_ISO_WaermekapazitaetDach =
  • PAR_ISO_WaermekapazitaetFenster =
  • PAR_ISO_WaermekapazitaetBoden =

Ausgänge

  • ISO_Waermekapazitaet
Testfall-ID Testfall-Name Anforderung Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
1 Test auf alle Eingänge = 0 032 Parameter geladen. Simulation eines Zeitschritts alle Ausgänge = 0 alle Ausgänge = 0 i. O. Keine Anforderung im Lastenheft dazu gefunden
2 Test auf korrekte Formel, wenn Außentemperatur größer als Innentemperatur ist 032 Parameter geladen. ISO_TempDiff = Simulation eines Zeitschritts ISO_Waermekapazitaet = ISO_Waermekapazitaet = i. O. Keine Anforderung im Lastenheft dazu gefunden
3 Test auf korrekte Formel, wenn Innentemperatur größer als Außentemperatur ist 032 Parameter geladen. ISO_TempDiff = Simulation eines Zeitschritts ISO_Waermekapazitaet = ISO_Waermekapazitaet = i. O. Keine Anforderung im Lastenheft dazu gefunden -> macht eine negative Wärmekapazität Sinn?
4 Test auf Einheiten 032 Einheiten der Signale ohne Simulation überprüft Wärmekapazität laut Wikipedia in J/K Wärmekapazität in J bzw. kWh, also eine Energie n. i. O. Ist der Ausgang dann eher eine Wärmeenergie?

Komponente IstTemp

Eingänge und Parameter

  • ISO_Waermekapazitaet =

Ausgänge

  • ISO_IstTemp []
Testfall-ID Testfall-Name Anforderung Vorbedingungen und Eingänge Aktionen Erwartetes Ergebnis Ergebnis Bewertung Kommentar
1 Test auf alle Eingänge = 0 048 Parameter geladen. Simulation eines Zeitschritts alle Ausgänge = 0 alle Ausgänge = 0 i. O.
2 Test auf verbrauchte Leistung größer als Wärmeverlust 048, 050 HZT_Verbrauchteleistung = 200; ISO_Waermeverlust = 100 Simulation mehrere Zeitschritte, da Integratorblock genutzt wird Ausgang ISO_IstTemp steigt an Ausgang ISO_IstTemp steigt an i. O. Gain-Block muss angepasst werden. Temperatur steigt aktuell drastisch an auf unrealistische Werte. Evtl. begrenzen mit Saturationsblock.
3 Test auf verbrauchte Leistung größer als verbrauchte Leistung 048, 050 HZT_Verbrauchteleistung = 100; ISO_Waermeverlust = 200 Simulation mehrere Zeitschritte, da Integratorblock genutzt wird Ausgang ISO_IstTemp sinkt ab Ausgang ISO_IstTemp sinkt ab i. O. Gain-Block muss angepasst werden. Temperatur steigt aktuell drastisch an auf unrealistische Werte. Evtl. begrenzen mit Saturationsblock.

Integrationstest

Systemtest

Fazit

Literaturverzeichnis