模型中的每个变体选择与称为变型控制的条件表达式相关联。您指定Variant控件的方式确定了主动变体选择。
此图像显示了a的块参数对话框变体子系统包含四种变体选择的块:
通过添加一个选择的首选%
符号在变体控制之前。
第二选择是(默认)
并且在没有变体控制时被激活真正的
。
第三个选择在表达式时被激活mode == 3 &&版本== 2
评估真正的
。
当表达式被激活时,第四个选择被激活mode == 2 &&版本== 1
评估真正的
。
您可以在大多数变体选择中指定为模型的默认选择。如上图所示,线性控制器
子系统被定义为默认变体选择。在模型编译期间,如果simulink万博1manbetx®发现没有变体控制评估真正的
,它使用默认选择。
在对话框中,选择变体选择并更改其版本控制财产(默认)
。
虽然每个变体选择都与一个变体控制相关联,但只有一个变体控制可以计算为真正的
一次。当变体控制评估到真正的
,S万博1manbetximulink激活与该变体控制相对应的变体选择。最多一个变体选择可以是活动的。一旦编译模型,就无法更改活动变量。
在此示例中,您可以激活模型
变体选择或非线性控制器
通过指定适当的值来选择变体选择模式
和版本
。
的价值模式 |
的价值版本 |
主动变体选择 |
---|---|---|
2 |
1 |
非线性控制器 |
3. |
2 |
模型 |
您可以指定值模式
和版本
在Matlab.®命令窗口。
您还可以用另一个变体选择覆盖活动变体选择。在Simulink Editor中右键单击活动变量块,并选择万博1manbetx变体>覆盖使用。然后选择您的变体选择。
当变型控制激活一个变体选择时,Simulink认为其他变体选择是非活动的。万博1manbetx万博1manbetxSimulink在模拟期间忽略非活动变体选择。但是,Simuli万博1manbetxnk继续在非活动变体选择内执行块回调。
当您是原型设计变体选择时,您可以创建空子系统没有输入或输出的块变体子系统堵塞。空子系统重新创建该子系统在不需要完全建模变体选择的情况下的情况。
对于空白的选择,您可以通过放置一个变体激活条件或通过放置来注释变量条件%
条件前的符号。
如果在仿真期间激活此变体选择,Simulink忽略了空的变体选择。万博1manbetx但是,Simuli万博1manbetxnk继续在空变量选择内执行块回调。
当您打开一个模型时,变量块将显示您上次保存模型时激活的变量的名称。使用变体菜单打开活动变量。右键单击块并选择变体>打开。然后选择活动变量。
使用此命令查找当前的活动选择:
get_param(GCB,'ActiveVariant')
使用此命令查找当前活动选择的路径:
get_param(gcb,'activevariantblock')
这ActiveVariantBlock.
仅适用于此参数万博1manbetx变体子系统堵塞。
编译模型后,无法更改活动变量。