1

因为我需要为子系统指定一个局部变量,所以我创建了一个掩码。这样做我失去了对子系统的轻松访问。右键单击并导航到“在掩码下查看”应该太复杂了。

所以我想了一个解决方法并构建了以下内容:

面具

“深入了解!”背后的对话回调代码 复选框是:

myParameter = %Parameter set by checking Get deeper!
path = gcb(gcs);

if strcmp(get_param(gcb,'myParameter'),'on')    
open_system(path,'tab');
end

每次我选中该框时,都会打开子系统,并且每次双击子系统都会打开子系统,以防之前选中了该框。因此代码做了它应该做的事情,但这实际上不是人们如何实现/可视化这样的事情的常见方式。

我想要的是我的面具中的“在面具下查看”按钮 - 所以只需点击该按钮即可打开子系统。基本上按钮应该调用函数:open_system(gcb(gcs),'tab'). 看起来很简单,但 Simulink 没有为我提供任何选项来实现它。有人可以帮忙吗?

当前解决方案的主要问题还在于,每次执行模型时都会打开所有子系统,并在其中选中该框。那不是这个主意。

4

1 回答 1

3

Matlab 2012b 完全添加了您想要的内容:蒙版块在左下角有一个按钮,这是“在蒙版下查看​​”的快捷方式。

不幸的是,我认为不可能在掩码中添加按钮。

您可能希望更改您的功能以自动设置“深入了解!” 用户点击后复选框关闭。这将避免在加载模型时自动打开子系统。你可以set_param(path,'myParameter','off')在之后添加open_system(path,'tab');

最后,作为另一种解决方法,您可能希望将OpenFcn回调设置为 call open_system(gcb,'tab')。这将使系统工作起来,就好像它根本没有被屏蔽一样。如果您愿意,您可以进行两个open_system调用,一个是在掩码下查看,另一个是打开掩码对话框。

于 2013-09-25T11:00:31.727 回答