合成接口规范
为了简化模型外观,您可以对信号、消息或守恒连接进行组合,以便为模型组件和模块创建合成接口。合成接口可以减少模型组件上的端口数量和模块图中的线条数量。合成接口的元素保留它们各自的身份。
虚拟总线可满足合成接口的大多数建模要求,并可灵活地组合不同类型的元素。虚拟总线可减少模块图中线条的复杂度和杂乱无章,并使进一步更改接口变得更容易。例如,如果您必须在组件接口中添加或删除元素,修改总线可能比添加或删除端口更简单。
创建合成接口(如虚拟总线)时,可以根据信号线的功能对其进行分组。通过将信号、消息或连接组织到逻辑分组中,可以降低将来进行重大重构的可能性。
在组件接口处使用 In Bus Element 和 Out Bus Element 模块。In Bus Element 模块允许您在使用时按名称提取总线元素。Out Bus Element 模块允许您通过将元素连接到同一输出端口的多个 Out Bus Element 模块来构建输出总线。
要在一个接口上强制合成总线,请使用 Simulink.Bus
对象。
要在生成的代码中将总线定义实现为一个结构体,或在子系统(例如 For Each 子系统)中以迭代方式处理总线,请考虑将虚拟总线改为非虚拟总线。
可视化合成接口
假设您有以下相对简单的模型。
此模型中的每个组件接口都有多个端口,诸多信号线使模型变得杂乱无章。
使用合成接口,您可以通过减少信号线数量来简化模块图。
虚拟总线根据四种不同类型的功能简化模块图中的信号线:传感器数据、系统目标、控制信号和系统扰动。
这些组件在其接口处使用 In Bus Element 和 Out Bus Element 模块。例如,假设有名为 Controller
的子系统,内容如下。
每个 In Bus Element 和 Out Bus Element 模块都有一个显示对应元素的标签,例如 sensor.x1
。在此示例中,sensor
是端口的名称,而 x1
是总线元素的名称。两个 In Bus Element 模块选择此元素以避免分支信号线。
定义合成接口
在创建合成接口之前,请考虑您的高层和低层建模需求。
根据您的高级建模需求,决定如何对信号、消息或保存连接进行分组。 | |
将虚拟总线、非虚拟总线和总线数组与低层建模需求进行比较。 |
提示
要确定模型组件的边界、数据作用域和接口属性,请参阅Define Interfaces of Model Components。