Simulink 总线功能
一条总线表示一组元素,类似于捆绑在一起的一束电线。总线减少了模块图中的线路复杂性和混乱性,并使逐步更改组件接口变得更加容易。例如,如果您必须在组件接口中添加或删除元素,修改总线可能比添加或删除端口更简单。
此示例向您介绍了 Simulink® 总线功能,可帮助您:
用总线来组织模块图。
通过总线元素端口简化组件接口。
通过智能编辑简化常见的总线工作流。
打开并编译 BusCapabilities
模型。要编译模型,请在 Simulink 工具条的建模选项卡上点击更新模型。
mdl = "BusCapabilities"; open_system(mdl); set_param(mdl, SimulationCommand="Update");
编译模型会更新线型。当您打开模型时,总线具有与标量信号相同的线型。模型编译后,每辆总线的线型均为三条平行线。
组织包含总线的模块图
BusRouting
子系统演示了如何:
使用 Bus Creator 模块创建总线。
使用 Bus Assignment 模块替换总线中的元素。
使用 Bus Selector 模块从总线中提取元素。
每个Bus Creator模块将其输入分组到总线中。
BusCreator1
创建一个包含名为sine
和chirp
的信号的总线。输出总线名为sinusoidal
。BusCreator2
创建一个包含名为pulse
和saw
的信号的总线。输出总线名为nonsinusoidal
。BusCreator3
创建一个包含名为sinusoidal
和nonsinusoidal
的总线。在新总线的上下文中,这些总线被称为嵌套总线。BusCreator4
创建一个包含不同信号的总线,分别名为pulse
和saw
。
要查看总线的层次结构,点击该总线。然后,在信号选项卡上,选择信号层次结构。例如,检查由 BusCreator3
创建的顶级总线的层次结构。
Bus Assignment 模块替换连接到其总线输入端口的总线中的一个或多个元素。在此示例中,顶层总线连接到 Bus 输入端口。Bus Assignment 模块用不同的信号替换名为 constant
的信号,用不同的总线替换名为 nonsinusoidal
的总线。
Bus Selector模块从连接到其输入端口的总线中提取一个或多个元素。在此示例中,Bus Selector 模块选择标识为 nonsinusoidal.pulse
、sinusoidal.sine
和 constant
的信号。
每个选定的信号连接到一个显示信号值的接收器。仿真开始后,Scope 窗口显示 nonsinusoidal.pulse
和 sinusoidal.sine
的值,Display 模块显示 constant
的值。要查看此行为,仿真模型。
sim(mdl);
使用总线元素端口简化组件接口
为了在输出端口创建总线层次结构,BusOutput
子系统使用 Out Bus Element 模块。
Out Bus Element模块的行为类似于连接到 Outport 模块的 Bus Creator 模块。每个 Out Bus Element 模块都有一个标识输出的标签。例如,标签为 Out1.sinusoidal.sine
的 Out Bus Element 模块在名为 Out1
的输出端口上,在名为 sinusoidal
的嵌套总线中创建名为 sine
的元素。
为了从输入端口提取总线元素,BusInput
子系统使用 In Bus Element 模块。
In Bus Element 模块类似于连接到 Bus Selector 模块的 Inport 模块。每个 In Bus Element 模块都有一个标识输入的标签。例如,标签为 In1.sinusoidal.sine
的 In Bus Element 模块从名为 In1
的输入端口中选择名为 sinusoidal
的嵌套总线中名为 sine
的元素。
总线元素端口支持部分选择。子系统的输入端口接收包含五个元素的总线,但子系统仅使用三个元素。这种灵活性使您可以创建使用同一输入端口的不同元素的变体。
要更改与 In Bus Element 或 Out Bus Element 模块对应的输入或输出,请编辑模块标签。标签的第一部分是端口名称。标签的第二部分是元素路径,其中每个点表示另一个层次结构。
对于接收总线的子系统输入端口,请从可用元素列表中进行选择。
要创建端口或为现有端口添加模块,右键点击并拖动 In Bus Element 或 Out Bus Element 模块。然后,选择新端口、新元素或复制。为了防止对输出元素的重叠写入,禁用 Out Bus Element 模块的重复。
要创建端口,您还可以复制并粘贴 In Bus Element 或 Out Bus Element 模块。
要显示一组 In Bus Element 模块访问的总线或一组 Out Bus Element 模块创建的总线,请打开属性检查器。然后,选择其中一个模块。或者,双击其中一个模块。
从属性检查器或对话框中,您可以执行多个操作。例如,您可以:
重命名端口和元素。
添加元素,无论是否添加模块。
指定总线及其元素的属性。
按总线或选择单独更改模块颜色。
重新排序输出端口的元素。
要更改当前模块图显示 In Bus Element 和 Out Bus Element 模块标签的方式,点击 In Bus Element 或 Out Bus Element 模块,在省略号上暂停,然后选择以下选项之一:
扩展符号 - 标签显示端口名称和元素路径,例如
Out1.sinusoidal.sine
。紧凑符号 - 标签仅显示叶元素名称。例如,
Out1.sinusoidal.sine
变为sine
。点击标签时,标签的两个部分都会出现以供编辑。
虽然此示例演示了子系统接口处的 In Bus Element 和 Out Bus Element 模块,但这些模块在模型接口处的行为类似。
通过智能编辑简化常见总线工作流
智能编辑可让您快速:
将输入和输出端口转换为总线元素端口。
在输入和输出接口处创建总线。
从模块输出创建总线。
将端口添加到总线模块。
将总线元素端口添加到子系统和参考模型。
快速转换端口
PortConversion
子系统包含两个通过总线连接的子系统。第一个子系统包含总线创建器和 Outport 模块,以转换为 Out Bus Element 模块。第二个子系统包含 Inport 和 Bus Selector 模块,用于转换为 In Bus Element 模块。
在第一个子系统中,点击连接到 Outport 模块的 Bus Creator 模块。将鼠标暂停在出现的省略号上。然后,从操作栏中选择总线端口。
在第二个子系统中,点击连接到 Inport 模块的 Bus Selector 模块。将鼠标暂停在出现的省略号上。然后,从操作栏中选择总线端口。
快速创建总线
BusCreation
子系统设置为在子系统接口和模块输出处创建总线。
要在子系统接口处创建总线,请拖动选择框围绕相应的线路。将鼠标暂停在出现的省略号上。然后,从操作栏中选择创建总线。
此操作将选定的元素捆绑在总线中,用子系统中的 In Bus Element 和 Out Bus Element 模块替换 Inport 和 Outport 模块,并添加 Bus Creator 和 Bus Selector 模块以维持子系统外部的连接。
要在模块输出处创建总线,请拖动选择框到相应的模块周围。将鼠标暂停在出现的省略号上。然后,从操作栏中选择创建总线。
此操作插入一个 Bus Creator 模块,该块接收来自选定模块的输入。
快速创建端口
PortCreation
子系统设置为在 Bus Creator 模块上创建输入端口、在 Bus Selector 模块上创建输出端口并在 Subsystem 模块上创建总线元素端口。
要向总线添加元素,请将一条信号线拖到 Bus Creator 模块。要从总线中选择元素,请将一条信号线拖到 Bus Selector 模块,然后从可用元素列表中选择所需的元素。
要将总线元素端口添加到子系统或模型,点击子系统或 Model 模块的边缘。然后,选择创建输入总线端口或创建输出总线端口。
另请参阅
Bus Assignment | Bus Creator | Bus Selector | In Bus Element | Out Bus Element