首页 > 解决方案 > 如何将结构用作 simulink 子系统的参数并将内部的字段用作模块参数?

问题描述

我在 Simulink 中创建了一个子系统。我希望这个子系统有一个参数,它应该是一个 Matlab 结构。在子系统内部,我希望某些块的参数成为该结构的字段。

例如,假设子系统有一个参数sys_inputs,那么在子系统内部我有两个 Constant 块,第一个 Constant 块的值应该是sys_inputs.Constant1,另一个应该是sys_inputs.Constant2

这有可能吗?如果可以,具体怎么做?

我发现关于将掩码参数传递给子系统内部块的 Matlab 文档有点迟钝。

目的是使用户只需向子系统提供单个参数,而不是更改许多参数,而此输入​​通常是预先打包为结构的。

标签: simulink

解决方案


我自己发现了答案。

  1. 首先创建子系统

  2. 右键单击并“创建蒙版”

  3. 编辑遮罩参数

掩码参数选项卡

  1. 添加一个“编辑”参数。此参数的“名称”将是您可以在子系统中使用的变量名称,例如sys_inputs

  2. 在子系统内部,您可以sys_inputs像使用工作区变量一样使用参数,因此您可以sys_inputs.Constant1在子系统组件参数中输入类似的内容


推荐阅读