主要内容

变体水槽

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

  • 库:
  • 万博1manbetxSimulink /信号路由

  • 变体沉块

描述

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

每个输出端口都与一个Variant控件相关联。计算结果为的Variant控件真正的,确定哪个输出端口是活动的。

在仿真中,仿真软件万博1manbetx®将活动选择直接连接到变体水槽阻塞并忽略不活动的选择。

港口

输入

全部展开

输入信号,指定为标量、矢量或矩阵,连接到有源输出端口。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|固定点|枚举|公共汽车|结构体

输出

全部展开

第一个变量的输出信号。计算结果为的Variant控件真正的,确定哪个输出端口是活动的。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|固定点|枚举|公共汽车

第n个变量的输出信号。计算结果为的Variant控件真正的,确定哪个输出端口是活动的。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|固定点|枚举|公共汽车

参数

全部展开

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

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

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

    请注意

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

    • 如果块在表达式模式,同时推广标签模式主动选择参数为掩码时,可以更改变量控制方式标签通过改变被提升的标签模式主动选择参数。

    • 如果块在标签模式,同时推广标签模式主动选择参数为掩码时,不能更改变量控制方式表达式模式。

    有关向掩码推广参数的信息,请参阅将参数提升到Mask

  • sim codegen切换-要在模拟和代码生成工作流的变体之间自动切换,请使用sim codegen切换模式。当你模拟(普通,加速器,快速加速器)一个模型,然后Simulink自动选择万博1manbetxsim卡分支作为主动选择。类似地,当您进行软件在环(SIL)、处理器在环(PIL)仿真或生成代码或使用外部模式时,Simulink自动选择万博1manbetxcodegen分支。

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

依赖关系

变体激活时间参数仅在设置变量控制方式参数表达式要么sim codegen切换

此参数确定Simulink是否设置了A的活动选择万博1manbetx变体水槽块在更新图或代码编译期间。该参数还决定在生成的ERT目标代码中包含哪些可变性。如果您选择包含所有的Variant选项,这些选项将包含在生成的代码中的C预处理器条件语句(# If和#endif)中。

当您将此参数设置为不同的值时,变体徽章将发生如下所示的变化变体徽章

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

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

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

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

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

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

依赖关系

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

  • 当你设置变量控制方式sim codegen切换,该参数可以设置为更新图要么更新图表,分析所有的选择.的代码编译选项不可用。

编程使用

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

连接到Variant Sink块上游的一个Variant选择的输入端口的编号。该值为只读。

点击添加端口或删除已存在的用户。

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

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

要输入变体名称,双击变异控制表达式在新行中的单元格和类型在变体控制表达式中。点击应用编辑Variant控件名称之后。如果添加或删除Variant控件而不应用更改,则之前对Variant控件名称的编辑将丢失。

编程使用

块参数:VariantControls
类型:字符向量的单元格数组
价值观:变体控制与变体选择相关联
默认值:“变异”

显示了条件的变体控件万博1manbetx仿真软件。变体对象。属性中创建或更改Variant条件万博1manbetx仿真软件。变体参数对话框或全局工作区中。

有关更多信息,请参见以编程方式创建变体控件万博1manbetx仿真软件。变体

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

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

请注意

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

依赖关系

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

编程使用

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

要模拟一个模型(包含一个Variant块)而没有活动的Variant选择,请选择允许零主动变型控制选择。当这个选项被选中,并且没有活动的Variant选项时,Simulink将禁用连接到的输入和输出流的所有块万博1manbetx变体水槽堵塞。从更新图或仿真中忽略删除的块。

如果你不选择这个选项,当没有活动的Variant选项时,Simuli万博1manbetxnk会生成一个错误。

当您选择此选项时,Variant徽标将指示更改。

依赖关系

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

编程使用

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

控件上的每个变量控件(条件表达式)注释万博1manbetx变体水槽阻塞端口。

编程使用

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

块特征

数据类型

布尔|公共汽车||枚举|固定点|一半|整数||字符串

直接引线

多维信号

适应信号

讨论二阶导数过零检测

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

定点转换
使用固定点设计器™设计和模拟定点系统。

介绍了R2016a