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