Problem with calling upon a Simulink model from a GUI

1 次查看(过去 30 天)
I've got two simulink models, which are called by a GUI. I first developed the program, and i'm now implementing this in a GUI. When I'm calling, from a certain GUI function to my simulink model, called invcleanx.mdl, it gives the following error: Invalid Simulink object name: invcleanx. The error originates from the calling upon the workspace of the model, from:
hws = get_param(invclean,'modelworkspace') ;
I thought this might be an workspace issue, so I changed the callsign to the entire root, thus C:/Mydocuments/.../invcleanx
However, I still get the error:Invalid Simulink object name: C:\Documents and Settings\Administrator\Mijn documenten\My Dropbox\TU\Stage\Program\invcleanx.
So I guess, this is not the issue (or it is the wrong solution). I do not have the problem when I have the window of invcleanx.mdl open in Simulink, so apparently it is able to find if then. I now resolved the error by putting open_system('invcleanx') just before the reload command, but this is not favorable, since it takes time to load and open the model every time i run my calculation.
Am I not referring to my model in the correct way?
Thanks in advance,
Roy

采纳的回答

TAB
TAB 2012-6-29
In your question you have mentioned:
I do not have the problem when I have the window of invcleanx.mdl open in Simulink, so apparently it is able to find if then. I now resolved the error by putting open_system('invcleanx') just before the reload command, but this is not favorable, since it takes time to load and open the model every time i run my calculation
It is not at all possible to read/write/change the model from command line until it is opened or loaded in the memory. Model must be opened using open_system() or it must be loaded into memory using load_system() before doing any operation on it.
  1 个评论
Kaustubha Govind
Kaustubha Govind 2012-6-29
I agree with TAB. Note that load_system won't open the model visibly, but will keep it open in the background (unlike open_system). This might be faster than open_system.

请先登录,再进行评论。

更多回答(1 个)

Ilham Hardy
Ilham Hardy 2012-6-29
编辑:Ilham Hardy 2012-6-29
How about,
hws = get_param('invclean','ModelWorkspace') ;
instead of
hws = get_param(invclean,'modelworkspace') ;
HTH,
IH
  1 个评论
Roy Veldhuizen
Roy Veldhuizen 2012-6-29
Hello Ilham,
Thank you for reply, but I'm not sure how to implement this, since i'm not typing invcleanx directly, but it is string which is saved. I replaced for clarity reasons, which is backfiring now =p This is the whole relevant story:
function Toolex_OpeningFcn
filestruct.filename='estimationmodelgood';
filestruct.filenamemodel='C:\Documents and Settings\Administrator\Mijn documenten\My Dropbox\TU\Stage\Program\invcleanx';
set(handles.output,'UserData',filestruct)
function Calculation_Callback
filestruct=get(handles.output,'UserData')
hws = get_param(filestruct.filenamemodel,'modelworkspace') ;
hws.reload;
Is it possible to remove the quotations from a string?
Hope this makes my problem a bit clearer.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by