Simulink 环境基础知识(二十七)--Simulink.Bus

目录

Simulink.Bus指定总线的属性

说明

创建对象

语法

说明

属性

示例

创建 Bus 对象和 BusElement 对象

替代方法


Simulink.Bus指定总线的属性

说明

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

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

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

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

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

要在基础工作区或数据字典中创建和修改 Bus 对象,可以使用Bus Editor或 MATLAB® 命令。无法在模型工作区中存储 Bus 对象。

要在模型中使用 Bus 对象,参考使用Simulink.Bus对象指定总线属性

创建对象

语法

busObject = Simulink.Bus

说明

busObject = Simulink.Bus 返回 Bus 对象,该对象具有以下属性值:

    Description: ''
      DataScope: 'Auto'
     HeaderFile: ''
      Alignment: -1
       Elements: [0×0 Simulink.BusElement]

Bus对象的名称是向其赋予Bus对象的MATLAB变量的名称。

属性

Description - 总线说明
字符向量

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

Elements - 总线内信号的属性
Simulink.BusElement 对象的数组

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

DataScope - 生成的代码中的数据类型定义模式
'Auto' (默认) | 'Exported' | 'Imported'

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

操作
'Auto'(默认值)

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

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

HeaderFile - 用于数据类型定义的 C 头文件
字符向量

用于数据类型定义的 C 头文件,指定为字符向量。基于 DataScope 属性的值,在头文件中导入或导出数据类型定义。Simulink Coder™ 软件使用此属性进行代码生成。Simulink 软件将忽略此属性。默认情况下,生成的 #include 指令使用预处理器分隔符 ",而不是 < 和 >。要生成指令 #include <myTypes.h>,请将 HeaderFile 指定为 <myTypes.h>

Alignment - 数据对齐边界
-1 (默认) | 整数

数据对齐边界,指定为整数(以字节为单位)。Simulink Coder 软件使用此属性进行代码生成。Simulink 软件将忽略此属性。为总线分配的数据的起始内存地址是 Alignment 设置的倍数。如果对象出现在需要对齐的上下文中,则必须指定一个不超过 128 并且是 2 的幂的正整数作为 Alignment 的值。

示例

创建 Bus 对象和 BusElement 对象

此示例说明如何在基础工作区中创建 Bus 对象及其关联的 BusElement 对象。创建名为 CONTROL 的 Bus 对象。

CONTROL = Simulink.Bus;

创建并指定两个 BusElement 对象(名为 VALVE1 和 VALVE2)的属性。

valve1 = Simulink.BusElement;
valve1.Name = 'VALVE1';
valve1.Dimensions = 1;
valve1.DimensionsMode = 'Fixed';
valve1.DataType = 'double';
valve1.SampleTime = -1;
valve1.Complexity = 'real';

valve2 = Simulink.BusElement;
valve2.Name = 'VALVE2';
valve2.Dimensions = 1;
valve2.DimensionsMode = 'Fixed';
valve2.DataType = 'double';
valve2.SampleTime = -1;
valve2.Complexity = 'real';

将元素分配给 CONTROL Bus 对象。

CONTROL.Elements = [valve1 valve2];

替代方法

要以交互方式创建 Bus 对象,可以使用Bus Editor。要从模型中的模块、MATLAB数据和外部C代码创建Bus对象,参考以编程的方式创建总线对象

 

猜你喜欢

转载自blog.csdn.net/jk_101/article/details/113817681