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

Simulink Modell aus Matlab steuern

 

gunknown

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2009, 15:52     Titel: Simulink Modell aus Matlab steuern
  Antworten mit Zitat      
Hi,

ich habe ein simulink modell erstellt, das ich gerne von matlab aus steuern würde. Das bedeutet, ich möchte die ausgänge der simulation überwachen um unter bestimmten bedingungen die eingänge zu ändern.

Die eingänge lege ich einfach über eine initialisierung fest. Also z.B. a=1; in meinem m-file. Im simulink modell steht dann im "constant block" bei value a.

Die ausgabe erfolgt bisher über ein "to workspace" block. Wie es aussieht wird die variable simout dabei aber erst am ende der simulation geschrieben. Ich weiß nicht wie ich das "live" überwachen kann.

Eigentlich denke ich, dass mein vorhaben eine oft verwendete anwendung ist, aber leider habe ich bei meiner suche nichts gefsunden.

Bin für jeden tip dankbar.


gunknown

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2009, 15:05     Titel:
  Antworten mit Zitat      
Ich habe nun herausgefunden, dass simout auch geschrieben wird wenn man in simulink die simulation pausiert. Allerdings kann ich so die ausgänge auch nicht "live" aus meinem matlab programm kontrollieren.

Ich bin aber eigentlich weiterhin der meinung dass mein anwendungsfall völlig trivial sein müsste. Wenn nicht, dann bin ich vermutlich auf dem total falschen weg.

Ich habe doch eine funktionierende simulation in simulink. Diese muß ich doch einfach in matlab nutzen können? Ich brauch diese simulation dafür um meine matlab programme mit sinnvollen daten zu versorgen.
 
gunknown

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2009, 18:24     Titel:
  Antworten mit Zitat      
Ok, ich denke mittlerweile doch auf dem falschen weg zu sein.
Ich erkenne selbst einige probleme, warum es so nicht gehen kann.

Ich habe nun eine neue idee entwickelt, die auch funktionieren müsste.
Bevor ich nun allerdings anfange darauf großartig aufzubauen möchte ich
doch nochmal nachfragen ob dieser weg "der standard" ist, oder ob es
nicht doch noch andere möglichkeiten gibt (nach wie vor kann ich nicht
glauben dass matlab/simulink nicht auf meine vorgesehene art verwendet
werden soll/kann).

Meine idee ist nun folgende.
Ich starte die simulation für einen kurzen zeitraum und speicher den
ausgangsvektor am simulationsende ab. Anschließend starte ich eine neue
(kurze) simulation wobei ich zuvor die parameter auf die werte der
letzten simulation setze, und ggf. die eingangsparameter abänder.
Außerdem wird auch die simulationszeit entsprechend verschoben.

In matlab code sieht das dann so aus:

Code:
clear;
timestep=3;

starttime=0;
endtime=starttime+timestep;
set_param('auto_bsp/Constant', 'Value', '0.6');
set_param('auto_bsp/Integrator2', 'InitialCondition', '0');
sim('auto_bsp', [starttime, endtime]);
%speicher parameter am ender der simulation
endvalindex=size(simout);
endval=simout(endvalindex(1),1);

starttime=endtime;
endtime=endtime+timestep;
%starte simulation mit den endparametern der letzten simulation
set_param('auto_bsp/Integrator2', 'InitialCondition', num2str(endval));
%setze neue eingangsparameter (beispielhaft)
set_param('auto_bsp/Constant', 'Value', '-0.6');
sim('auto_bsp', [starttime, endtime]);
 
 
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.