方法控制活跃变体选择的一个变体块工作区使用面具或模型
这个例子展示了不同的方法来控制内联变种和变型的主动选择工作区子系统块面具或模型。有关变量的更多信息块,明白了变异是什么以及何时使用它们。
模型
在这个例子中,四个模型®模型用绿色突出显示,金宝app和一个模型是用红色突出显示。绿色的模型代表推荐的方法控制变异块的主动选择。这些方法让你限制变量控制变量的范围,避免名称冲突,并建立一个明确的所有权块变量之间的变体。他们还允许您使用相同的名称的变量在不同的范围内。
限制在推荐的方法
只有在工作变量控制方式参数设置为
表达式
和变体激活时间参数设置为更新图
。所以当你模拟或与推荐的方法,生成的代码模型仿真软件也不分析信号属性的一致性和生成代码只有积极的选择。金宝app不支持使用金宝app
金宝appSimulink.Variant
对象或金宝appSimulink.Parameter
不同控制变量。不支持使用模型金宝app参数变量变异控制变量。
变量控制变量中的字符数不得超过40。
不同控制变量来自一个面具工作区不能开始
SLMASK
。
方法1:用面具参数作为控制变量的一个变体
本节解释如何控制变异的活跃的变体选择子系统阻塞和内联变体使用面具参数。
控制活动块使用掩码参数选择变体子系统
考虑模型块VSS1变体子系统。VSS1子系统指定两个潜在变量,x2和x3。x2是控制表达式B = = 1
x3和是B = = 2
。的变量B
是一个面具参数。视图的属性B
:
1。右键单击VSS1子系统。
2。选择面具>编辑蒙版。在参数和对话框窗格中,在参数,提示列指定的标签掩码的参数对话框,和的名字列指定面具的名称参数。在这个例子中,提示被指定为进入选择
,的名字被指定为B
。
3所示。打开面具对话框中,双击VSS1子系统。在仿真中,这里指定的索引值映射到底层的变量B
,然后用来评估相关的变异条件表达式。在这个例子中,默认值的进入选择是2
。这个模型模拟时,变异的条件B = = 2
计算结果为真正的
。x2子系统变得不活跃,x3子系统变得活跃。
4所示。修改积极的选择,指定值1
在“面具”对话框中,然后再次模拟模型。在仿真过程中,价值的B
被设置为1
进而评估变异条件下,B = = 1
来真正的
。x2子系统变得活跃,x3子系统变得不活跃。
控制活动内联变体块使用掩模参数的选择
考虑到与蒙面子系统模型块魔法石,第1章。魔法石,第1章子系统有一个面具参数风投
作为控制变量变体在底层块Vsrc变异来源。第一个输入端口与控制相关的表达式VC = = 1
和第二个输入端口与控制相关的表达式VC = = 2
。视图的属性风投
:
1。右键单击魔法石,第1章子系统。
2。选择编辑蒙版。在参数和对话框窗格中,在参数,提示列指定的标签掩码的参数对话框,和的名字列指定面具的名称参数。在这个例子中,提示被指定为选择信号
,的名字被指定为风投
。
3所示。打开面具对话框中,双击魔法石,第1章子系统。在仿真中,您所选择的索引值映射到底层的变量风投
,然后用来评估相关的变异条件表达式Vsrc块。在这个例子中,默认值的选择信号是正弦波
。这个模型模拟时,索引的正弦波
,2
是映射到风投
。不同条件下VC = = 2
计算结果为真正的
。因此,第一个输入端口Vsrc块相关联的VC = = 1
变得不活跃,第二个输入端口相关联VC = = 2
变得活跃。
4所示。修改积极的选择,选择价值常数
在“面具”对话框中,然后再次模拟模型。在仿真过程中,价值的风投
被设置为1
进而评估变异条件下,VC = = 1
来真正的
。的第一输入端Vsrc块变得活跃和第二个输入端口变得不活跃。
方法2:使用面具初始化变量作为控制变量的一个变体
本节解释如何控制变异的活跃的变体选择子系统模块使用口罩初始化变量。您可以按照这种方法来控制活跃变体选择的内联变体块。
考虑模型块VSS2变体子系统。1。VSS2子系统,为x2控制表达式= = 1
x3和是= = 2
。的变量一个
用于控制表达式是一个常规的MATLAB®中定义的变量初始化选项卡面具的工作区。视图的属性一个
:
右键单击VSS2子系统。
b。选择面具>编辑蒙版。在初始化选项卡,在初始化命令的价值,一个
被设置为1
。
在仿真中,这个值是用来评估相关的变异条件表达式。这个模型模拟时,变异的条件= = 1
计算结果为真正的
。x2子系统变得活跃,x3子系统变得不活跃。
3所示。修改积极的选择,指定的值一个
作为2
在初始化选项卡,然后再次模拟模型。在模拟中,= = 2
计算结果为真正的
。x2子系统变得活跃,x3子系统变得不活跃。
方法3:使用模型空间变量变异控制变量在不同子系统
本节解释如何控制变异的活跃的变体选择子系统模块使用一个模型工作空间变量。您可以按照这种方法来控制活跃变体选择的内联变体块。
考虑模型块VSS3变体子系统。1。VSS3子系统,为x2控制表达式C = = 1
和x3
是C = = 2
。的变量C
条件表达式中使用MATLAB®是一个正则变量在模型中定义的工作区。视图的属性C
:
一。建模选项卡上,单击模型浏览器。
b。模型层次结构窗格中,单击模型的工作空间。的价值C
被设置为1
。
在仿真中,这个值是用来评估相关的变异条件表达式。这个模型模拟时,变异的条件C = = 1
计算结果为真正的
。x2子系统变得活跃,x3子系统变得不活跃。修改积极的选择,指定的值C
作为2
,然后再次模拟模型。在仿真过程中,变异状况C = = 2
计算结果为真正的
。x2子系统变得活跃,x3子系统变得不活跃。
方法4:使用掩模的初始化脚本控制子系统块活跃变体选择的变体
不推荐这种方法控制子系统的活跃的变体选择变体。然而,如果变量控制方式子系统的设置标签
模式下,您可以按照这个方法。有关更多信息,请参见面具一个变种子系统。