我的模型中有一个名为'addBlock'的子系统。在其中,我在掩码初始化期间根据用户指定的输入数生成 InPorts。例如,如果用户说将有六个块连接到此子系统,我将生成 6 个输入端口。
现在,假设我指定了六个输入。我第一次双击该块并指定此块时,它会创建 6 个输入。但是,如果我再次双击掩码并点击确定,它会再创建 6 个编号为 7 到 12 的输入。
因此,我想做的是每次打开掩码并开始从头开始创建块时删除子系统中的所有内容。有没有办法获取子系统中存在的每个块的列表?
提前谢谢。
我找到了答案,以防将来有人查找它。方法是使用
Simulink.SubSystem.deleteContents(gcb);
gcb
位返回当前块的名称,无论如何,这将是您想要的块,因为您处于该块的掩码中。另外,请注意不同的骆驼案例。该解决方案有点不优雅,因为整个子系统需要从头开始创建,但它可以完成工作。