我想找到一个使用掩码参数在掩码下切换模型内部的简单过程。
这个问题已经扩展到可以在这里重新实现了
可变子系统是一种很好的方法,可以通过工作空间参数进行控制
然而,我发现掩码参数不与变体子系统选择接口。
这个链接是关于如何使用掩码参数对系统内部的块进行更改的一系列帖子中的第一个;然而,该方法不如使用变体子系统和开关那么直观
这个链接也是2008年的,我相信它可能在某个时候被取代了。
MWE
我制作了一个模型,其中包含一个名为Source
的系统
它连接到显示其输出的Display
块。
Source
是一个变体子系统
它包含3种变体:
SourceOne
SourceTwo
SourceThree
每个变体包含一个Constant
块Constant
块的值与块标签同名
例如,SourceTwo
包含一个值为2
的常量块。
CCD_ 11也是一个屏蔽子系统
其掩码包含一个值为variantValue
的Radio Button
参数variantValue
参数的Radio Button
选项为:
- 选项1
- 选项2
- 选项3
掩码Initialization
代码如下:
switch variantValue
case 'Choice 1'
set_param('Source','OverrideUsingVariant','One')
disp('One')
case 'Choice 2'
set_param('Source','OverrideUsingVariant','Two')
case 'Choice 3'
set_param('Source','OverrideUsingVariant','Three')
end
我已将变体设置为"覆盖"。我无法将掩码设置为允许库块修改内容,因为这是灰色的。
当作为变体子系统的屏蔽子系统工作时,我将把变体子系统从屏蔽子系统更深地放到层次结构中。
要做任何不通过基本工作区的事情,您首先需要设置"覆盖变体条件…",现在您可以选择代码为的活动变体
set_param('untitled/Variant Subsystem','OverrideUsingVariant','Variant1')
剩下的就是创建一个遮罩,只要遮罩中的参数发生变化,该遮罩就会运行上面的行。这可以通过初始化命令来完成。