hallo
habe mal eine Frage Bevor ich mich ins Abenteuer stürze.
Kann man von einem Gui aus Werte an simulink geben? Aslo was ich meine nicht über from Workspace sondern gleich zum beispiel in ein Gain?
Um meine Frage zu Vereinfachen:
Ich gebe in einer Edit_box einen wert ein. dieser wird dann in einer Variablen x gespeicher. jetzt will ich dies x an ein gain von meinem simulink model schicken. damit er einfach jetzt statt einen festenwert immer die neu eingegeben zahl nimmt. geht so etwas?
gruß und danke für die hoffenlich positiven Antworten
Jo danke das hat mich jetzt schon mal auf den richtigen weg gebracht. Doch da sind noch einige Fehler darin.
habe jetzt folgendes in die Edit_box geschrieben.
Code:
function Test_Callback(hObject, eventdata, handles)
masse = get(handles.Test,'Value');
set_param('Verstaerkt/Faktor','Value',num2str(masse));
% hObject handle to Test (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of Test as text % str2double(get(hObject,'String')) returns contents of Test as a double
% --- Executes during object creation, after setting all properties. function Test_CreateFcn(hObject, eventdata, handles) % hObject handle to Test (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. ifispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
end
??? Error using ==> set_param
Gain block does not have a parameter named 'Value'.
Error in ==> EinAus>Test_Callback at 192
set_param('Verstaerkt/Faktor','Value',num2str(masse));
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> EinAus at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
Denke mal das hat jetzt mit meinem simulink block zutun. Was ich ihm für einen Wert/Variable in das Gain rein schreiben muß. und hier ist jetzt ja auch mein problem. wie müsste es denn aussehen? kann dort ja nur zahlen eintargen oder value, was mir ja beides nichts bringt.
hoffe noch mal auf eine große hilfe
Ok ok ich glaube wir müssen das Problem nochmal ganz neu angehen, da du nen großen Denkfehler hast so wie ich deinen Code sehen.
In der Editbox hast du deinen Wert stehen richtig?!
Und jetzt willst du den Wert an Simulink übergeben?!
Dafür musst du als Beispiel einen Pushbutton erstellen mit dem du ja die Simulation startest?! Richtig?
Und in diesen Pushbutton muss auch die Abfrage des Wertes der Editbox rein und die Übergabe an Simulink.
Wenn ich deinen Code nämlich richtig verstehe dann versucht du in dem Callback der Editbox bereits die Übergabe zu machen?!
Code:
function button_simulation_Callback(hObject, eventdata, handles)
Das ist der Callback in dem Button.
Ich öffne außerdem die Simulink-Datei mit der Zeit=0. Da wird gebraucht wenn die mdl nicht schon offen ist. Sonst kannst du nicht reinschreiben.
Und anschließend die Simulation.
bin echt den falschen weggangen. wäre aber nie drauf gekommen das er falsch wäre. aber jetzt habe ich zwar keine fehlermeldungen mehr aber er schreibt mir jetzt immer ein null ein das gain. erstmal nicht lecht denn immer hin läuft jetzt ja die komunikation fehlerfrei. der alte wert kommt weg aber jetzt halt immer eine null.
habe jetzt nix in meinem edit_funktion nur alles in der pushbutton.
Code:
function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. ifispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton10. function pushbutton10_Callback(hObject, eventdata, handles)
guten morgen,
Also ich bin ja echt am durchdrehen es will immer noch nicht so wie ich es gerne hätte weiß aber mitlerweile echt nicht mehr was ich noch ausprobieren kann damit es läuft.... hatte ja gestern noch mal meinen quellcode gepostet
jetzt nach langem hin und her und ausprobiererei seint mir das am besten:
Code:
function pushbutton10_Callback(hObject, eventdata, handles)
Du speicherst einen String in der Variable "masse" und willst im nächsten Schritt eine Zahl in einen String umwandeln, obwohl "masse" bereits ein String ist.
Was du brauchst, ist bestimmt:
Hmmm...
Es ist aber sichergestellt, dass es in deinem Simulink-Modell "Verstaerkt" einen Block "Faktor" gibt, an welchen ein Gain-Wert übergeben werden kann!?
Eine andere Bedeutung der Fehlermeldung erschließt sich mir sonst im Moment nicht.
_________________
Also ich bin total ratlos...
mein simulink model heißt Verstaerkt und es besteht jetzt mit mitlerweile auch nur noch aus from workspace....Faktor.....to workspace.
habe ein ganz normles gain von Mathe Operations genommen. habe dann im model auf das Gain, nicht das simbol sondern das wort gain geklickt und dort statt gain Faktor eingetragen. wenn ich jetzt auf das Simbol klicke kommt ja die Funktins Block Parameters: Faktor. dort habe ich nicht umgestellt. auf der ersten registerkarte ist ja gain: wo man einen wert ein taggen kann.
muß dort etwas besonders rein? oder muß ich sonst noch welche Parameter ändern?
Hmmm...
Es ist aber sichergestellt, dass es in deinem Simulink-Modell "Verstaerkt" einen Block "Faktor" gibt, an welchen ein Gain-Wert übergeben werden kann!?
Eine andere Bedeutung der Fehlermeldung erschließt sich mir sonst im Moment nicht.
Nein alexxxx hat recht, es geht wirklich damit nicht. Finde es selbst gerade merkwürdig.
Das geht:
Super Matrin
Jetzt geht es einwand frei genau wie ich es will....
Problem gelöst
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
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.