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 对象指定总线属性

创建对象

说明

示例

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

属性

全部展开

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

数据类型: char | string

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

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

操作
'Auto'(默认值)

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

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

数据类型: 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

示例

全部折叠

使用数组创建 Bus 对象的层次结构。数组索引允许您创建和访问数组中的多个元素。圆点表示法允许您访问属性值。

在基础工作区中创建两个 BusElement 对象,分别名为 ChirpSine

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

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

创建名为 NestedBusBus 对象,该对象使用 elems 数组中定义的元素。

NestedBus = Simulink.Bus;
NestedBus.Elements = elems;

再创建两个名为 NestedBusStepBusElement 对象。要使 NestedBus 表示 Bus 对象,请指定 Bus 对象数据类型。

clear elems

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

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

在总线层次结构的顶层创建总线,该总线使用 elems 数组中定义的元素。

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

您可以在总线编辑器中查看创建的对象。

buseditor

替代方法

要以交互方式创建 Bus 对象,请使用总线编辑器

要从模型中的模块、MATLAB 数据和外部 C 代码创建 Bus 对象,请参阅以编程方式创建总线对象

在 R2006a 之前推出