|
|
Delay und Default Werte setzen |
|
DDDS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2014, 17:18
Titel: Delay und Default Werte setzen
|
|
|
|
|
Halloooo,
ich bin gerade daran ein Simulink Modell zu realisieren. Ich habe sie nun deutlich abgespeckt, um mein Problem aufzuzeigen.
Die Datei ist unten angehängt, jedoch ohne Werte (wenn jemand diese dazu noch unbedingt braucht, Bescheid sagen). Wenn ich die Simulation nun laufen lassen möchte, geht es nicht, da für die Spannung (rechts unten) der Generatorstrom benötigt wird. Dieser widerrum brauch aber die Spannung um überhaupt berechnet werden zu können.
Wenn ich dort einen Constant-Wert einsetze funktioniert alles einwandfrei, aber es soll ja abhängig vom Generatorstrom sein. Wie bekomme ich es nun hin, mit einem Wert zu initialisieren um danach, wenn es einmal durchgelaufen ist, den Wert zu "tauschen"?! Habe bisher noch keinen Block dazu gefunden. Alle Delay-Blöcke helfen mir da nicht weiter, weil sie den Eingangswert vom Generatorstrom brauchen, es diesen jedoch noch nicht gibt. (er sollte "ignoriert" werden in der ersten Schleife).
Bitte um eine schnelle Antwort
Grüßeeee
Beschreibung: |
|
Download |
Dateiname: |
probieren.mdl |
Dateigröße: |
72.31 KB |
Heruntergeladen: |
507 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.08.2014, 19:25
Titel:
|
|
Hallo,
das ist das abgespeckte Modell? Ist ja schon etwas unübersichtlich, da würde sich z.B. der Einsatz von Subsystemen anbieten, um funktional zusammengehörige Blöcke zu einem zusammenzufassen.
Man müsste mal wissen, was du eigentlich genau modellieren möchtest. Ich zumindest kann sonst nicht sagen, wie das Modell aussehen muss.
Zitat: |
(er sollte "ignoriert" werden in der ersten Schleife). |
Heißt "ignoriert werden" vielleicht 0 sein?
Grüße,
Harald
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2014, 19:28
Titel:
|
|
|
|
|
Moin,
was ist das denn für eine spannende Schleife vom Signal U_Feld_soll über add, rate limiter (da stehen andere werte drin, als drunter), saturation und product zurück nach add? :)
Für Dein Problem gibt es in der Bibliothek Signal Attributes einen Block, der etwas unglücklich benannt wurde, nämlich IC. Das steht für Initial Condition. Damit kannst Du für jedes Signal einen Anfangswert vorgeben.
Nichts desto trotz hast Du später eine algebraische Schleife von der Spannung auf den Strom - normalerweise ist das kein Problem, kann mitunter aber recht langsam sein und hier und da konvergiert die Berechnung so einer Schleife nicht, dann bricht Deine Simulation mit einer Fehlermeldung ab.
EDIT: Harald hat durchaus recht: wenn Du das System etwas strukturierter aufbaust, könntest Du von vornherein ne Menge Fehler vermeiden. Ich kann mir zwar ungefähr denken, was Du da simulierst, aber auf einen Blick ist das nicht zu erfassen.
Ganz abgesehen davon halte ich es für eine Unsitte, elektrische Maschinen über Kennlinien abzubilden. Ganz einfach auch aus dem Grund, weil Menschen dann versuchen, einen Regler um diese Kennlinie zu bauen, was für einen P-Regler wieder eine algebraische Schleife ist. Und ganz nebenbei tut man auch noch so, als wären elektrische Maschinen sprungfähig. Aber das ist ein anderes Thema und scheint ein Phänomen zu sein, dass vor allem bei Batterie-Forschern verbreitet ist ;-)
|
|
|
DDDS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2014, 08:14
Titel:
|
|
|
|
|
Ja das stimmt, es ist etwas unübersichtlich.
Das Gesamtmodell hat viele Subsysteme, die hier aber aufgrund der Komplexität weg gelassen wurden.
Das Modell braucht für die komplette Berechnung über eine Stunde an einem schnellen Rechner, daher hab ich dieses kleine Modell erstellt um den PID-Regler vorauszulegen. Die E-Maschine und der Verbrennungsmotor sind nur hier in diesem Kennfeldern abgelegt, im Gesamtmodell ist dies nicht der Fall.
Es handelt sich hierbei um eine Betriebsstrategie, die Batterie wird so über den Strom des Generators angesteuert, damit die Spannung erzeugt wird, wo die EM den besten Wirkungsgrad hat. Die Schleife musste leider so realisiert werden.
Ich versuche es mal nochmal mit den IC (habe es vorher auch schon, jedoch hat es damit leider auch nicht geklappt). Wo sollte man diese denn einsetzen? Kann ich diese an einer Stelle einsetzen, wo der Wert davor noch nicht definiert ist (Fragezeichen im Simulink-Modell beim Ausführen)?
Danke für eure Hilfe
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2014, 08:29
Titel:
|
|
Fragezeichen am Signal heißt eigentlich, dass Simulink die Dimension nicht bestimmen kann. Zum Beispiel, wenn Du versuchst, eine 4x2-Matrix mit einer 7x12-Matrix zu multiplizieren. Das geht nicht und entsprechend weiß er die Dimension des Ausgangs nicht. Kann aber sein, dass das bei undefinierten Anfangswerten auch so angezeigt wird.
Am Problem vorbei und zum Modellverständnis: Hängt die elektrische Maschine ungeregelt direkt an der Batterie?
|
|
|
DDDS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2014, 08:35
Titel:
|
|
Im Gesamtmodell nicht, nur in diesem Fall geht es über ein Kennfeld und gibt nur einen Sprungwert aus.
Jedoch habe ich im Gesamtmodell das gleiche Problem, dass er erst die Werte braucht von Spannung, etc. diese aber noch nicht hat, weil es die Feldspannung und die Drosselklappe als "Steuerwerte" noch nicht hat und wenn ich ein IC-Block einbaue, so hilft das leider nicht, da er aus irgeinem Grund nicht den Initial Wert übernimmt, wenn der Eingang u noch ein ? davor hat. Dass es sich damit normalerweise um die Dimension handelt weiß ich. Diese ist noch unbestimmt, weil er noch überhaupt keine Dimension an der Stelle hat und versucht mit einem Wert Dimension 1 dann z. B. zu addieren.
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2014, 08:46
Titel:
|
|
Du musst dem Initialwert-Block einen Wert mit der richtigen Dimension übergeben, sonst ist Simulink natürlich verwirrt... also z.B. gibst Du als Wert für die Anfangsbedingung zeros(4,3) an, wenn die Dimension, die das Signal im "normalen Betrieb" hat, 4x3 ist.
|
|
|
DDDS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.08.2014, 09:50
Titel:
|
|
soo, danke für die Hilfe. Bin nun endlich auf die Lösung gekommen. Wie du schon sagst "zwinge" ich dem Signal eine Dimension auf.
Wenn es nun also noch keine gibt, geht es mit "Signal Specification". Dadurch funktioniert es.
|
|
|
|
|
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.
|
|