kan*_*ndo 3 matlab simulink masking
我想找到一个简单的过程,使用掩码参数在掩码下切换模型内部.
这个问题已经扩展到足以让它在这里得到重新实现.
变体子系统是一种很好的方法,可以通过工作空间参数进行控制;
但是,我发现掩码参数不与变量子系统选择接口.
此链接是关于如何使用掩码参数更改系统内部块的一系列帖子中的第一个; 但是,该方法不像使用变体子系统和开关那样直观.
这个链接也是从2008年开始的,我相信它可能在某个时候被取代了.
我制作了一个包含标记系统的模型Source
.
它连接到Display
显示其输出的块.
Source
是一个变体子系统.
它包含3个变种:
Source\One
Source\Two
Source\Three
.每个变体包含一个Constant
块.块
的值Constant
与块标签是同名的.
例如, Source\Two
包含具有值的常量块2
.
Source
也是一个蒙面子系统.
它的掩码包含一个Radio Button
带有标记值的参数variantValue
.参数
的Radio Button
选项variantValue
是:
掩码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
Run Code Online (Sandbox Code Playgroud)
我已将变体设置为Override.我无法设置掩码以允许库块修改内容,因为它是灰色的.
当作为变体子系统的屏蔽子系统工作时,我会将变体子系统从掩蔽的子系统中更深入地放入层次结构中.
要执行不通过基本工作空间执行的任何操作,首先需要设置"覆盖变量条件...",现在您可以使用代码选择活动变体:
set_param('untitled/Variant Subsystem','OverrideUsingVariant','Variant1')
Run Code Online (Sandbox Code Playgroud)
剩下的就是创建一个掩码,无论何时在掩码中更改参数,都会运行上面的行.这可以通过初始化命令完成.
归档时间: |
|
查看次数: |
1199 次 |
最近记录: |