|
mrks_94 |
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 13.06.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 21.07.2018, 15:04
Titel: Einfaches Speichermodell
|
|
|
|
|
Grüßt euch,
ich möchte ein einfaches Speichermodell erstellen und da ich mit Simulink noch ein absoluter Neuling bin, brauche ich eure Hilfe.
Im Anhang findet ihr das bisherige Modell.
Als Eingangsparameter steht mir eine Leistung mit dazugehörigem Zeitstempel zur Verfügung. Dabei handelt es sich um eine Matlab-Variable der Dimension 525591x2 (double). Zum Anderen wird die Speicherkapazität in Simulink als Konstante festgelegt.
In meinem Modell wird nun die Leistung eines jeden Zeitstempels in eine Energie umgerechnet, sodass für jeden Zeitpunkt eine Energiemenge zur Verfügung steht.
Jetzt soll der Speicher geladen werden, sofern der Energiewert > 0 ist. Ist die Speicherkapazität erreicht, soll der Wert konstant gehalten werden (Speicher voll). Ich denke da an eine kumulierte Summe bis zum Erreichen der Speicherkapazität.
Wenn die zur Verfügung stehende Energie wieder auf 0 fällt, soll eine Entladung des Speichers, mit einer als Konstante festgelegten Last in kW, simuliert werden.
Unterm Strich:
Wenn eine Energiemenge zur Verfügung steht: Laden (kumulierte Summe)
Wenn nicht: Entladen (mit konstanter Last) bis der Wert 0 erreicht wird.
Mit welchen Blöcken kann ich zu der Lösung gelangen? Meine Gedanken gehen in Richtung logische und relationale Operatoren. Ich weiß nur noch nicht, wie ich diese richtig in ein Modell integrieren kann.
Ich bin für jede Hilfestellung dankbar!
Beschreibung: |
|
Download |
Dateiname: |
Speichermodell.slx |
Dateigröße: |
18.66 KB |
Heruntergeladen: |
345 mal |
Beschreibung: |
|
Download |
Dateiname: |
P_sim.mat |
Dateigröße: |
1.15 MB |
Heruntergeladen: |
376 mal |
|
|
|
|
|
J0nas |
Forum-Century
|
|
Beiträge: 208
|
|
|
|
Anmeldedatum: 10.09.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ab 2016a
|
|
|
|
|
|
Verfasst am: 21.07.2018, 16:15
Titel:
|
|
Hallo,
du könntest einen "Integrator Limited" als Speicher benutzen. Und einen Switch der die zugeführte Energie weiterleitet, falls vorhanden, oder eben einen konstanten, negativen Wert (als Last), falls die zugeführte Energie gleich null ist.
Bin leider gerade unterwegs, so dass ich's dir nicht zusammen basteln kann. Aber durch's selber machen lernt man's doch am besten
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
mrks_94 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 13.06.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 21.07.2018, 17:24
Titel:
|
|
Hallo Jonas,
schonmal vielen Dank!
Der "Integrator Limited" ist schonmal das was ich brauche. Nun ist es mir allerdings nicht gelungen, die Entladung darzustellen. Bisher zeigt es mir nur den ersten Ladevogang an und dann bleibt der Speicher voll. Wie kann ich es denn realisieren, dass wenn der Entladezustand zutrifft (1), Schrittweise meine Speicherenergie um eine konstante Last abnimmt?
Beschreibung: |
|
Download |
Dateiname: |
Speichermodell.slx |
Dateigröße: |
18.95 KB |
Heruntergeladen: |
345 mal |
|
|
|
J0nas |
Forum-Century
|
|
Beiträge: 208
|
|
|
|
Anmeldedatum: 10.09.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ab 2016a
|
|
|
|
|
|
Verfasst am: 21.07.2018, 17:41
Titel:
|
|
Hallo,
der Switch muss vor den Speicher, da er den Energiezufluss/-abfluss steuert (siehe Bild).
Gruß
Jonas
Beschreibung: |
|
Download |
Dateiname: |
Speicher.PNG |
Dateigröße: |
9.14 KB |
Heruntergeladen: |
372 mal |
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
mrks_94 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 13.06.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 25.07.2018, 14:40
Titel:
|
|
Vielen Dank! So läuft es.
Nun hat sich ein Weiteres Problem ergeben:
Ich lasse mir die Werte des letzten Spopes als Variable nach Matlab ausgeben, um weitere Analysen machen zu können. Meine Eingangsvariable hat ja, wie bereits beschrieben, die Dimension 525591x2. Auf 525591 habe ich auch die 'Simulation stop time' gesetzt, um jeden werden abzubilden.
Die Matlab-Variable, die ich aus dem Scope exportiere, weicht in ihrer Dimension aber geringfügig davon ab. Je nachdem wie groß ich die Grenzwert des "Integrator Limited" definiere. Es entsteht zum Beispiel eine Matrix der größe 525986x2, was fast 400 Werte zu viel sind. Der Endwert der ersten Splalte (Zeitschritte) ist allerdings trotzdem 525591.
Es wird also irgendwie interpoliert.
Wisst ihr, wie ich es hinbekomme, dass die Output-Variable immer die richtige Dimension (525591x2) erhält?
Viele Grüße!
|
|
|
mrks_94 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 13.06.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 30.07.2018, 15:30
Titel:
|
|
Ich würde nun noch gern die untere Grenze 'Integrator Limited' mit einem positiven Wert definieren. Leider lassen sich hier nur Werte <=0 eintragen. Wie ließe sich das realisierern? Die obere ist meine Speicherkapazität und die untere die maximale Entladetiefe.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|