WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Modellbildung - BHKW mit Peripherie

 

B.O.D
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2015, 21:27     Titel: Modellbildung - BHKW mit Peripherie
  Antworten mit Zitat      
Hallo Forumsgemeinde,

ich bin relativ unerfahren im Umgang mit Scilab/Xcos. In Scilab kann ich Berechnungen durchführen, nun möchte ich jedoch Xcos verwenden, um nach und nach ein BHKW mit unterschiedlicher Systemperipherie in einem Modell abzubilden. Um den Umgang mit Xcos zu üben, möchte ich hier bei Fragen auf euch zukommen.

Vorerst soll das System durch drei Komponenten abgebildet werden: BHKW, Pufferspeicher und Verbraucher. Es soll die wärmegeführte Betriebsweise simuliert werden, wobei nur die thermische Seite betrachtet werden soll.

Den thermischen Verbrauch lade ich mit einem 1-min-Intervall ein (realer Tageslastgang). Den Wärmeinhalt des Pufferspeichers definiere ich zu Beginn, der anschließend pro Zeitintervall neu berechnet wird. Beim Abfallen des Pufferspeichers unter eine untere Grenze wird die Leistung auf die Sollleistung gesetzt, bis der Speicher voll ist.

Ich stehe derzeit vor zwei Problemen:

1. Die Definition des Anfangswertes (in Matlab IC-Block, in Xcos bin ich noch nicht fündig geworden) für den Wärmeinhalt und die anschließende Schleife.

2. Ein Block, der die Entscheidungskriterien für die Wärmeführung beinhaltet. Ist da ein eigener Block mit if-then-else-Abfragen sinnvoll, oder gibt es was besseres?

Ich reiche ein Beispiel nach.

Guten Abend!
Private Nachricht senden Benutzer-Profile anzeigen


B.O.D
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2015, 09:37     Titel:
  Antworten mit Zitat      
So, hier nun mein erstes noch unfertiges Modell.

Die Schalter dienen der Betreibsführung: Solange der Pufferspeicher geladen ist und entladen wird, wird die Leistung mit dem Faktor 0 multipliziert. Andernfalls wird auf 1 gesetzt, bis der Speicher voll ist. Ich könnte mir vorstellen, das die Lösung einfacher sein kann.

Was hier fehlt ist wie gesagt der Eingangswert für den Puffer sowie die Schleife für den Wärmeinhalt nach einer Zeitperiode. Letztere möchte ich bei der Addition vom Wärmebedarf und der th. Leistung hinzufügen.

Über Anregungen, Meinungen und Hinweise bin ich froh.

Modell_1.jpg
 Beschreibung:

Download
 Dateiname:  Modell_1.jpg
 Dateigröße:  33.87 KB
 Heruntergeladen:  796 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
B.O.D
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2015, 08:14     Titel:
  Antworten mit Zitat      
Bei den Blöcken Switch2_m hab den Eingang falsch gelegt. Das System funktioniert jetzt, ich bin aber noch auf der Suche nach einer Lösung, wie ich Eingangswerte einlese.

Ich werde berichten.
Private Nachricht senden Benutzer-Profile anzeigen
 
B.O.D
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2015, 13:06     Titel:
  Antworten mit Zitat      
So, das mit den Eingangswerten ist auch gelöst. Aktuell nutze ich für das Auslesen den Block "from workspace" und multipliziere den Wert mit einer Step_function, wobei diese für die Initialisierung den Wert 1, ansonsten 0 annimmt.
Private Nachricht senden Benutzer-Profile anzeigen
 
B.O.D
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2015, 13:46     Titel:
  Antworten mit Zitat      
So, ich stehe wieder vor einem Problem, dass ich nicht lösen kann. Ich möchte einen Betriebsstundenzähler implementieren, der die Laufzeit pro Start zählt und zurückgibt.

Mein Signal ist eine 1 für den BHKW-Betrieb, sodass ich diese pro Zeiteinheit hochzählen kann.

Hat jemand eine Idee, wie ich einen Start erkenne und die Laufzeit dessen bestimmen kann?

Guten Tag, B.O.D
Private Nachricht senden Benutzer-Profile anzeigen
 
B.O.D
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2015, 11:28     Titel:
  Antworten mit Zitat      
Ich hab es gelöst.

Den Startzeitpunkt und die Anzahl der Starts berechne ich durch eine Schleife über mein Signal (0/1), das entsprechend bei dem Wechsel von 0 auf 1 die Starts zählt und den Zeitpunkt zurückgibt.

Für meinen Betriebsstundenzähler pro Start summiere ich das Signal auf, setze die Summe auf 0, wenn der Wechsel von 1 auf 0 kommt. Dadurch ergibt sich die kumulierte Laufzeit pro Start. Im Skript ermittele ich die Maxima ihrer Reihe nach, sodass ich jedem Start einen Zeitpunkt und Laufzeit zuordnen kann.

Wie ich das in Xcos umgesetzt habe, ist angehängt (Als Hilfe für andere und Diskussionsgrundlage hier im Thread)

LaufzeitProStart.jpeg
 Beschreibung:

Download
 Dateiname:  LaufzeitProStart.jpeg
 Dateigröße:  11.03 KB
 Heruntergeladen:  745 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.