主要内容

使用不同的选择

模型中的每个变量选择都与一个称为变量控制的条件表达式相关联。指定变体控件的方式决定了活动变体的选择。变型控制方式在块参数对话框中可选择的参数表达式标签模型,用于建模变体块。

的块参数对话框不同的子系统块,包含四个变体选项:

  • 第一个选择通过添加变体控件前的符号。

  • 第二个选择是(默认)并且在没有变量控件的计算结果为时激活真正的

  • 第三种选择是激活表达的时候Mode ==3 && version==2计算结果为真正的

  • 第四个选择是激活时的表达式Mode ==2 && version==1计算结果为真正的

默认变体选择

您最多可以指定一个变量选择作为模型的默认值。如上图所示,线性控制器子系统被定义为默认的变量选择。在模型编译过程中,如果使用Simulink金宝app®发现没有变量控件求值为真正的,它使用默认选项。

在对话框中,选择变体选项并更改其版本控制财产(默认)

主动变体选择

虽然每个变体选择都与一个变体控件相关联,但只有一个变体控件可以求值为真正的一次。当变量控件的计算结果为真正的, 金宝appSimulink激活对应于该变体控制的变体选择。最多只能激活一个变体选择。一旦编译了模型,就不能更改活动变量。

在本例中,您可以激活模型变体选择非线性控制器通过指定适当的值来选择变量模式版本

的价值模式 的价值版本 主动变体选择
2 1 非线性控制器
3. 2 模型

的值模式版本在MATLAB中®命令窗口。

非活动变体选择

当一个变体控件激活一个变体选择时,Simulink认为其他变体选择是不活动的。金宝app金宝appSimulink在模拟过程中忽略非活动变量选择。然而,Simuli金宝appnk继续在非活动变量选项中执行块回调。

默认情况下,非活动选项的颜色会逐渐淡出。可以选择禁用褪色效果变体衰落选择。的变体衰落选项中可用信息覆盖菜单调试选项卡。金宝app你可以用get_paramset_param命令以编程方式查看或更改非活动选项的衰落状态。例如,

  • get_param(' broot,'VariantFading') %查看非活动选项的淡出状态

  • set_param(' broot,'VariantFading','on') %打开非活动选项的淡出效果

空变体选择

当您创建变体选择的原型时,您可以创建空的子系统中没有输入或输出的块不同的子系统块。空子系统重新创建了该子系统处于非活动状态的情况,而不需要对变体选择进行完全建模。

对于空的变量选择,您可以指定一个变量激活条件,也可以通过放置条件前的符号。

如果这个变量选择在模拟期间是活动的,那么Simulink将忽略空的变量选择。金宝app然而,Simuli金宝appnk继续在空变量选项中执行块回调。

变体选择列表

您可以在a中获得一个变体选择列表不同的子系统使用read-only参数进行阻塞VariantChoices

varchoices = get_param(gcb, 'VariantChoices');

在本例中,VariantChoices参数返回以下内容:

变体子系统中的变体选择列表

开放活动变体

当您打开一个模型时,变体块将显示上次您保存模型时活动的变体的名称。使用变体菜单打开活动变体。右键单击该块并选择变体>开放.然后选择活动的变体。

使用这个命令来查找当前的活动选项:

“CompiledActiveChoiceControl”get_param (gcb)

使用此命令查找当前活动选项的路径:

“CompiledActiveChoiceBlock”get_param (gcb)

请注意

  • CompiledActiveChoiceBlock参数只支持金宝app不同的子系统块。

  • 一旦编译了模型,就不能更改活动变量。

相关的例子

更多关于