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

Ausführungsreihenfolge-Simulink-Block

 

malue
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 29.04.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2013, 12:34     Titel: Ausführungsreihenfolge-Simulink-Block
  Antworten mit Zitat      
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....

ausführungsreihenfolge_problem.PNG
 Beschreibung:

Download
 Dateiname:  ausführungsreihenfolge_problem.PNG
 Dateigröße:  31.86 KB
 Heruntergeladen:  646 mal
Private Nachricht senden Benutzer-Profile anzeigen


malue
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 29.04.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2013, 13:27     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
malue
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 29.04.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2013, 13:59     Titel:
  Antworten mit Zitat      
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
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.