Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Simulink.Bus

指定总线的属性

说明

Simulink.Bus 对象是一种数据类型,当与 Simulink.BusElement 对象结合使用时,它指定并验证总线的属性。在仿真或更新模型时,Simulink® 检查连接到模块的总线是否与模块指定的 Simulink.Bus 对象数据类型匹配。

Bus 对象仅指定总线的架构属性。例如,总线对象可以指定元素名称、层次结构、顺序和数据类型。Bus 对象无法指定总线中信号的值。

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

Bus 对象包含 Simulink.BusElement 对象。每个 BusElement 对象指定总线中一个信号的属性,如信号的名称、数据类型和维度。Bus 对象中 BusElement 对象的顺序决定总线中信号的顺序。

Bus 对象可以指定未由组成信号定义但会被继承的属性。

要在基础工作区或数据字典中创建和修改 Bus 对象,您可以使用类型编辑器模型资源管理器或 MATLAB® 命令。您无法在模型工作区中存储 Bus 对象。

要在模型中使用 Bus 对象,请参阅使用 Simulink.Bus 对象数据类型指定总线属性

创建对象

您可以通过多种方式创建 Bus 对象。

描述

示例

name = Simulink.Bus 返回具有默认属性值的 Bus 对象。Bus 对象的名称是您向其赋予 Bus 对象的 MATLAB 变量的名称。

属性

全部展开

总线描述,指定为字符向量。使用该描述来记录有关 Bus 对象的信息,例如它应用到的信号种类或使用 Bus 对象的位置。此信息不会影响 Simulink 处理。

数据类型: char | string

总线的元素,指定为由 Simulink.BusElement 对象组成的数组。每个 BusElement 对象定义总线内信号的名称、数据类型、维度和其他属性。有关详细信息,请参阅 Simulink.BusElement

生成的代码中的数据类型定义模式,指定为 'Auto''Exported''Imported'。此属性指定在代码生成期间是从 HeaderFile 属性指定的头文件中导入数据类型定义,还是将其导出到该头文件。

操作
'Auto'(默认值)

从指定的头文件中导入数据类型定义。如果您未指定头文件,则将数据类型定义导出到默认头文件。

'Exported'将数据类型定义导出到指定的头文件或默认头文件。
'Imported'从指定的头文件或默认的头文件中导入数据类型定义。

将数据作用域设置为“已导入”或“已导出”以避免潜在的 MISRA C:2012 违规。

数据类型: char | string

用于数据类型定义的 C 头文件,指定为字符向量。基于 DataScope 属性的值,在头文件中导入或导出数据类型定义。Simulink Coder™ 软件使用此属性进行代码生成。Simulink 软件将忽略此属性。

默认情况下,生成的 #include 指令使用预处理器分隔符 ",而不是 <>。要生成指令 #include <myTypes.h>,请将 HeaderFile 指定为 <myTypes.h>

数据类型: char | string

数据对齐边界,指定为整数(以字节为单位)。Simulink Coder 软件使用此属性进行代码生成。Simulink 软件将忽略此属性。

为总线分配的数据的起始内存地址是 Alignment 设置的倍数。如果对象出现在需要对齐的上下文中,则必须指定一个不超过 128 并且是 2 的幂的正整数作为 Alignment 的值。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

该设定指示代码生成器在生成的代码中是否保留多维总线元素的维度。有关详细信息,请参阅 Preserve Dimensions of Bus Elements in Generated Code (Embedded Coder)

数据类型: logical

示例

全部折叠

使用 Simulink.BusElement 对象的数组创建 Simulink.Bus 对象的层次结构。

在基础工作区中创建一个数组,其中包含两个 BusElement 对象,分别名为 ChirpSine

elems(1) = Simulink.BusElement;
elems(1).Name = 'Chirp';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Sine';

数组索引允许您创建和访问数组的元素。圆点表示法允许您访问元素的属性值。

创建一个名为 SinusoidalBus 对象,该对象包含 elems 数组中定义的元素。

Sinusoidal = Simulink.Bus;
Sinusoidal.Elements = elems;

要创建 Bus 对象的层次结构,请创建另一个 Bus 对象来引用名为 SinusoidalBus 对象。

创建一个数组,其中包含两个 BusElement 对象,分别命名为 NestedBusStep。将名为 SinusoidalBus 对象指定为 NestedBus 元素的数据类型。

clear elems

elems(1) = Simulink.BusElement;
elems(1).Name = 'NestedBus';
elems(1).DataType = 'Bus: Sinusoidal';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Step';

创建一个名为 TopBusBus 对象,该对象包含 elems 数组中定义的元素。

TopBus = Simulink.Bus;
TopBus.Elements = elems;

您可以在类型编辑器中查看创建的对象的层次结构。

typeeditor

版本历史记录

在 R2006a 之前推出