模型中的每个变体选择与称为变型控制的条件表达式相关联。您指定变体控制的方式确定了主动变体选择。变体控制模式块参数对话框中可用的参数允许您选择表达
或者标签
建模变体块的模式。
此图像显示了a的块参数对话框变体子系统包含四种变体选择的块:
通过添加第一个选择%
符号在变体控制之前。
第二选择是(默认)
并且在没有变体控制时激活真的
。
当表达时,第三种选择是激活的mode == 3 &&版本== 2
评估真的
。
当表达时,第四选择被激活mode == 2 &&版本== 1
评估真的
。
您可以在大多数一个变体选择中指定为模型的默认选择。如上图所示,线性控制器
子系统被定义为默认变体选择。在模型编译期间,如果simulink万博1manbetx®发现没有变体控制评估真的
,它使用默认选择。
在对话框中,选择变体选择并更改其变体控制财产(默认)
。
虽然每个变体选择与变型控制相关联,但只有一个变体控制可以评估为真的
一次。当一个变体控制评估到真的
,S万博1manbetximulink激活对应于该变体控制的变体选择。在大多数变体选择上都可以是活动的。编译模型后,无法更改活动变量。
在此示例中,您可以激活模型
变体选择或非线性控制器
通过指定适当的值来选择变体选择模式
和版本
。
的价值模式 |
的价值版本 |
主动变体选择 |
---|---|---|
2 |
1 |
非线性控制器 |
3. |
2 |
模型 |
您可以指定值的值模式
和版本
在Matlab.®命令窗口。
当变型控制激活一个变体选择时,Simulink认为其他变体选项是非活动的。万博1manbetx万博1manbetxSimulink在模拟期间忽略非活动变量选择。但是,Simuli万博1manbetxnk继续在非活动变量选择内执行块回调。
默认情况下,非活动选项的颜色逐渐消失。您可以选择通过使用禁用衰落效果变体衰落选项。这变体衰落选项可用信息覆盖菜单上调试Simulink编辑器万博1manbetx的选项卡。您可以使用get_param.
和set_param.
命令以编程方式查看或更改非活动选择的衰落状态。例如,
get_param('bdroot,'Variantfading')%,以查看非活动选择的衰落状态
set_param('bdroot,'Variantfading','开),打开非活动选择的衰落效果
当您是原型设计变体选择时,您可以创建空子系统没有输入或输出的块变体子系统堵塞。空子系统重新创建该子系统在不需要完全建模变体选择的情况下的情况。
对于空变量选择,您可以通过放置一个变体激活条件或通过放置来注释变量条件%
条件前的符号。
如果在模拟期间此变体选择是活动的,则Simulink忽略了空的变体选择。万博1manbetx但是,Simuli万博1manbetxnk继续在空变量选择内执行块回调。
您可以获得一个变体选择列表变体子系统块使用只读参数Variantchoices
。
varchoices = get_param(GCB,'VariantChoices');
在这个例子中,Variantchoices
参数返回以下内容:
打开模型时,Variant Blocks将显示最终保存模型的变量的名称。使用变体菜单打开活动变量。右键单击块并选择变体>打开。然后选择活动变量。
使用此命令查找当前的活动选项:
get_param(gcb,'compiledActiveChiceControl')
使用此命令查找当前活动选项的路径:
get_param(gcb,'compiledactivechoiceblock')
笔记
这CompiledActiveChoiceBlock.
仅适用于参数万博1manbetx变体子系统堵塞。
编译模型后,无法更改活动变量。