unable to run .m or .slx file from GUI pushbutton callback

3 次查看(过去 30 天)
Hi
I am not able to run my .m script and simulink model from the GUI callback. I have added the following lines in the push button callback.
run('so.m'); sim('type3.slx');
The .m file takes data from the base workspace, executes and produces a set of values that will get stored in the same workspace. The simulink model uses these workspace values to run and it exports scope data to the workspace. I am able to export the values taken from GUI to the base workspace using assignin command. The error I am getting when I run the GUI is that the .m is not able to access the workspace variable even if present. It says undefined variable.
Is there any other command to run .m files that are outside the GUI code?

回答(1 个)

Amit
Amit 2018-4-24
GUI callback is basically a function which do not share base workspace. So when you calling your script through callback its variables getting created in function workspace of callback and when callback ends, variables also getting removed. That means only during the execution time of your callback, variables are appearing in the workspace.
better you use global variables in script to appear in base workspace.
  2 个评论
SHAMANTH GOWDA
SHAMANTH GOWDA 2018-4-24
So its not possible to transfer the execution control to the script outside the GUI script? And how about running the model? What command should I use for doing that?
KONGPHET Vorachack
KONGPHET Vorachack 2020-6-12
Hello, I have the same problem as SHAMANTH GOWDA, I try to use global in the GUI, but before the call the sim('name of simulink model'), all the datas for simulation of model are dissapared.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Model, Block, and Port Callbacks 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by