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

Mit m.file Simulink modell steuern oder anders herum

 

Juffi
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2012, 14:35     Titel: Mit m.file Simulink modell steuern oder anders herum
  Antworten mit Zitat      
Hallo zusammen,

so langsam verzweifele ich an MATLAB/SIMULINK...

also entweder habe ich zu hohe Ansprüche an Matlab oder ich bin einfach nur zu dumm dafür...jajaja ich denke zweites trifft zu aber vielleicht könnt Ihr mir ja helfen.

Ich habe ein Simulink Model was ich zum Anfang starte, dies soll solange laufen bis es einen Schaltvorgang erkennt, hat es diesen erkannt soll es ein m.file öffnen... das klappt auch mit der callback funktion... nun will ich es danach aber direkt wieder starten(automatisch) damit es den nächsten Schaltvorgang erkennt und bewertet..

Hab echt schon viel probiert und im Internet nachgelesen leider komme ich aber auf keinen gescheiten weg...hat vielleicht einer von euch eine Idee wie sich so etwas machen lässt???

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Juffi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2012, 03:49     Titel:
  Antworten mit Zitat      
Hallo nochmal,

also hab jetzt mal so angefangen das ich eine start m.file habe in der ich mein Simulink Model definiere, lade und dann starte, wird mein Schaltvorgang erkannt stoppe ich mein Simulink model via callback und rufe mein evaluations m.file auf. Klappt bis hier hin ganz ordentlich.

Am ende meiner eval funktion rufe ich dann wieder meine start m.file auf in der ich dann eigentlich meine Simulation stoppen moechte und mein Model wieder von neuem laufen lassen moechte allerdings kommt immer ein Fehler das meine Simulation noch laueft. Why???

Hier mal der Code von meiner Start/Stop function

Code:
clear
load ini_start.mat

if shift_type_pon_up==0 && simisrun==0

%load Simulation
    mdl = 'Home_based_model';
    load_system(mdl)
   
%parameters for Simulation
    set_param(mdl, 'SimulationMode', 'normal')
    set_param(mdl, 'Solver', 'ode4')
    set_param(mdl, 'FixedStep', '0.002')
                                       
%Start und Stop for Simulation
    set_param(mdl, 'StartTime', '0.0')
    set_param(mdl, 'StopTime', 'inf')

%start Simulation
   sim(mdl);

   close Home_based_model
               
end


Bin ueber jede Hilfe und Tipp dankbar, gerne auch andere Loesungswege wenn Ihr welche habt.

Gruss

edit by denny: Bitte die Code-Umgebung nutzen!
Private Nachricht senden Benutzer-Profile anzeigen
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 22.05.2012, 10:35     Titel:
  Antworten mit Zitat      
Hi,

ohne mich jetzt allzuweit in das Problem hineingedacht zu haben, klingt das für mich wie eine gute Anwedung für Stateflow. Käme das in Frage an dieser Stelle?

Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Juffi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 08:21     Titel:
  Antworten mit Zitat      
Hallo zusammen,

hab den Fehler in meiner denkweise gefunden, das Simulink Model stopt erst wenn das m.flie geschlossen wird.

Als Lösung hab ich einfach das Simulink model mit einer zusätzlichen m.file gestartet und dann in einer schleife laufen lassen.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 12.06.2012, 08:41     Titel:
  Antworten mit Zitat      
Noch ein paar Ergänzungen für die Verwendung der sim-Befehle:

1.
Code:

ist die backward-compatible syntax des sim Befehls. Ich weiß nicht welche Matlab Version du verwendest, aber du solltest, wenn du die aktuelle sim-Version haben möchtest, die Syntax verwenden:
Code:
simOut = sim('model', 'ParameterName1',Value1,'ParameterName2', Value2...);
simOut = sim('model', ParameterStruct);
simOut = sim('model', ConfigSet);


2.
Der Befehl
Code:

schließt ein Grafikfenster und nicht ein Simulink-System. Dafür verwendest du den Befehl
Code:
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.