什么是变量?什么时候使用
什么是变异?
在仿真金宝app软件®,您可以使用变量块来创建一个满足多个变量需求的单一模型。这种模型具有固定的公共结构和有限的可变组件集。变量组件的激活取决于您所选择的变量。因此,形成的主动模型是固定结构和基于变量选择的可变组件的组合。
在模型中使用变量块有助于模型对称为变量选择的不同条件表达式的重用性。这种方法帮助您根据应用程序、成本或操作方面的考虑,满足不同的客户需求。
你可以根据模型设计使用这些变量块:
请注意
单输入采样时间变异来源/变体水槽多个输入的块可能不同变异来源/变体水槽块。有关采样时间的更多信息,请参见什么是采样时间?
的使用不同的子系统Block提供了以下优点:
允许你混合模型而且子系统块作为可变系统
金宝app支持灵活的I/O,使所有变体不需要有相同数量的输入和输出端口
转换为模型块,该块包含a的变量模型不同的子系统包含模型引用变量模型的块,右键单击模型阻止并选择子系统与模型参考>转换为>不同的子系统.或者,您也可以使用金宝appSimulink.VariantManager.convertToVariant
函数。指定模型块名称或块句柄。转换后的模型产生与原始模型相同的结果。
如果您想要模拟一个表示具有几种配置的汽车的模型。这些配置虽然在某些方面相似,但在油耗、发动机尺寸或排放标准等属性上可能有所不同。您可以使用变量来只对变化的配置建模,而不是设计一起表示所有可能配置的多个模型。这种方法使公共组件保持固定。
该模型在单个模型中包含两个变量选择不同的子系统块。变量选择是模型中一个组件的两个或多个配置。
使用变体的好处
在基于模型的设计中使用变量有以下几个优点:
变量为您提供了一种为多个系统设计一个模型的方法。
您可以快速地将设计可能性原型化为变量,而不必注释掉模型的部分。
变量帮助您开发模块化设计平台,以促进重用和定制。这种方法通过降低复杂性来提高工作流速度。
如果一个模型组件有几个可选配置,您可以有效地探索这些变化的可选选项,而不需要更改固定的、不变的组件。
您可以使用不同的配置来从相同的模型进行模拟或生成代码。
您可以对给定的测试套件以组合的方式模拟每种设计可能性。
如果您正在处理大规模的设计,您可以将测试这些设计的过程分布在多核计算机集群上。或者,您可以映射不同的测试套件,以设计有效管理特定于设计的测试的备选方案。
您可以从具有许多变体的主模型中生成一个配置子集的简化模型。
何时使用变量
变量帮助您在一个单一的、统一的框图中指定模型的多个实现。以下是可以使用变量的三种场景:
表示多个模拟、代码生成或测试工作流的模型。
在组件级别包含多个设计选择的模型。
子系统表示不同选择的块的输入和输出端口的数量可能与父块的输入和输出端口的数量不同不同的子系统块。看到映射变量选择的导入和输出端口.
模型大部分是相似的,但是有轻微的变化,例如在您想要从调试模型中分离测试模型的情况下。
左边的测试模型具有固定的设计。在右边,相同的测试模型包含了为调试目的而引入的一个变体。
金宝appSimulink在更新图表时和代码编译时选择活动变量。
中表示变量的选项金宝app
您可以将一个或多个变量表示为这些块中的变量选择。
变异来源而且变体水槽块 |
不同的子系统而且变体模型块 |
|
---|---|---|
变量选择表示 |
端口数量 |
子系统或模型块 |
允许选择层次 |
没有 |
是的 |
在不同的选择中,输入和输出端口数量不匹配 |
金宝appSimulink禁用非活动端口 |
金宝appSimulink禁用非活动端口 |
选项指定默认变量 |
是的 |
是的 |
金宝app支持控制端口 |
没有 |
是的 |
能否保存为独立文件 |
没有 |
没有 |
金宝app支持物理建模连接端口 |
没有 |
部分 |
评论选择( |
没有 |
没有 |
此外,您可以使用变异来源而且变体水槽块。这些块支持在整个模型中传播变量条件,并可以通过模型引用层次结构传播条件。
您可以在模型层次结构中的多个级别上创建变量。
映射变量选择的导入和输出端口
一个不同的子系统块是表示为的变量选择的容器子系统或模型块。输入不同的子系统块从上游模型接收组件映射到变量选择的输入和输出端口。
子系统而且模型表示不同选择的块的输入和输出端口的数量可能与父块的输入和输出端口的数量不同不同的子系统块。但是,必须满足以下条件:
变量选择的导入名称是父变量子系统使用的导入名称的子集。
变量选择的输出端口的名称是父变量子系统使用的输出端口名称的子集。
如果不同的选项有控制端口,则数据输入端口的名称必须与控制端口名称匹配。
在模拟过程中,Simulink将禁用a金宝app中的非活动端口不同的子系统块。
变体徽章
每个变体块都有一个与之关联的徽章。变体徽章的颜色和图标表示变体块的状态。它还提供了对少数Variant命令的快速访问。您可以右键单击Variant徽章来访问这些命令。
变体徽章 |
变异来源 |
变体水槽 |
不同的子系统 |
---|---|---|---|
当没有选择选项时,默认的变体徽章。 |
|
||
带有 |
|
|
|
带有允许零活动变量控件选项选中。 |
|
|
|
带有 |
|
|
|
带有 |
|
|
|
带有 |
|
|
|
带有 |
|
|
|
带有 |
|
|
|
带有在变量子系统外部传播条件选项选中。 |
不适用 |
不适用 |
|
带有更新图 选为变异激活时间而且允许零活动变量控件选项选中。 |
|
|
|
带有更新图表并分析所有选择 选为变异激活时间而且允许零活动变量控件选项选中。 |
|
|
|
带有代码编译 选为变异激活时间而且允许零活动变量控件选项选中。 |
|
|
|
带有更新图 选为变异激活时间而且在变量子系统外部传播条件选项选中。 |
不适用 |
不适用 |
|
带有更新图表并分析所有选择 选为变异激活时间而且在变量子系统外部传播条件选项选中。 |
不适用 |
不适用 |
|
带有代码编译 选为变异激活时间而且在变量子系统外部传播条件选项选中。 |
不适用 |
不适用 |
|
带有允许零活动变量控件而且在变量子系统外部传播条件选项选中。 |
不适用 |
不适用 |
|
带有 |
不适用 |
不适用 |
|
注释退出和注释通过
当您想要模拟一个Simulink模型时,请考虑从模拟中排除它的一些块,而不金宝app从模型中物理删除这些块。的注释掉而且通过评论在Simulink中的命金宝app令为您提供了一个从模拟中排除块的选项。根据您的建模需求,您可以使用以下选项:
注释掉:从模拟中排除所选块。信号被终止并接地。
通过评论:从模拟中排除所选块。信号传递过去了。要通过块注释,块的输入端口和输出端口的数量必须相同。
访问注释掉或者是通过评论选项,右键单击块,并在上下文菜单中选择注释掉或通过评论基于您的建模需求。
或者,您也可以选择块和按Ctrl + Shift + X注释掉或按下Ctrl + Shift + Y评论通过。
你可以用get_param
而且set_param
命令以编程方式查看或更改块的注释状态。例如,
get_param (gcb,“评论”);查看块的注释状态
set_param (gcb,“评论”,“上”);注释掉一个块
set_param (gcb,“评论”,“通过”);通过块注释
set_param (gcb,“评论”,“关闭”);取消注释一个块
当注释掉一个块时,块输出端口上的信号名称将被忽略。为了在模拟过程中包含这样的信号,必须在块的输入端口添加信号名称。
注释掉而且通过评论这些块不支持:金宝app轮廓尺寸,外港,重复端口,连接端口,参数尺寸。,参数输出港,数据存储内存,信号发生器,Goto标签可见性、For和While块。
相关的例子
- 定义、配置和激活变量
- 创建和验证变量配置
- 以编程方式创建变量控件
- 处理不同的选择
- 模型到变系统的转换(金宝app仿真软件检查)
- 创建自定义检查以评估来自模型的活动和非活动变量路径(金宝app仿真软件检查)
更多关于
- 变量控制介绍
- 创建一个简单的变量模型
- 变型系统设计
- 在图表中注释状态流对象(Stateflow)