首页 文章

添加Simulink块以设置系统范围的参数

提问于
浏览
0

我有一个Simulink模型,其中包含许多影响许多不同块的系统范围参数 . 我现在处理这个问题的方法是将整个模型封装在顶层的掩码子系统中并管理那里的参数 . 这样做可以使所有块都可以看到参数 . 但是,我宁愿让我的模型驻留在顶层,并在那里包含一个参数块,我可以使用它来操作系统参数 .

我不知道图片在这里是否会有所帮助,但他们不会受到伤害:

Nested model

上图显示了我当前设置的示例 . 请注意,整个设计嵌套在一个名为“系统参数”的屏蔽子系统中

Parameters as top-level block

这张照片展示了我希望顶层出现的方式 . 这似乎是一个更直观的界面 . 它还允许在模型之间更容易地复制我的参数块,这是我对它的主要兴趣 . 我真的想把它转换成一个库块,我可以在一些基于相同硬件系统的模型中使用它 . 但是,问题是 System Parameters 块中的参数对于模型中的其余块是不可见的(至少不是直接的) .

有没有一种方法像第二张图像中的块一样可以使其参数容易地用于模型的其余部分?

1 回答

  • 2

    对于其他块可用的参数,它们需要位于模型工作区或基础工作区中 . 你可以在你的块中添加一个初始化回调,将掩码参数复制到任一工作区,但在我看来,更好的做法是使用MATLAB脚本定义在 InitFcn 模型期间调用的基础工作区中的所有参数打回来 . 然后,您只需要为最终用户分发该MATLAB脚本以及您的模型 .

相关问题