Energiehaushalt eines Hauses: Heizungsregelung HZR: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 86: Zeile 86:
Der Komponententest ist die erste Teststufe innerhalb des V-Modells, in welcher die einzelnen Komponenten in einem Modul auf ihre Funktionsfähigkeit getestet werden. Die Tests führt immer eine andere Gruppe durch als die, die das Modul implementiert hat, da diese ihre eigenen Fehler in den meisten Fällen nicht sehen würde. Zuerst werden dafür Testfälle aufgestellt, di sich an den Anforderungen im Lastenheft richten, weshalb diese anfangs auch überprüfbar formuliert werden sollten. Für die Tests werden die Komponenten isoliert und durch Testsoftware mit bestimmten Eingangsparametern und -werten versorgt. Anhand der Ausgangswerte lässt sich dann entscheiden ob ein Testfall bestanden oder durchgefallen ist.  
Der Komponententest ist die erste Teststufe innerhalb des V-Modells, in welcher die einzelnen Komponenten in einem Modul auf ihre Funktionsfähigkeit getestet werden. Die Tests führt immer eine andere Gruppe durch als die, die das Modul implementiert hat, da diese ihre eigenen Fehler in den meisten Fällen nicht sehen würde. Zuerst werden dafür Testfälle aufgestellt, di sich an den Anforderungen im Lastenheft richten, weshalb diese anfangs auch überprüfbar formuliert werden sollten. Für die Tests werden die Komponenten isoliert und durch Testsoftware mit bestimmten Eingangsparametern und -werten versorgt. Anhand der Ausgangswerte lässt sich dann entscheiden ob ein Testfall bestanden oder durchgefallen ist.  


Wir haben die Komponenten der Gruppe Energieerzeugung getestet.
Wir haben das Modul der Gruppe Energieerzeugung getestet, welches sich aus den Komponenten Photovoltaik, Solarstrahlung, Warmwasserkollektor und dem Wechselrichter zusammensetzt. In der folgenden ist beispielhaft die Testumgebung für den Warmwasserkollektor zu sehen. Die Parameter der Gruppe wurden vorab geladen. Die Eingänge wurden durch Konstanten ersetzt, welche sich leicht verändern lassen, um verschiedene Testszenarien zu durchlaufen. Ausgänge wurden mit einem Display versehen, damit die errechneten Werte auf Plausibilität überprüft werden können. In diesem Szenario wird zum Beispiel bei geladenen Parametern und einer Globalstrahlung von 200 W/m^2 eine Warmwasserleistung von ca. 611 Watt ausgegeben, was durchaus realistisch ist.
 
[[Datei:EEZ Komponententest.png|thumb|left|600px|Ein Komponententest mit einer Komponente der Gruppe EEZ]]
<br clear=all>
 
Analog zu diesem Test, wurden weitere Testfälle bei dieser und den anderen Komponenten durchgeführt.


== Integrationstest ==
== Integrationstest ==
Zeile 92: Zeile 97:


Wir haben erneut die EEZ Gruppe getestet.
Wir haben erneut die EEZ Gruppe getestet.
Auch hierzu wurde eine eigene Testumgebung erstellt, um die Ausgangswerte des Moduls nachzuvollziehen und zu prüfen. Hier ist eine Rückkopplung erforderlich, da der einzige Eingang die Simulationszeit ist, welche innerhalb des Moduls abgefragt wird. Die Simulationszeit entspricht der abgelaufenen Zeit im Jahr in Sekunden. In der folgenden Abbildung ist ein Testszenario nach 4,8*10^7 Sekunden zu sehen, was einem Zeitpunkt von 12 Uhr am 191 Tag des Jahres (Mitte Juli) entspricht. In diesem Fall erscheinen die ausgegebene Leistungen realistisch, womit dieses Testszenario bestanden ist.
[[Datei:EEZ Integrationstest.png|thumb|left|600px|Ein Komponententest mit einer Komponente der Gruppe EEZ]]
<br clear=all>
Auf diese Weise wurden weitere Testfälle durchgeführt und miteinander auf plausible Ausgangswerte verglichen.


== Systemtest ==
== Systemtest ==
Das ist die letzte interne Teststufe, hier wird nun das gesamte System betrachtet, also die Summe aus allen Modulen, ob diese korrekt miteinander funktionieren und kommunizieren. Auch hier werden Testfälle anhand der Anforderungen ans gesamte System definiert und überprüft, ob das gesamte System lauffähig ist und korrekt funktioniert. Hier wird in der Regel keine ausgefeilte Testumgebung mehr benötigt, da das System ja für sich auch funktionieren soll.  
Das ist die letzte interne Teststufe, hier wird nun das gesamte System betrachtet, also die Summe aus allen Modulen, ob diese korrekt miteinander funktionieren und kommunizieren. Auch hier werden Testfälle anhand der Anforderungen ans gesamte System definiert und überprüft, ob das gesamte System lauffähig ist und korrekt funktioniert. Hier wird in der Regel keine ausgefeilte Testumgebung mehr benötigt, da das System ja für sich auch funktionieren soll.  


Lorem Ipsum
Für den Test wurden die verschiedenen Ausgänge Scopes zugeordnet, um die Signale über die Laufzeit der Simulation zu betrachten und zu analysieren. Grundsätzlich funktioniert das System weitestgehend sinnvoll, jedoch sind kleine Fehler aufgefallen.
Im folgenden Scope ist zum Beispiel das Regelverhalten anhand von Solltemperatur (grün) und Isttemperatur (gelb) zu sehen. Zu einigen Zeitpunkten ist zu erkennen, dass beide Temperaturen synchron über die Solltemperatur hinaussteigen. Dieser Fehler konnte aber im weiteren Verlauf durch weitere Tests und Einstellen der Reglerparameter P, I, und D behoben werden.
 
[[Datei:Systemtest 1.png|thumb|left|600px|Das Temperaturverhalten der Soll- und Isttemperaturen im Gesamtsystem]]
<br clear=all>
 
In diesem Scope sind weitere Leistungen zu erkennen, welche sinnvoll und je nach Bedarf durch das System errechnet und ausgegeben werden.
 
[[Datei:Systemtest 2.png|thumb|left|600px|Weitere Leistungen im System]]
<br clear=all>
 
Ebenso lassen sich daran Kosten und Verbräuche errechnen:
[[Datei:Systemtest 3.png|thumb|left|600px|Weitere Leistungen im System]]
<br clear=all>
 
Der Systemtest erfüllt also seinen Zweck und zeigt, dass die gesamte Haussimulation mit all ihren Modulen und Komponenten lauffähig ist und auch sinnvolle Ergebnisse produziert. Ebenso fallen aber auch Fehler auf, welche zum Beispiel durch das Zusammenspiel aller Module entstehen und in Nachhinein dann behoben werden können.


== Fazit ==
== Fazit ==

Version vom 4. Juli 2023, 13:53 Uhr

Autoren: Florian Pichmann; Nils Betten
Betreuer: Prof. Dr.-Ing. M. Göbel

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



Einleitung

Kommunikation und Organisation sind ein sehr wichtiger Grundpfeiler eines jeden Projektes, insbesondere wenn das Projekt und insbesondere die Entwicklung von mehr als einer Person durchgeführt wird. Damit diese Organisation gleichbleibend und wiederholbar abläuft, sind definierte Entwicklungsprozesse und -modelle erforderlich, damit ein Team mit immer gleichen, strukturierten Arbeitsabläufen reproduzierbar gute Ergebnisse abliefern kann und auch neue Mitglieder des Teams die Abläufe schnell verstehen und sich einarbeiten können. Aus diesem Grund haben wir in diesem Seminar die modellbasierte Entwicklung geübt.


Zielsetzung der Seminaraufgabe

Der Sinn dieser Aufgabe ist es, den vollständigen Ablauf des V-Modells als ein industrierelevantes Modell kennenzulernen und als Gruppe durchzuführen, um zu üben, wie man als Gruppe zusammenarbeiten und kommunizieren muss. Um dies zu üben haben wir als Kurs den Energiehaushalt eines Hauses recherchiert und danach simuliert. Um dies zu erfüllen haben wir insgesamt sechs Gruppen gebildet in denen wir einzelne Teilbereiche dieser Aufgabe bearbeitet haben.

Wir haben uns mit der Simulation der Heizungssteuerung für das Haus beschäftigt.


V-Modell

Wir haben im Rahmen dieses Projektes das V-Modell[1] zur Organisation der Entwicklung unseres Projektes eingesetzt. Das V-Modell zeichnet sich insbesondere dadurch aus, dass jeder Phase in der Konzeptionierung und Implementierung des Projektes eine entsprechende Testphase gegenübersteht, was dazu führt dass nach diesem Modell entwickelte Projekte sehr gut getestet und dokumentiert werden. Die einzelnen Schritte des V-Modells umfassen:

  • Anforderungsdefinition
  • Funktionaler Systementwurf
  • Technischer Systementwurf
  • Komponentenentwurf
  • Programmierung/Modellierung
  • Komponententest
  • Integrationstest
  • Systemtest

Der Vorteil des V-Modells ist, dass man aus einer Stufe immer noch die Ergebnisse einer vorherigen Stufe korrigieren kann, falls bei der detaillierteren Umsetzung noch bessere/einfachere Wege offensichtlich werden oder aber feststellt, das zB eine bestimmte Anforderung in der Form gar nicht erfüllbar ist. Dann wird dies in den bereits fertiggestellten Dokumenten und Plänen korrigiert und per Versionsverwaltung allen zur Verfügung gestellt.

Darstellung des V-Modells


Anforderungsdefinition: Lastenheft

In der Anforderungsdefinition werden alle Anforderungen des Auftraggebers bzw Stakeholders in einem Dokument in einzelnen Stichpunkten aufgeführt und sind dort bewertbar formuliert, damit es später eindeutig möglich ist durch das Lastenheft zu gehen und zu sagen, welche Anforderungen erfüllt wurden und welche nicht.

Unsere Anforderungen sind gegliedert in Aufbau der Software, Anforderungen, Schnittstellen, Softwarewerkzeuge und Dokumentation. Die einzelnen Anforderungen enthalten das zugehörige Kapitel, die konkrete inhaltliche Anforderung, den Ersteller, das Datum der Erstellung, den akzeptiert/abgelehnt Status und eventuelle Kommentare des Auftraggebers.

Funktionaler Systementwurf

Der funktionale Systementwurf ist der logische Aufbau des Systems aus logischen Komponenten, die eine sinnvolle Trennung nach logischer Funktionalität berücksichtigt und anhand dessen eine Trennung in verschiedene Blöcke des Systems, sogenannte Module, vorgenommen wird. Falls nötig ist es auch an dieser Stelle möglich, ein Modul in weitere Untermodule zu gliedern falls eine Teilaufgabe zu komplex würde und es eine weitere Ebene zur klaren Zerlegung der Aufgabe benötigt.

Der funktionale Systementwurf war im Sommersemester 2023 kein Bestandteil der Gruppenaufgabe und wurde von Prof. Dr. Göbel bereitgestellt.

Technischer Systementwurf

Der technische Systementwurf nimmt ein einzelnes Modul aus dem funktionalen Systementwurf, in diesem Fall die Heizungsregelung(HZR), und definiert die noch abstrakte Funktion des Moduls in einzelnen Komponenten, falls nötig auch in einer feineren Untergliederung des Moduls in mehrere Komponenten. Die einzelnen Komponenten haben am Ende des technischen Entwurfes klar definierte Ein- und Ausgabeparameter und Signale und eine klar definierte Aufgabe.

Für die HZR wurden zwei Komponenten geschaffen:

  • Heizungsregelung: Diese Komponente hat die Aufgabe die aktuelle Temperatur des Hauses als Input von der Isolierungsgruppe auszulesen und daraus in einer Regelung eine Energieanforderung zu erstellen und diese an die Heizungstechnikgruppe zu geben.
  • Warmwasserspeicher: Diese Komponente erhält die Temperatur des Warmwassers von der ESP Gruppe und gibt eine Energieanforderung an die Heizungstechnik weiter.

Komponentenentwurf

Der Komponentenentwurf ist die genaue Aufstellung, wie die einzelnen Komponenten eines Moduls aufgebaut und verknüpft werden sollen. Das Ergebnis ist die Komponentenspezifikation, welche angibt, welche Komponenten wo im Modul vorhanden sein müssen und wie diese mit anderen Komponenten interagieren müssen um die Aufgabe des Moduls zu erfüllen. Anhand der Angaben in der Komponentenspezifikation wird später die Implementierung des Moduls durchgeführt.

Wir haben uns Gedanken über eine Funktionsstruktur gemacht und diese in den Komponentenplänen für die Heizungssteuerung und die Warmwassersteuerung niedergeschrieben. Ein großer Punkt beim Erstellen dieser Ablaufpläne war immer der Punkt, mittels if-Abfragen herauszufinden, wo im Tag oder im Regelzyklus wir gerade stehen um die entsprechenden Parameter zu laden, da zB nachts weniger stark geheizt wird als tagsüber.

Komponentenplan für die Heizungssteuerung


Komponentenplan für die Warmwassersteuerung



Programmierung / Modellierung

In diesem Abschnitt, der auch den längsten Zeitabschnitt haben sollte, werden alle vorher erarbeiteten Ergebnisse wie zum Beispiel die Komponentenspezifikation und der technische Systemplan in der Programmierung bzw Implementierung umgesetzt. Hier entsteht der Code oder das Simulink-Modell oder was auch immer in dem aktuellen Projekt entwickelt wird. Alle Teilgruppen des Teams arbeiten gleichzeitig an ihren jeweiligen Modulen was dazu führt, dass danach alle gleichzeitig fertig sein sollten und in die Tests übergehen können. Das Ergebnis dieses Abschnittes ist die Implementierung des Moduls.

Die im Modell blau markierten Konstanten sind die Parameter aus den vorangegangenen Plänen, diese sind in einer separaten .m Datei definiert. Diese befindet sich ebenfalls im SVN des Projektes.

Imolementierung der Heizungssteuerung mittels PID-Regler in Simulink


Implementierung der Warmwassersteuerung mittels Hysterese in Simulink


Komponententest

Der Komponententest ist die erste Teststufe innerhalb des V-Modells, in welcher die einzelnen Komponenten in einem Modul auf ihre Funktionsfähigkeit getestet werden. Die Tests führt immer eine andere Gruppe durch als die, die das Modul implementiert hat, da diese ihre eigenen Fehler in den meisten Fällen nicht sehen würde. Zuerst werden dafür Testfälle aufgestellt, di sich an den Anforderungen im Lastenheft richten, weshalb diese anfangs auch überprüfbar formuliert werden sollten. Für die Tests werden die Komponenten isoliert und durch Testsoftware mit bestimmten Eingangsparametern und -werten versorgt. Anhand der Ausgangswerte lässt sich dann entscheiden ob ein Testfall bestanden oder durchgefallen ist.

Wir haben das Modul der Gruppe Energieerzeugung getestet, welches sich aus den Komponenten Photovoltaik, Solarstrahlung, Warmwasserkollektor und dem Wechselrichter zusammensetzt. In der folgenden ist beispielhaft die Testumgebung für den Warmwasserkollektor zu sehen. Die Parameter der Gruppe wurden vorab geladen. Die Eingänge wurden durch Konstanten ersetzt, welche sich leicht verändern lassen, um verschiedene Testszenarien zu durchlaufen. Ausgänge wurden mit einem Display versehen, damit die errechneten Werte auf Plausibilität überprüft werden können. In diesem Szenario wird zum Beispiel bei geladenen Parametern und einer Globalstrahlung von 200 W/m^2 eine Warmwasserleistung von ca. 611 Watt ausgegeben, was durchaus realistisch ist.

Ein Komponententest mit einer Komponente der Gruppe EEZ


Analog zu diesem Test, wurden weitere Testfälle bei dieser und den anderen Komponenten durchgeführt.

Integrationstest

Die Integrationstests sind die nächste Teststufe nachdem sichergestellt ist, dass alle Komponenten korrekt und innerhalb ihrer Spezifikationen arbeiten. Hier geht es um das korrekte Zusammenspiel der Komponenten innerhalb eines Moduls, also ob die korrekten Signale übergeben werden oder ob Edgecases zu Problemen führen. Auch hier testet nicht die Gruppe ihr eigenes Modul, da auch hier wieder die Gefahr von Annahmen und Betriebsblindheit zu groß ist. Es werden erneut Testfälle mit dem entsprechenden, zu erwartenden Ergebnis anhand des Lastenheftes definiert. Auch hier wird mit einer Testumgebung gearbeitet, diese Mal testet diese jedoch das gesamte Modul. Die Testfälle können erneut entweder bestanden oder durchgefallen sein, woraufhin das Team das dieses Modul implementiert hat nacharbeiten muss.

Wir haben erneut die EEZ Gruppe getestet. Auch hierzu wurde eine eigene Testumgebung erstellt, um die Ausgangswerte des Moduls nachzuvollziehen und zu prüfen. Hier ist eine Rückkopplung erforderlich, da der einzige Eingang die Simulationszeit ist, welche innerhalb des Moduls abgefragt wird. Die Simulationszeit entspricht der abgelaufenen Zeit im Jahr in Sekunden. In der folgenden Abbildung ist ein Testszenario nach 4,8*10^7 Sekunden zu sehen, was einem Zeitpunkt von 12 Uhr am 191 Tag des Jahres (Mitte Juli) entspricht. In diesem Fall erscheinen die ausgegebene Leistungen realistisch, womit dieses Testszenario bestanden ist.

Ein Komponententest mit einer Komponente der Gruppe EEZ


Auf diese Weise wurden weitere Testfälle durchgeführt und miteinander auf plausible Ausgangswerte verglichen.

Systemtest

Das ist die letzte interne Teststufe, hier wird nun das gesamte System betrachtet, also die Summe aus allen Modulen, ob diese korrekt miteinander funktionieren und kommunizieren. Auch hier werden Testfälle anhand der Anforderungen ans gesamte System definiert und überprüft, ob das gesamte System lauffähig ist und korrekt funktioniert. Hier wird in der Regel keine ausgefeilte Testumgebung mehr benötigt, da das System ja für sich auch funktionieren soll.

Für den Test wurden die verschiedenen Ausgänge Scopes zugeordnet, um die Signale über die Laufzeit der Simulation zu betrachten und zu analysieren. Grundsätzlich funktioniert das System weitestgehend sinnvoll, jedoch sind kleine Fehler aufgefallen. Im folgenden Scope ist zum Beispiel das Regelverhalten anhand von Solltemperatur (grün) und Isttemperatur (gelb) zu sehen. Zu einigen Zeitpunkten ist zu erkennen, dass beide Temperaturen synchron über die Solltemperatur hinaussteigen. Dieser Fehler konnte aber im weiteren Verlauf durch weitere Tests und Einstellen der Reglerparameter P, I, und D behoben werden.

Das Temperaturverhalten der Soll- und Isttemperaturen im Gesamtsystem


In diesem Scope sind weitere Leistungen zu erkennen, welche sinnvoll und je nach Bedarf durch das System errechnet und ausgegeben werden.

Weitere Leistungen im System


Ebenso lassen sich daran Kosten und Verbräuche errechnen:

Weitere Leistungen im System


Der Systemtest erfüllt also seinen Zweck und zeigt, dass die gesamte Haussimulation mit all ihren Modulen und Komponenten lauffähig ist und auch sinnvolle Ergebnisse produziert. Ebenso fallen aber auch Fehler auf, welche zum Beispiel durch das Zusammenspiel aller Module entstehen und in Nachhinein dann behoben werden können.

Fazit

Wir haben in diesem Modul gelernt und geübt wie wir als Gruppe zusammenarbeiten und anhand des V-Modells modellbasierte Produktentwicklung betreiben. Das Endergebnis ist ein funktionsfähiges System zur Simulation der Energieflüsse in einem Haushalt, welches auch problemlos weiterentwickelt und zB für eine Masterthesis verwendet werden könnte.

Wir persönlich haben gelernt, dass Kommunikation ein integraler Bestandteil der Teamarbeit ist, sowohl innerhalb der eigenen Teilgruppe zum Verständnis und zur Implementierung sowie in der gesamten Projektgruppe zur Abstimmung von Signalen und Schnittstellen oder ähnlichem.

Literaturverzeichnis


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

  1. "V-Modell" V-Modell