Simulink:通过掩码从子系统中删除所有块

时间:2013-12-23 23:00:44

标签: matlab simulink

我的模型中有一个名为'addBlock'的子系统。在它内部,我根据用户指定的输入数量在Mask初始化期间生成InPorts。例如,如果用户说将有六个块连接到该子系统,我将生成6个输入端口。

现在,我说我指定了六个输入。我第一次双击块并指定它创建6个输入。但是,如果我再次双击该面具并点击“确定”,则会创建6个 更多 输入,编号为7到12。

我想做的是每次打开蒙版并从头开始创建块时删除子系统中的所有内容。有没有办法获得子系统中存在的每个块的列表?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我找到了答案,以防将来有人查找。方法是使用

Simulink.SubSystem.deleteContents(gcb);

gcb位返回当前块的名称,这将是您想要的块,因为您在该块的掩码中。另外,请注意不同的camelCases。解决方案有点不优雅,因为整个子系统需要从头开始创建,但它可以完成任务。