主要内容

类型的复合信号

减少视觉复杂性在一个模型中,您可以组合成复合信号的信号。复合信号的信号包含被称为元素。元素保留各自的身份,让你从混合信号中提取它们。

您可以访问复合信号元素按名称或索引,根据复合信号类型。

  • 基于名称的复合信号允许信号等级和被称为公共汽车

  • 基于索引的复合信号是平的,无论您创建阶段。他们要求所有输入信号具有相同的数据类型。

组信号为复合信号时,您可以决定是否影响模拟和代码生成。

  • 一个虚拟复合信号简化模型的视觉外观结合两个或两个以上的信号行成一行。它不组在任何功能意义上的信号,因此,不影响模拟或代码生成。通过直接访问元素,虚拟复合信号执行速度比nonvirtual复合信号模拟和生成的代码。

  • 一个nonvirtual复合信号视觉和功能组信号,影响模拟和代码生成。

这些复合信号的模型可以使用一个组合类型。

复合信号特性 基于名称的访问 基于索引的访问方法
视觉分组

虚拟总线

Mux信号

功能分组

Nonvirtual总线

连接信号

您可以识别复合信号类型编译后的线型模型。当您创建一个复合信号或打开一个模型,该模型包含复合信号,复合信号具有相同的线条样式作为标量信号。来编译模型和显示复合线样式,在建模选项卡上,选择更新模型

编译后复合线条样式 复合信号类型
虚拟总线风格 虚拟总线
Nonvirtual总线风格 Nonvirtual总线
Nonscalar信号线 基于索引的复合信号的时候Nonscalar信号启用信息覆盖
数组的巴士线风格 基于索引包含nonvirtual巴士(称为一个复合信号数组的公交车)

虚拟总线

这个模型显示了虚拟总线包含信号一个,b,c

模型与一个虚拟总线之间的总线创造者块和一个总线选择器块

总线的创造者块创建公共汽车在一个子系统或模型。总线选择器块提取指定的元素。

这个模型显示了一个等效虚拟总线通过子系统边界。

模型与一个虚拟总线连接两个子系统

公共汽车元素块创建一个接口总线子系统或模型。在公共汽车元素块提取指定的元素的接口总线子系统或模型。

您可以使用虚拟总线包含公共汽车元素不同样品时间。

定义一个虚拟总线的属性,你可以指定一个金宝appSimulink.Bus对象数据类型或指定元素属性在公共汽车元素公共汽车元素块。

创建一个虚拟总线,明白了组信号线路到虚拟的公共汽车

Nonvirtual总线

这个模型显示了nonvirtual总线包含信号一个,b,c

模型一块nonvirtual总线之间的总线的创造者和总线选择器块

总线的创造者块创建公共汽车在一个子系统或模型。总线选择器块提取指定的元素。

这个模型显示了一个等效nonvirtual公共汽车穿过边界模型参考使用公共汽车元素在公共汽车元素块。

模型与nonvirtual总线连接两个子系统

您可以使用nonvirtual公交车:

  • 包总线数据结构生成的C代码。

  • 构造一个数组的公交车。

  • 通过一个功能接口与外部代码。

  • 总线数据交叉MATLAB函数块或Stateflow®图的边界。

  • 显示和日志的公交车范围块。

所有元素的nonvirtual总线必须使用相同的样品时间。您可以使用一个率转换块来改变个体的样本时间信号或信号的一辆公共汽车。

一个金宝appSimulink.Bus对象数据类型必须定义公共汽车你想让nonvirtual。公共汽车成为nonvirtual当您选择一块参数等输出作为nonvirtual总线。选择做公共汽车nonvirtual导致模拟和代码生成应用定义的结构公共汽车对象。当公共汽车是虚拟的,公共汽车对象只有验证属性的公共汽车。

总线的类型可以使效率的显著差异,大小和生成的代码的可读性。一辆公共汽车出现在生成的代码,它必须nonvirtual。只有一个虚拟总线的元素出现在生成的代码中。

例如,假设一个公共汽车通过单位延迟块。为简单起见,总线只包含三个要素:一个,b,c。这个表显示的效果nonvirtual总线在生成的代码。

生成的代码 虚拟总线 Nonvirtual总线

模型_types.h文件

虚拟公共汽车不需要类型定义。

公共汽车对象出现在生成的代码结构。

typedef struct {real_T;real_T b;real_T c;}BusObject;

模型。h文件

生成的代码定义了一个单位延迟块为每个元素的虚拟总线。

typedef struct {real_T UnitDelay_1_DSTATE;/ * < Root > /单元的延迟* / real_T UnitDelay_2_DSTATE;/ * < Root > /单元的延迟* / real_T UnitDelay_3_DSTATE;/ * < Root > /单元的延迟* /}DW_模型_T;

生成的代码定义了一个单位延迟块nonvirtual总线的使用BusObject结构。

typedef struct {BusObject UnitDelay_DSTATE;/ * < Root > /单元的延迟* /}DW_模型_T;

创建一个nonvirtual巴士,明白了创建Nonvirtual公交车

如果您打算为模型生成代码,使用公交车,看到的为总线信号生成高效的代码(金宝app仿真软件编码器)。生成代码nonvirtual巴士会导致一些公交车的多个副本。

连接信号

这个模型显示了连接信号输入矩阵并排的地方。

模型之间的连接信号矩阵连接块和两个选择器模块

矩阵连接块创建连接的信号。元素可以是向量或矩阵,这取决于你如何配置这一块。的选择器基于指定索引块中提取信号。提取的信号可以组合不同的输入信号。

您可以使用连接信号数学运算。

与一组信号向量连接矩阵连接块,信号必须具有相同的数据类型。当数据类型公共汽车对象,输入必须nonvirtual公交车。

连接nonvirtual巴士也被称为一个数组的公交车。在公交车的数组中,所有元素nonvirtual使用相同的公共汽车公共汽车对象指定属性。一批公交车相当于在MATLAB的数组结构®。您可以使用一个数组的巴士模型多通道系统。虽然所有通道都有相同的属性,每个渠道可能有不同的价值。

在这个模型中,一个向量连接块创建一个数组的公交车。

模型与一个数组向量之间的巴士连接块和一块选择器

数组的公交车的更多信息,请参阅集团Nonvirtual巴士公交车的数组

Mux信号

这个模型显示了mux信号,并排的三个输入信号的地方。

mux mux块之间的信号模型,多路分配器块和选择器

Mux块创建mux信号。的多路分配器块提取信号,这可能会被不同的输入信号。的选择器基于指定索引块中提取信号。提取的信号可以组合不同的输入信号。

您可以使用一个mux信号在多个执行计算向量。你也可以使用Mux块创建一个向量的函数调用。

输入信号为Mux块可以任意组合的标量、向量和mux信号,但他们必须具有相同的数据类型和数字类型。信号在输出mux信号出现在相同的顺序的输入信号Mux块。您可以使用多个Mux块创建一个mux信号阶段,但是,如果你使用一个单一的结果是平的Mux块。

相关的话题