主要内容

复合信号的类型

为了降低模型中的视觉复杂性,可以将信号组合成复合信号。复合信号包含的信号被调用元素.元素保留它们各自的身份,这使您可以从复合信号中提取它们。

您可以通过名称或索引访问复合信号元素,这取决于复合信号类型。

  • 基于名称的复合信号允许信号层次结构并被调用公共汽车

  • 基于指数的综合信号是平坦的,不管你是否在阶段中创建它们。它们要求所有输入信号具有相同的数据类型。

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

  • 一种虚拟的复合信号通过将两个或更多个信号线组合成一条线来简化模型的可视外观。它不会在任何功能感觉中对信号进行分组,因此不会影响模拟或代码生成。通过直接访问元素,虚拟复合信号在模拟和生成的代码中执行比非维速复合信号更快。

  • 一种nonvirtual.复合信号在视觉上和功能上对信号进行分组,影响仿真和代码生成。

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

复合信号功能 基于名称的访问 基于索引的访问
视觉分组

虚拟总线

mux信号

功能分组

Nonvirtual总线

串联信号

您可以在编译模型后通过它们的线路样式识别复合信号类型。当您为复合信号创建一行或打开包含复合信号的模型时,复合信号具有与标量信号相同的线路样式。要编译模型并显示复合线路样式,请执行造型选项卡上,选择更新模型

编译后的综合线条样式 复合信号类型
虚拟总线
非宽恕巴士
基于索引的复合信号非卡尔信号启用信息覆盖
基于索引的复合信号,包含非virtual总线(称为数组的公交车

虚拟总线

这个模型显示了一个包含信号的虚拟总线一种B.,C

总线的创造者阻止在子系统或模型中创建总线。总线选择器阻止提取总线的指定元素。

该模型显示了通过子系统边界的等效虚拟总线。

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

您可以使用虚拟总线包含具有不同样本时间的总线元素。

要定义虚拟总线的属性,您可以指定一个金宝app仿真软件。公共汽车对象数据类型或指定元素属性在公交元素中公共汽车元素块。

要创建虚拟总线,请参见将信号线组合成虚拟总线

Nonvirtual总线

这个模型显示了一个包含信号的非虚拟总线一种B.,C

总线的创造者阻止在子系统或模型中创建总线。总线选择器阻止提取总线的指定元素。

该模型显示了通过模型参考边界的等效非横向总线使用公共汽车元素在公交元素中块。

您可以使用非视频公交服务:

  • 在生成的C代码中将总线数据打包为结构。

  • 构造一系列公共汽车。

  • 通过s函数与外部代码接口。

  • 有总线数据十字架MATLAB函数块或州流®图的边界。

  • 显示和日志总线范围块。

非Virtual总线的所有元素必须使用相同的采样时间。你可以使用一个率转换块以更改单独信号的采样时间或总线中的所有信号。

一种金宝app仿真软件。公共汽车对象数据类型必须定义要使之为非虚拟的总线。当您选择一个块参数时,总线将变成非虚拟的,例如输出为非虚拟总线.选择使总线非virtual原因导致模拟和代码生成应用由此定义的结构公共汽车对象。当公共汽车是虚拟的,公共汽车对象仅验证总线的属性。

总线的类型可以在生成代码的效率、大小和可读性方面产生显著差异。要使总线出现在生成的代码中,它必须是非虚的。只有虚拟总线的元素出现在生成的代码中。

例如,假设一辆公共汽车经过单位延迟块。为了简单起见,总线只包含三个元素:一种B.,C.此表显示了非传真总线对生成的代码的影响。

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

模型_types.h文件

虚拟总线不需要类型定义。

公共汽车对象显示在生成的代码中作为结构。

typedef结构{real_t a;real_t b;real_t c;busobject;

模型.h文件

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

typedef struct {real_t unitdelay_1_dstate;/ *' /单位延迟'* / real_t unitdelay_2_dstate;/ *' /单位延迟'* / real_t unitedelay_3_dstate;/ *' /单位延迟'* /} dw_模型_T;

生成的代码定义了一个单位延迟用于非视频总线的块,使用busobject.结构体。

typedef struct{总线对象UnitDelay_DSTATE;/ *' /单位延迟'* /} dw_模型_T;

要创建非虚拟总线,请参见创建Nonvirtual公交车

如果您打算为使用总线的模型生成代码,请参见为总线信号生成有效的代码(金宝appSimulink编码器).为非虚拟总线生成代码可能导致某些总线的多个副本。

串联信号

这个模型显示了一个将输入矩阵并排放置的级联信号。

矩阵连接块会创建连接信号。元素可以是vector或矩阵,具体取决于配置此块的方式。这选择器块根据指定的索引提取信号。提取的信号可以不同于输入信号进行分组。

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

将信号分组用向量连接矩阵连接块,则信号必须具有相同的数据类型。当数据类型为公共汽车对象时,输入必须是非虚拟总线。

连接的非横向公共汽车也被称为一个数组的公交车.在总线数组中,所有元素都是非虚拟总线,它们使用相同的公共汽车对象以指定属性。在MATLAB中,总线阵列等价于结构阵列®.您可以使用一系列总线来模拟多通道系统。虽然所有通道具有相同的属性,但是每个信道可以具有不同的值。

在这个模型中,a向量连接块创建一个总线数组。

有关总线阵列的详细信息,请参见在总线数组中对非虚拟总线进行分组

mux信号

该模型显示了一个MUX信号,使三个输入信号并排放置。

Mux块会创建MUX信号。这宣布块提取所有信号,其可以与输入信号不同分组。这选择器块根据指定的索引提取信号。提取的信号可以不同于输入信号进行分组。

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

输入信号Mux块可以是标量,向量和MUX信号的任何组合,但它们必须具有相同的数据类型和数字类型。输出MUX信号中的信号以与输入信号相同的顺序出现Mux块。你可以使用多个Mux块以阶段创建MUX信号,但结果呈平,好像您使用单个Mux块。

相关话题