模型中的每个变量选择都与一个称为变量控制的条件表达式相关联。指定变体控件的方式决定了活动变体选择。变量控制方式在“块参数”对话框中可以选择的参数表达式
或标签
用于建模Variant块的模式。
该图像显示的块参数对话框不同的子系统包含四个变体选择的块:
的注释掉了第一个选择%
变量控件前的符号。
第二种选择是(默认)
当没有变异体控制评估为真正的
.
第三个选择在表达式时被激活模式= = 3 = = & &版本2
计算结果为真正的
.
当表达式被激活时,第四个选择被激活模式2 = = = = 1 & &版本
计算结果为真正的
.
您最多可以指定一个变体选择作为模型的默认值。如上图所示线性控制器
子系统定义为默认的变体选择。在模型编译期间,如果Simulink金宝app®发现没有变型控制计算为真正的
,它使用默认选项。
在对话框中,选择变量选项并更改它版本控制财产(默认)
.
虽然每个变体选择都与一个变体控制相关联,但只有一个变体控制可以计算为真正的
在一个时间。当变量控制计算为真正的
, 金宝appSimulink激活对应于该变体控制的变体选择。最多可以激活一个变体选择。一旦模型被编译,活动变量就不能被更改。
在本例中,您可以激活模型
变体选择或非线性控制器
为指定适当的值来选择变量模式
和版本
.
的价值模式 |
的价值版本 |
活跃的变体的选择 |
---|---|---|
2 |
1 |
非线性控制器 |
3. |
2 |
模型 |
可以指定的值模式
和版本
在MATLAB®命令窗口。
当一个变量控制激活一个变量选择时,Simulink认为其他变量选择是无效的。金宝app金宝appSimulink在模拟过程中忽略非活动的变量选择。然而,Simuli金宝appnk继续在非活动变量选择中执行块回调。
默认情况下,非活动选项的颜色会褪色。您可以通过使用变体衰落选择。的变体衰落选项可在信息覆盖菜单上的调试选项卡中的。金宝app您可以使用get_param
和set_param
命令,以编程方式查看或更改不活动选择的淡入状态。例如,
get_param('bdroot,' variantfade ') %查看非活动选项的衰落状态
set_param('bdroot,' variantfade ','on') %打开非活动选项的褪色效果
当您创建变量选择的原型时,您可以创建空的子系统块中没有输入或输出不同的子系统块。空子系统将重新创建该子系统不活动的情况,而不需要对变体选择进行完全建模。
对于空的变体选择,您可以指定一个变体激活条件,或者通过放置%
条件前面的符号。
如果在模拟过程中这个变量选择是活跃的,那么Simulink就会忽略空变量选择。金宝app然而,Simuli金宝appnk继续在空变量选项中执行块回调。
您可以得到一个变量选择列表不同的子系统使用只读参数阻塞VariantChoices
.
varchoices = get_param(gcb, 'VariantChoices'); / /设置变量
在这个例子中VariantChoices
参数返回以下内容:
当您打开一个模型时,变量块将显示您上次保存模型时激活的变量的名称。使用变体菜单以打开激活的变种。右键单击该块并选择变体>开放.然后选择活动变量。
使用此命令查找当前的活动选择:
“CompiledActiveChoiceControl”get_param (gcb)
使用此命令查找当前活动选项的路径:
“CompiledActiveChoiceBlock”get_param (gcb)
请注意
的CompiledActiveChoiceBlock
参数仅支持金宝app不同的子系统块。
一旦模型被编译,活动变量就不能被更改。