定义总线属性以供重用
总线可以减少模块图中信号线的复杂度和杂乱无章,并使接口的增量更改更容易。虚拟总线信号类似于用束线带绑在一起的一捆电线。非虚拟总线类似于 C 代码中的结构体。要为总线创建一个可重用的设定,请使用总线对象。软件使用总线对象来验证总线及其元素的属性。多个模块、对象和模型组件可以指定同一总线对象。
总线对象仅指定总线的架构属性,这与总线中包含的信号的值不同。例如,总线对象可以指定总线中的元素数量、元素的顺序、元素是否嵌套以及如何嵌套、组成信号的数据类型等,但不指定信号值。
总线对象类似于 C 语言中的结构体定义:该总线对象定义总线的成员,但不创建总线。总线对象也类似于电缆连接器。连接器定义引脚及其配置,并控制它们可以连接哪些类型的电线。类似地,总线对象定义关联的总线必须具有的信号配置和属性。
总线对象对于虚拟总线是可选的,但对于非虚拟总线是必需的。有关虚拟和非虚拟总线的详细信息,请参阅合成接口规范。
要在可重用组件(例如引用子系统或引用模型)的接口处定义总线属性,请使用 In Bus Element 和 Out Bus Element 模块。有关详细信息,请参阅Define Bus Properties at Component Interfaces。
确定是否使用总线对象
您可以单独指定总线属性,也可以使用总线对象来指定。要对使用总线对象的模型进行仿真,您必须通过使用工程、数据字典、模型回调或其他策略来加载总线对象。
根据您的建模要求,您定义总线属性的方式可能会有所不同。
| 建模要求 | 设定源 |
|---|---|
| 在子系统或模型接口上分配或验证总线的层次结构和属性。 | 使用一个或多个 In Bus Element 或 Out Bus Element 模块。(可选)使用 模型顶层中的 Inport 和 Outport 模块需要 |
| 分配或验证跨多个模块、子系统或模型的总线的层次结构和属性。 | 使用 |
| 在组件(例如子系统或模型)之间的接口处强制实现一致性。 | 使用 当模型组件的端口直接相互连接时,请为这些端口指定相同或等效的总线对象。通过在接口的两端指定具有相同层次结构和属性的总线对象,您可以强制实现组件之间接口的一致性。有关接口设计的详细信息,请参阅Define Interfaces and Manage Data of Simulink Components。 |
| 在使用 Bus Creator 模块创建总线时强制实施强数据定型。 | 使用
|
| 强制 Switch 或 Multiport Switch 模块的输出总线使用一致的元素名称,无论该模块传播哪个输入总线。 | 使用
|
使用以下任一建模配置:
| 使用 |
| 跟踪模型和为总线生成的代码之间的对应关系。 | 使用由 为非虚拟总线生成的代码生成一个结构体。使用非虚拟总线可能会导致包含某些总线的多个副本。 总线对象仅在定义非虚拟总线时才会出现在生成的代码中。对于定义虚拟总线的总线对象,总线对象指定的属性出现在生成的代码中,而不是在总线对象中。 有关详细信息,请参阅Create Nonvirtual Buses。 |
| 为 Simscape™ 守恒连接设计严格的接口设定,并锁定连接名称和类型。 | 使用 有关详细信息,请参阅Design Rigid Interface Specifications for Conserving Connections (Simscape)。 |
后续步骤
当总线对象满足您的建模需求时,请遵循以下后续步骤:
当 In Bus Element 或 Out Bus Element 模块满足您的建模需求时,请参阅Define Bus Properties at Component Interfaces。