|
|
Ausführungsreihenfolge-Simulink-Block |
|
malue |
Forum-Anfänger
|
|
Beiträge: 28
|
|
|
|
Anmeldedatum: 29.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.05.2013, 12:34
Titel: Ausführungsreihenfolge-Simulink-Block
|
|
|
|
|
Hallo...
ich wäre euch sehr dankbar, wenn man mir bezüglich der Ausführungsreihenfolge der einzelnen Blöcke in Simulink helfen kann.
mit
Format --> Block Displays --> Sorted Order
habe ich mir die Reihenfolge anzeigen lassen und bemekert das die Simulation startet bevor ich einen Initialwert vorgeben kann. ..
Mit dem vorgeschaltetem Block "MATLAB Function2" möchte ich den Initialstrom vorgeben. Der Strom wird startend bei einem Initialwert, immer wieder mittels der Formel I[A] = P[W]/U[V] neu bestimmt. Hier ist P = Ladeleistung, konstant
U[V] die vom Simulink Modell bestimmte Ausgangsspannung des Systems...
...hier der Code
%%%%%% Matlab Code
function current_out = fcn(zellenanzahl,current_start,ladeleistung,spannung)
% Ladeleistung [kW]
% Declare persistent variable
persistent int_current
% Upon the first Call we need to initialize the variables
if isempty(int_current)
int_current = current_start;
else
int_current = (spannung/(ladeleistung/zellenanzahl)+10);
end
current_out = int_current;
%%%%%% Code Ende...
Zur Zeit t=0 kann am Ende des Modell noch kein Ausgang vorliegen d.h. hier habe ich noch keinen Wert der Spannung (siehe Bild Voltage_Drop). Da ich für I = P/U noch auf kein U zurückgreifen kann, mochte ich hier eine Startwert von current_start (nen Parameter) vorgeben.
PROBLEM.....
Simulink legt die Priorität des Matlab Funktions Block auf 2....Somit startes es mit dem großen Orangen Block, setzt nicht bekannte Werte auf Null und geht dann über zum MATLAB Function2 Block hinüber, wo die Bedingung isempty entfällt.....
Wie kann ich die Reihenfolge der Blöcke ändern, dass beim Block MATLAB Function2 angefangen wird.
mit Klicken auf den Block und Block Properties--> Priority klappts net....
Beschreibung: |
|
Download |
Dateiname: |
ausführungsreihenfolge_problem.PNG |
Dateigröße: |
31.86 KB |
Heruntergeladen: |
646 mal |
|
|
|
|
|
malue |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 28
|
|
|
|
Anmeldedatum: 29.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.05.2013, 13:27
Titel:
|
|
also ich habe aus beiden blöcken ne atomic unit gemacht und folgende Fehlermeldung erhalten...
Cannot solve algebraic loop involving 'Modell_LUT_LEV_V5/LEV21_B3_v0.4' because it consists of blocks that cannot be assigned algebraic variables, such as blocks with discrete-valued outputs, blocks with non-double or complex outputs, Stateflow blocks, or nonvirtual subsystems. Consider breaking the algebraic loop. For example, add a delay or a memory block to the loop.
nen memory in die Schleife zu packen, hilft mir net wirklich...kennt jemand noch en andere möglichkeit
|
|
|
malue |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 28
|
|
|
|
Anmeldedatum: 29.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.05.2013, 13:59
Titel:
|
|
vlt liegt mein problem aber auch darin, dass ich net weis wie ich eine Schleife in Simulink einbinde, die beginnend bei einem Startwert mir je nach Ausgangsgröße, stets einen neuen Input Wert bestimmt.....Wobei ich vermuten würden, dass Schleifen in Simulink nicht so schwierig sein können....
Can Simulink solve my model with an algebraic loop that includes an Embedded MATLAB Function block?
http://www.mathworks.de/support/sol.....=DS&solution=1-3MUCCC
|
|
|
|
|
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.
|
|