主要内容

定义总线属性以供重用

总线可以减少模块图中信号线的复杂度和杂乱无章,并使接口的增量更改更容易。虚拟总线信号类似于用束线带绑在一起的一捆电线。非虚拟总线类似于 C 代码中的结构体。要为总线创建一个可重用的设定,请使用总线对象。软件使用总线对象来验证总线及其元素的属性。多个模块、对象和模型组件可以指定同一总线对象。

总线对象仅指定总线的架构属性,这与总线中包含的信号的值不同。例如,总线对象可以指定总线中的元素数量、元素的顺序、元素是否嵌套以及如何嵌套、组成信号的数据类型等,但不指定信号值。

总线对象类似于 C 语言中的结构体定义:该总线对象定义总线的成员,但不创建总线。总线对象也类似于电缆连接器。连接器定义引脚及其配置,并控制它们可以连接哪些类型的电线。类似地,总线对象定义关联的总线必须具有的信号配置和属性。

总线对象对于虚拟总线是可选的,但对于非虚拟总线是必需的。有关虚拟和非虚拟总线的详细信息,请参阅合成接口规范

要在可重用组件(例如引用子系统或引用模型)的接口处定义总线属性,请使用 In Bus ElementOut Bus Element 模块。有关详细信息,请参阅Define Bus Properties at Component Interfaces

确定是否使用总线对象

您可以单独指定总线属性,也可以使用总线对象来指定。要对使用总线对象的模型进行仿真,您必须通过使用工程、数据字典、模型回调或其他策略来加载总线对象。

根据您的建模要求,您定义总线属性的方式可能会有所不同。

建模要求设定源
在子系统或模型接口上分配或验证总线的层次结构和属性。

使用一个或多个 In Bus ElementOut Bus Element 模块。(可选)使用 Simulink.Bus 对象。

模型顶层中的 InportOutport 模块需要 Simulink.Bus 对象。

分配或验证跨多个模块、子系统或模型的总线的层次结构和属性。

使用 Simulink.Bus 对象。

在组件(例如子系统或模型)之间的接口处强制实现一致性。

使用 Simulink.Bus 对象。

当模型组件的端口直接相互连接时,请为这些端口指定相同或等效的总线对象。通过在接口的两端指定具有相同层次结构和属性的总线对象,您可以强制实现组件之间接口的一致性。有关接口设计的详细信息,请参阅Define Interfaces and Manage Data of Simulink Components

在使用 Bus Creator 模块创建总线时强制实施强数据定型。

使用 Simulink.Bus 对象并应用以下设置:

  • 输出数据类型模块参数设置为 Simulink.Bus 对象。

  • 元素名称模块参数设置为根据输出数据类型

  • 元素名称不匹配配置参数设置为错误。此配置参数检查输入元素名称是否与总线对象中的对应名称匹配。

强制 SwitchMultiport Switch 模块的输出总线使用一致的元素名称,无论该模块传播哪个输入总线。

使用 Simulink.Bus 对象并应用以下设置:

  • 输出数据类型模块参数设置为 Simulink.Bus 对象。

  • 元素名称不匹配配置参数设置为错误。此配置参数检查输入元素名称是否与总线对象中的对应名称匹配。

使用以下任一建模配置:

  • 非虚拟总线

  • 总线数组

  • 带总线输入或输出的 Stateflow®

  • 具有外部代码的 S-Function 或代码继承工具接口

  • 具有总线输入或输出的 MATLAB FunctionMATLAB System 模块

使用 Simulink.Bus 对象。

跟踪模型和为总线生成的代码之间的对应关系。

使用由 Simulink.Bus 对象定义的非虚拟总线。

为非虚拟总线生成的代码生成一个结构体。使用非虚拟总线可能会导致包含某些总线的多个副本。

总线对象仅在定义非虚拟总线时才会出现在生成的代码中。对于定义虚拟总线的总线对象,总线对象指定的属性出现在生成的代码中,而不是在总线对象中。

有关详细信息,请参阅Create Nonvirtual Buses

为 Simscape™ 守恒连接设计严格的接口设定,并锁定连接名称和类型。

使用 Simulink.ConnectionBus 对象。

有关详细信息,请参阅Design Rigid Interface Specifications for Conserving Connections (Simscape)

后续步骤

当总线对象满足您的建模需求时,请遵循以下后续步骤:

In Bus ElementOut Bus Element 模块满足您的建模需求时,请参阅Define Bus Properties at Component Interfaces

另请参阅

模块

对象

模型设置

主题