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

Simulinkdaten in Echtzeit auswerten

 

kuma1013
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2013, 21:06     Titel: Simulinkdaten in Echtzeit auswerten
  Antworten mit Zitat      
Hallo,
ich bin zur Zeit in einer Projektarbeit von unsere Hochschule und würde gerne Sensordaten in Echtzeit über Simulink auswerten und an die GUI übergeben. Nun ist meine Frage, wie ich die Wert aus Simulink in mein Workspace bekomme. Ich hab es mit dem Befehl
Code:
get_param('bsp1_realtime/Out1','RuntimeObject')
probiert. Nur irgendwie wird meine M-File nicht ausgeführt. Muss ich etwas spezielles in Simulink einstellen damit der Befehl funktioniert?

Danke schonmal für die Antwort! Smile
Private Nachricht senden Benutzer-Profile anzeigen


Tobias.S
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2013, 22:08     Titel:
  Antworten mit Zitat      
Hi,

du könntest dir eine Embedded Matlab Function einbinden und den Wert über den Befehl assignin und 'base' an den Workspace übergeben.

Gruß Tobias
Private Nachricht senden Benutzer-Profile anzeigen
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2013, 11:49     Titel:
  Antworten mit Zitat      
Da ich das auch gerade gemacht habe:

Hast du schon dich über listener informiert?

Code:

help add_exec_event_listener
 
Private Nachricht senden Benutzer-Profile anzeigen
 
kuma1013
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2013, 15:22     Titel:
  Antworten mit Zitat      
Danke für den Tip mit dem

Code:
add_exec_event_listener(...)

hab mein Programm soweit zum laufen bekommen.
Private Nachricht senden Benutzer-Profile anzeigen
 
kuma1013
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.02.2013, 14:19     Titel:
  Antworten mit Zitat      
Hallo nochmal,
bei mir hat sich nochmal ein neues Problem aufgetan.
Ich erzeuge den Eventlistener innerhalb der M-File der GUI

Code:
% --- Executes on button press in startstopbutton.
function startstopbutton_Callback(hObject, eventdata, handles)
% hObject    handle to startstopbutton (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
status=get_param('bsp1_realtime','simulationstatus');
buttonstr=get(hObject,'String');

%Abfrage ob Simulation bereits gestartet ist
if strcmp(buttonstr,'Start')
   
    if strcmp(status,'stopped')
       
        %Start der Simulation
        set_param('bsp1_realtime','SimulationCommand','Start');
       
        %Erzeugen des Eventlisteners
        h=add_exec_event_listener('bsp1_realtime/Out1','PostOutputs',bsp1_realtime1);
    end
   
    set(handles.startstopbutton,'String','Stop');
   
elseif strcmp(buttonstr,'Stop')    
    if strcmp(status,'running')
        set_param('bsp1_realtime','SimulationCommand','Stop');
    end
   
    set(handles.startstopbutton,'String','Start');
end
 


Sobald das Event dann ausgelöst wird und er mir in meine M-File für das Event rein springt:

Code:
function varargout=bsp1_realtime1(varargin)

rto1 = get_param('bsp1_realtime/Out1','RuntimeObject');

y=rto1.InputPort(1).Data;
x=get_param('bsp1_realtime','SimulationTime');

assignin('base','X',x);
assignin('base','Y',y);

hold;
plot(1,y,'+r');
axis([0 2 -2 2]);


kommt ein Fehler:

Error in ==> bsp1_realtime1 at 3
rto1 = get_param('bsp1_realtime/Out1','RuntimeObject');

??? Output argument "varargout" (and maybe others) not assigned during call to
"E:\HS Karlsruhe\5. Semester\Projektarbeit\Eigenes
BSP\bsp1_realtime1.m>bsp1_realtime1".

Error in ==> kaefer_sim_ui>startstopbutton_Callback at 89
h=add_exec_event_listener('bsp1_realtime/Out1','PostOutputs',bsp1_realtime1);

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> kaefer_sim_ui at 42
gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)kaefer_sim_ui('startstopbutton_Callback',hObject,eventdata,guidata(hObject))

??? Error while evaluating uicontrol Callback


Gruß Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2013, 14:35     Titel:
  Antworten mit Zitat      
Das Beispiel von Matlab Exchange sollte dich eigentlich weiterbringen. Führe es aus und schau mal, ob du genau dasselbe als am ende erreichen möchtest.

http://www.mathworks.de/matlabcentr.....listeners-and-a-matlab-ui
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.