Guy on Simulink

Simulink & Model-Based Design

获取掩码参数的值

今天,我想分享一个我最近发现的技巧。

The Problem: Getting the Value of Nested Mask Parameters

我想编写一个脚本,该脚本将在模型中查看特定类型的块,我制作的子系统的块,并将传递给它的值分析为对话框参数。我不希望这个脚本成为initialization callback,我只希望用户能够随时随地运行它模型顾问检查

当我的块位于型号的顶部时,这很容易。假设我在基本工作区中定义了变量“ A”和“ B”,相应的值为2和3。如果用户在我的块中指定“ A+B”为参数“ C”的值,我可以获得最终使用以下代码的“ C”值:

示例蒙版子系统

获取蒙版参数的值

But what if the user puts my block inside another subsystem:

示例蒙版子系统

在这种情况下,“ A”和“ B”不再在基本工作区中,它们位于子系统SS_LEVEL1的掩模工作区中。

解决方案

如果您仔细看掩码参数的参考页面,您会发现一个名字maskwsvariables

maskwsvariables

此参数将返回带有字段的结构数组姓名andValue对于您的面具的每个参数。一旦我拥有它,我喜欢使用containser.map对象可以轻松访问参数值。例如:

获取蒙版参数

Now it's your turn

Let us know what you think of this technique, or if you have preferred tricks to access values and properties in a model by leaving a在这里评论

|

Comments

要发表评论,请单击here登录您的数学帐户或创建一个新帐户。