什么是变体和何时使用它们

变异是什么?

在仿真金宝app软件®,您可以使用变量块来创建一个模型来满足多个变量需求。这种模型具有固定的公共结构和有限的变量集。变量组件根据您选择的变体选项被激活。因此,所产生的主动模型是固定结构和基于变体选择的可变成分的组合。

在模型中使用变量块有助于模型对称为变量选择的不同条件表达式的可重用性。这种方法帮助您满足基于应用程序、成本或操作考虑的各种客户需求。

你可以根据模型设计使用这些变体块:

  • 变体子系统:用于等级模型结构。该块是两个有两个的模板子系统块用作变体系。你可以加子系统街区,以及模型块,用于变体。

  • 变体模型:用于等级模型结构。该块是两个有两个的模板模型块用作变体系。你可以加模型街区,以及子系统块,用于变体。

  • 内联变体:用于扁平模型结构。

请注意

单个输入的采样时间变体源/变体汇块可以不同于多个输入变体源/变体汇块。有关采样时间的更多信息,请参阅什么是样本时间?

使用A.变体子系统Block提供了以下优点:

  • 可以让你混合模型子系统块作为变体系

  • 金宝app支持灵活的I/O,因此所有变体不需要具有相同数量的输入和输出端口

将一个模型包含变体模型的块变体子系统块包含模型参考变体模型的块,右键单击模型块并选择子系统和模型参考>转换为>变体子系统.或者,您可以使用金宝appsimulink.variantmanager.converttovariant.函数。指定模型块名称或块句柄。转换模型产生与原始模型相同的结果。

如果您想要模拟一个模型,该模型表示具有多种配置的汽车。这些配置,虽然在几个方面相似,但可以不同的属性,如燃料消耗,发动机尺寸,或排放标准。您可以使用变量来只对变化的配置建模,而不是设计多个模型来同时表示所有可能的配置。这种方法保持了公共组件的固定。

这个模型在单个变量中包含两个变量变体子系统块。变体选项是模型中的两个或多个组件配置。

使用变体的优点

在基于模型的设计中使用变量有以下几个优点:

  • 变体为您提供了一种为多个系统设计一个模型的方法。

  • 您可以快速地将原型设计可能性作为变体,而不必注释掉模型的某些部分。

  • 变体帮助您开发模块化设计平台,以促进重用和定制。这种方法通过降低复杂性提高了工作流程的速度。

  • 如果模型组件有几种替代配置,则可以有效地探索这些不同的替代方案,而无需更改固定的,不变的组件。

  • 您可以使用不同的变体配置从相同的模型进行模拟或代码生成。

  • 您可以为给定的测试套件以组合方式模拟每一种设计可能性。

  • 如果您正在使用大规模设计,可以在多核计算机集群上分发测试这些设计的过程。或者,您可以将不同的测试套件映射到设计有效管理特定测试测试的替代方案。

  • 您可以从具有许多变体的主模型生成具有配置子集的简化模型。

何时使用变体

变体帮助您在一个单一的、统一的框图中指定模型的多个实现。以下是你可以使用变体的三种情况:

  • 表示多个模拟、代码生成或测试工作流的模型。

  • 在组件级包含多个设计选择的模型。

    子系统表示不同选择的块可以有不同数量的输入和输出端口,这些端口与父节点中的输入和输出端口不同变体子系统块。看映射变量选择的导入和输出

  • 模型非常相似,但有一些细微的变化,例如在您想要将测试模型与调试模型分离的情况下。

    左边的测试模型有一个固定的设计。在右边,相同的测试模型包含一个用于调试目的的变体。

金宝appSimulink在更新图时和代码编译时选择活动变体。

代表Variants的选项金宝app

您可以将一个或多个变量表示为这些块中的变量选择。

变体源变体汇

变体子系统变体模型

变体的选择表示

数量的端口

子系统模型堵塞

允许选择层次结构

没有

是的

变体选择中的输入和输出端口不匹配

金宝appSimulink禁用非活动端口

金宝appSimulink禁用非活动端口

选项指定默认变体

是的

是的

金宝app支持控制端口

没有

是的

可以保存为独立文件吗

没有

没有

金宝app支持物理建模连接端口

没有

部分

注释的选择(

没有

没有

此外,您可以使用变体源变体汇块。这些块能够在整个模型中传播变体条件,并且可以通过模型参考层次结构传播条件。

您可以在模型层次结构的多个层次上创建变体。

映射变量选择的导入和输出

一个变体子系统块是一个代表为的变体选择的容器子系统模型块。输入变体子系统块从上游型号组件映射到变体选择的输入和输出端口。

子系统模型表示不同选择的块可以有不同数量的输入和输出端口,这些端口与父节点中的输入和输出端口不同变体子系统块。但必须满足以下条件:

  • 变体选择的导入名称是父变体子系统使用的导入名称的子集。

  • 变体选择的输出端口的名称是父变量子系统使用的输出端口名称的子集。

  • 如果不同的选择有控制端口,数据输入端口的名称必须与控制端口名称匹配。

在模拟过程中,Simulink禁用金宝app变体子系统块。

变体徽章

每个变体块都有一个与之相关的徽章。变体徽章的颜色和图标表示变体块的状态。它还提供了快速访问很少的变体命令。您可以右键单击Variant Badge以访问这些命令。

变体徽章

变体源

变体汇

变体子系统

默认Variant Badge未选择选项时。

块与变体标签选择为变体控制模式一个主动变体的选择从标签模式有效选择选择。

块与变体允许零主动变体控制选项选中。

块与变体在更新图期间分析所有选项并生成预处理条件选项选中。

块与变体在变体子系统之外传播条件选项选中。

不适用

不适用

块与变体在更新图期间分析所有选项并生成预处理条件允许零主动变体控制选项选中。

块与变体在更新图期间分析所有选项并生成预处理条件在变体子系统之外传播条件选项选中。

不适用

不适用

块与变体允许零主动变体控制在变体子系统之外传播条件选项选中。

不适用

不适用

评论和评论

考虑什么时候希望通过在模拟中排除Simulink模型的某些块而不从模型中实金宝app际移除这些块来模拟Simulink模型。的注释出通过Simulink中的命令金宝app为您提供从模拟中排除块的选项。根据您的建模要求,您可以使用以下选项:

  • 注释出:从模拟中排除所选块。信号终止并接地。

  • 通过:从模拟中排除所选块。信号通过。要通过块进行评论,输入端口的数量和块的输出端口必须相同。

访问这一点注释出或者通过选项,右键单击块,并在上下文菜单中选择注释出通过根据您的建模要求。

或者,您也可以选择块并按Ctrl + Shift + X发表评论或按下Ctrl + Shift + Y评论。

您可以使用get_paramset_param.以编程方式查看或更改块的注释状态的命令。例如,

  • get_param(gcb,'评论');%要查看块的注释状态

  • set_param(gcb,'评论','开');%评论一个街区

  • set_param (gcb,“评论”,“通过”);%通过块进行注释

  • set_param (gcb,“评论”,“关闭”);取消注释块

当您注释出块时,块的输出端口处的信号名称被忽略。为了在仿真期间包括此类信号,必须在块的输入端口处添加信号名称。

注释出通过这些块不支持:金宝appinport.外港重复的港口,连接端口参数尺寸。参数出口数据存储内存信号发生器Goto标签可见性,而且块块。

相关的例子

更多关于