主要内容

变体水槽

使用变量在多个输出之间路由

  • 图书馆:
  • 金宝appSimulink /信号路由

  • 变体沉块

描述

变体水槽块有一个输入端口和一个或多个输出端口。您可以将变体选择定义为连接到输出端口的块,以便最多一个选择是活动的。

每个输出端口与变型控制相关联。评估的变体控制真正的,确定哪个输出端口是活动的。

在仿真中,仿真软件金宝app®将活动选择直接连接到输入端口变体水槽阻止并忽略非活动选择。

港口

输入

全部展开

输入信号,指定为标量,向量或矩阵,以连接到活动输出端口。

数据类型:单身的||一半|INT8.|int16|int32|int64|uint8.|uint16|UINT32.|UINT64|布尔|不动点|枚举|公共汽车|结构体

输出

全部展开

来自第一变体的输出信号。评估的变体控制真正的,确定哪个输出端口是活动的。

数据类型:单身的||一半|INT8.|int16|int32|int64|uint8.|uint16|UINT32.|UINT64|布尔|不动点|枚举|公共汽车

来自第n变量的输出信号。评估的变体控制真正的,确定哪个输出端口是活动的。

数据类型:单身的||一半|INT8.|int16|int32|int64|uint8.|uint16|UINT32.|UINT64|布尔|不动点|枚举|公共汽车

参数

全部展开

  • 表达- 根据变体条件的评估,选择主动变体,使用表达模式。Variant条件中使用的Variant控制变量必须在全局工作空间或数据字典中创建。

  • 标签—根据在中指定的变体的名称选择活动的变体标签模式主动选择参数,使用标签模式。在标签模式下,Variant控件是一个字符串,不需要在任何工作空间中创建。

    当您选择标签模式时,变体徽章指示更改。

    笔记

    当你推广时标签模式主动选择参数为掩码,变量控制方式是禁用的。

    • 如果块是表达促进的模式标签模式主动选择参数为掩码时,可以更改变量控制方式标签通过改变晋升标签模式主动选择参数。

    • 如果块是标签促进的模式标签模式主动选择参数为掩码时,不能更改变量控制方式表达模式。

    有关将参数提升到掩码的信息,请参见将参数提升到Mask

  • SIM Codegen切换- 自动在模拟和代码生成工作流程之间切换,使用SIM Codegen切换模式。当您模拟(正常,加速器,快速加速器)一个模型时,Simulink会自动选择金宝appSIM分支为主动选择。同样,当您执行循环软件(SIL)时,处理器 - 循环(PIL)模拟或生成代码或使用外部模式,Simulink自动选择金宝appCodegen.分支。

当您将此参数设置为不同的值时,Variant徽标将更改,如变体徽章

依赖性

变体激活时间参数仅在设置变量控制方式参数到表达SIM Codegen切换

这个参数决定了Simulink是否设置一个主动选择金宝app变体水槽更新图或代码编译期间的块。该参数还确定了哪些可变性在生成的eRT目标中包含在生成的代码中。如果选择包含所有变体选项,则在生成的代码中包含C选项在C预处理器条件语句(#if和#endif)中。

将此参数设置为不同的值时,变体徽章更改如图所示变体徽章

你可以设置变体激活时间参数为:

  • 更新图- 金宝appSimulink在信号属性传播之前的更新图中设置主动选择。非活动选择在信号属性传播之前被删除,因此生成的代码只包含活动选择。

  • 更新图分析所有选择- 金宝appSimulink在信号属性传播后的更新图中设置主动选择。信号属性被传播到活动选择和非活动选择。对所有的选择进行分析,以确保仿真结果和代码生成结果之间的所有变体分支的一致性。在更新关系图的末尾,在模型开始之前,不活动的选择将被删除。生成的代码只包含活动选择。这个工作流对于模拟和代码生成是相同的。

  • 代码编译- 用于模拟,工作流程与更新图分析所有选择.但是,在代码生成期间不会删除不活动的选项。生成的代码包含活动选项和非活动选项,这些选项包含在C预处理器条件语句中,#如果# endif

此图显示了在此参数中指定的不同值的变体激活时间。

有关更多信息,请参见代表生成的代码中的变体源和宿块(嵌入式编码器)

依赖性

  • 当你设置时变量控制方式表达,可设置为更新图更新图分析所有选择, 或者代码编译

  • 当你设置时变量控制方式SIM Codegen切换,此参数可以设置为更新图更新图分析所有选择.这代码编译选项变得不可用。

程序使用

块参数:variantactivationtime
类型:特征向量
价值观:更新图|更新图分析所有选择|代码编译
默认:更新图

连接到变体槽块上游的一个变体选择的输入端口的数量。此值是只读的。

点击添加端口或删除现有的。

显示全局工作区中可用的Variant控件。变量控件可以是布尔条件表达式或金宝app仿真软件。变体代表布尔条件表达式的对象。如果要为模型生成代码,则必须将控制变量定义为MATLAB®变量。

若要输入非数字的Variant控件值,请使用枚举数据。有关使用枚举数据的信息,请参见在Simulink模型中使用枚举数据金宝app

要输入变体名称,双击变异控制表达式单元格,并在Variant控件表达式中键入。点击申请编辑变体控制名称后。如果在不应用更改的情况下添加或删除变体控制,则丢失Variant控件名称上的先前编辑。

程序使用

块参数:VariantControls.
类型:字符向量的单元格数组
价值观:与Variant选择相关联的Variant控件
默认:'变体'

显示了条件的变体控件金宝app仿真软件。变体对象。创建或更改变体条件金宝app仿真软件。变体参数对话框或全局工作区中。

有关更多信息,请参见以编程方式创建变体控件金宝app仿真软件。变体

当你选择变量控制方式作为标签, 这标签模式主动选择选项是可用的。您可以从中选择一个活跃的Variant选项标签模式主动选择选项。控件上的徽章也可以右击变体水槽块并选择标签模式有效选择

标签模式主动选择下拉列表显示当前在全局工作空间或数据字典中定义的所有Variant控件。使用有效的MATLAB标识符来指定Variant控件。有关更多信息,请参见金宝app仿真软件。变体

笔记

标签模式主动选择选项不可用表达式模式。

依赖性

要启用该参数,请选择标签模式。

程序使用

块参数:labelmodeactiveChoice.
类型:特征向量
价值观:由Variant控件表达式指定
默认:Choice_1

要模拟一个模型(包含一个Variant块)而没有活动的Variant选择,请选择允许零主动变体控制选项。选择此选项且没有活动变体选择时,Simulink禁用连接到输入和输出流的所有块金宝app变体水槽块。从更新图或模拟中忽略删除的块。

如果未选择此选项,则在没有活动的变体选择时,Simulink会生成错金宝app误。

选择此选项时,Variant Badge表示更改。

依赖性

表达式选择从变量控制方式被选中。

程序使用

块参数:AllowZeroVariantControls
类型:特征向量
价值观:“关闭”|'在'
默认:“关闭”

控件上的每个变量控件(条件表达式)注释金宝app变体水槽阻塞端口。

程序使用

块参数:showconditionoonblock.
类型:特征向量
价值观:“关闭”|'在'
默认:“关闭”

块特征

数据类型

布尔|公共汽车||枚举|不动点|一半|整数|单身的|细绳

直接引线

没有

多维信号

没有

可变尺寸信号

没有

讨论二阶导数过零检测

没有

扩展能力

C / c++代码生成
使用Simulink®Coder™生成C和C ++代码。金宝app

定点转换
使用fixed-point Designer™设计和模拟定点系统。

在R2016A介绍