配置模型布局
您可以通过更改模型元素的位置和方向来组织模块图。
您可以通过拖动信号线来移动它们。
您可以移动、旋转和翻转模块。
对于某些模块(如 Subsystem 模块),您可以更改端口顺序。
您可以手动更改模块图布局,也可以让软件为您安排。
有关如何将模块组织到子系统中的信息,请参阅将模块组合为子系统。有关如何捆绑信号线的信息,请参阅将信号或消息组合到虚拟总线中。
您可以通过调整模块的大小来进一步配置图的外观。还可以更改多个模块的宽度、高度或大小,以匹配所选模块的维度。
通过自动排列改进模型布局
要改进您的图布局和外观,请在格式选项卡上,点击自动排列。或者,按 Ctrl+Shift+A。
此选项:
从左向右对齐模块图中的模块,从输入开始,以输出结束
调整模块的大小,例如 Constant 模块,以显示长参数值。
标准化相似模块间的模块大小。
通过移动模块来拉直信号线。
您还可以以编程方式自动排列模型中的模块图。
使用
load_system
函数加载模型。使用
Simulink.BlockDiagram.arrangeSystem
函数自动排列模块图。
您也可以尝试改进各信号线的形状。选择信号线,并从操作栏中选择自动布线。如果模型元素之间存在更好的路线,则会重新绘制信号线。
您可以尝试使用自动布线改进多条信号线。要从操作栏访问自动布线,请选择模块或通过在元素周围拖动绘制一个框来选中多个模型元素。
要更改模块的对齐或分布,请在模块周围绘制选择框。然后,在 Simulink® 工具条的格式选项卡上,使用分布和匹配部分中的按钮来排列模块。
同时移动多个模型元素
要移动多个模型元素,同时保持其空间关系,请在这些元素周围拖动以绘制一个选择框。然后,将选择框的边拖到新位置。
选择框中的内容将作为一个整体移动。在移动选择框中的信号线、模块和其他元素时,它们之间的关系保持不变。选择框外的线段会重排。
以如下模型为例。
当拖动包含弯曲信号线的选择框时,其包含的弯曲信号线保持不变。
当拖动不包含弯曲信号线的选择框时,被排除的弯曲信号线可能在您移动所选内容时更改。
要一起移动多个信号线,请在要移动的线段周围拖动以形成一个选择框。
调整模块的大小
要调整模块的大小,请将指针暂停在模块上。调整大小控制柄出现在模块的四个角上。向外拖动其中一个调整大小控制柄可使模块变大,向内拖动可使模块变小。
要调整一个或多个模块的大小以匹配另一个模块的大小,请按照以下步骤操作。
选择其他模块要与其大小匹配的模块。
按下 Shift,在要调整大小的模块周围拖动以绘制一个选择框。
在 Simulink 工具条的格式选项卡上,在匹配部分中,点击匹配大小
按钮。
要调整一个或多个模块的大小以匹配另一个模块的宽度或高度,请改为点击匹配宽度 或匹配高度
按钮。
移动模块和调整模块大小时保留信号线形状
默认情况下,当您移动一个具有三个或更多端口的模块、调整其大小或将一个端口添加到该模块时,将该模块连接到附近具有一个或两个端口的模块的任何直信号线都不会更改形状。相反,连接的模块会移动。例如,您可以使用此功能来移动子系统模块,而无需通过弯曲信号线来连接到附近的端口。
如果直信号线将模块连接到具有一个或两个彼此靠近的端口的连续模块链,则链中的信号线不会更改其形状。相反,模块会移动。
受影响的信号线和模块以绿色突出显示。此新功能不影响具有分支或 Simscape™ 连接的信号线。
要临时关闭该功能,请在移动模块或调整模块大小时按住空格键。当您释放空格键时,该功能将重新打开。
要使该功能在 MATLAB® 会话中保持关闭状态,请在 Simulink 编辑器的建模选项卡上,从环境中清除保留对齐。要重新打开该功能,请选择保留对齐。
翻转或旋转模块
通过以 90 度为增量旋转或翻转模块,您可以更改模块或模块组的方向。旋转或翻转模块可以帮助它们更好地适应模块图,例如在反馈环模型中,模块相互连接形成环路。您也可能需要旋转一个模块,以使模块输入端口与输出端口对齐或更好地使用模型画布。
下图显示了为了简化反馈环图而翻转的 Gain 模块。
要旋转模块,请选择该模块。在格式选项卡上,点击顺时针旋转 90° 或逆时针旋转 90°
。
提示
或者:
要顺时针旋转模块,请按 Ctrl+R。
要逆时针旋转模块,请按 Ctrl+Shift+R
当将模块放置在非从左向右的信号线上时,模块将自动旋转。例如,如果信号从底部到顶部传输,并且您在其上放置模块,则模块会旋转使其与信号对齐。
要翻转模块,请选择该模块,然后在格式选项卡上,点击左右翻转 或上下翻转
。您可以根据模块端口的方向水平或垂直翻转模块。例如,如果端口在两侧,则从左向右翻转模块。
提示
或者,要水平翻转模块,请按 Ctrl+I。
要旋转或翻转一组模块,请先选择多个模块,然后旋转或翻转它们。您只能向左或向右翻转模块组。
旋转或翻转一组模块后,可以通过编辑信号线来提高模块图的可读性。自动排列选项可以改进信号的外观。(有关对具有多个端口的情况进行旋转的信息,请参阅标识旋转或翻转模块上的端口位置。)
例如,假设您顺时针旋转这些选定的模块。
旋转模块后,一些模型元素可能会重叠。
在选中模块和信号的状态下,在格式选项卡上,点击自动排列。
标识旋转或翻转模块上的端口位置
旋转可使模块的端口从两侧转到顶部和底部,或从顶部和底部转到两侧,具体取决于端口的位置。旋转之后的模块端口位置取决于模块的端口旋转类型。
旋转可能会更改某些模块上的端口位置,以保持从左到右或从上到下的端口编号顺序。旋转之后端口重新排序的模块采用默认端口旋转类型。此原则有助于保持在控制系统建模应用中使用的从左到右、从上到下的模块图方向惯例。下图显示了采用默认端口旋转原则的模块进行顺时针旋转之后的效果。
封装模块可以指定端口在旋转后保持其顺序(请参阅图标绘制命令)。这些模块采用物理端口旋转类型。在设计要用于物理系统建模或其他应用的模块时,如果模块图没有首选的方向,则此原则很有用。下图显示了采用物理端口旋转类型的模块进行顺时针旋转之后的效果。
翻转模块可使端口移动到模块的另一侧,生成一个镜像模块,而不管端口的旋转类型是什么。
移动端口
您可以在这些模块的任意一侧按任何顺序放置端口:
Subsystem 模块
Model 模块
Chart (Stateflow) 模块
Truth Table (Stateflow) 模块
State Transition Table (Stateflow) 模块
您可以通过点击并拖动端口来移动端口。
对于 Subsystem 模块,每次移动后,端口索引将自动重新编号。有关 Subsystem 模块上的端口标签编辑,请参阅编辑子系统模块上的端口标签。
您可以将端口拖到 Subsystem 模块的任何一侧。
您无法拖动封装或链接的 Subsystem 模块上的端口。