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