文档

子系统的扩张

什么是子系统扩容?

子系统扩展涉及到将虚拟子系统的内容移动到包含该子系统的系统中。

例如,sldemo_enginewc模型包括燃烧子系统。

展开燃烧子系统后,最顶层的sldemo_enginewc模型包括燃烧子系统的模块和信号。扩展将删除子系统块以及导入和输出端口块。

为什么要扩展子系统?

如果您希望通过将子系统的内容提升一级来平展模型层次结构,则可以扩展子系统。

在重构模型时,扩展子系统是有用的。扁平模型层次结构可能是最终结果,也可能只是重构中的一个步骤。例如,您可以通过展开子系统将一组块拉到父系统,取消希望留在父系统中的块的选择,然后从剩余的选定块创建一个子系统。

您可以扩展的子系统

您可以展开没有屏蔽、链接或注释的虚拟子系统。

您可以自动修改以启用扩展的子系统

如果您尝试使用Simulink扩展这些子系统中的一个万博1manbetx®编辑器中,一条消息提供了让Simulink修改子系统的选项,以便您可以展开子系统。万博1manbetx

子系统类型 修改

戴面具的子系统

删除所有屏蔽信息

图书馆的链接

断开链接

注释掉子系统

删除注释结束设置

无法扩展的子系统

您不能展开这些子系统:

  • 原子子系统

  • 有条件的子系统

  • 可配置子系统

  • 不同的子系统

  • 参考模型中的子系统

  • 具有读/写权限参数设置为只读的NoReadWrite

  • 具有InitFcnStartFcnPauseFcnContinueFcn,或StopFcn回调

  • 具有链接需求的子系统(使用万博1manbetx仿真软件需求™软件)

子系统扩容结果

当您扩展一个子系统时,Simulink:万博1manbetx

  • 移除子系统块

  • 移除子系统中的根导入、根输出和Simscape™连接端口块

  • 将进入子系统输入和输出端口的信号线直接连接到连接子系统的模型块的端口

块路径

在您展开的子系统中,块的路径会发生变化。在展开之后,更新脚本和测试工具,这些脚本和工具依赖于您所展开的子系统中的块的分层路径。

信号名称和属性

如果在子系统外部或内部扩展一个缺少连接的子系统,Simulink将保留线路标签,但只使用其中一条线路的信号名称和属性。万博1manbetx对于对应的行:

  • 作为一个子系统的输入端口,Simulink使用该万博1manbetx子系统所在系统中的信号的信号名称和属性

  • 一个子系统输出端口,Simulink使用来自子系统万博1manbetx的信号名称和属性

显示层

块的显示层(换句话说,对于重叠块,哪个块出现在前面或后面)在展开后不会改变。子系统块前面的块保持在展开内容的上方,子系统块下面的块保持在展开内容的下方。

排序顺序和块优先级

当您编译一个模型时,Simulink会根据块执行的顺万博1manbetx序对块进行排序。扩展一个子系统可以改变块路径名称,在极少数情况下,这可能会影响块的执行顺序。

如果您通过在子系统内设置块优先级来显式设置块执行顺序,则当您展开该子系统时,Simulink将删除这些块优先级设置。万博1manbetx

数据存储

扩展包含其他子系统读取或写入的数据存储内存块的子系统可以改变所需的数据存储写入和读取顺序。您可能需要重新构造您的模型。详细信息请参见订单数据存储访问

相关的话题

这个话题有用吗?