我正在编写一个程序,该程序使用 MATLAB 中的命令创建 Simulink 模型。目前,任何添加的子系统都将被立即清除,然后重新填充我们想要的模块。我的问题是,在清除 While Iterator Block 后,如何将它添加回子系统?
示例代码:
new_system('test_while_loop')
add_block('simulink/Ports & Subsystems/While Iterator Subsystem', 'test_while_loop/Subsystem_loop')
Simuink.SubSystem.deleteContents('test_while_loop/Subsystem_loop')
add_block('simulink/Ports & Subsystems/While Iterator', 'test_while_looop/Subsystem_loop/While Iterator')
There is no block named 'simulink/Ports & Subsystems/While Iterator
即使Simulink的文档说这个模块包含在 Ports & Subsystems 库中,这也会返回错误。我需要更改什么才能添加此块?
对于内置块,您应该使用块类型将块添加到您的系统中。识别块类型使用
get_param(gcb, 'BlockType')
对于 while 迭代器块,这将返回 'WhileIterator'。您可以使用此块将此块添加到您的系统中
add_block('built-in/WhileIterator','test_while_looop/Subsystem_loop/While Iterator')
请参阅https://www.mathworks.com/help/simulink/slref/add_block.html 上的add_block 文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句