首页 文章

如何在运行期间在Simulink中改变增益块的增益值

提问于
浏览
2

Simulink中的增益块和连续块要求用户指定增益 . 这可以是工作空间变量 . 但是我想在运行时改变这个增益 . 我似乎无法为此获得解决方案 . 这个想法很简单,但我无法相信它的实施难度很大 .

我尝试使用另一个块写入工作空间,但发现“to workspace”块仅在模拟结束或暂停后写入工作空间 .

我可以将变量存储在数据存储块中,但在这种情况下我不知道如何指定增益/ PID块的增益值 .

3 回答

  • 1

    如果关闭了内联参数(它位于配置集的优化页面上),则只需打开增益块对话框并更改值即可 . 如果要使用工作空间变量,则可以在模拟运行时更改工作空间变量的值并执行更新图(^ D) .

    还有一个名为Slider Gain的块,它允许您使用滑块UI更改增益值 .

  • 1

    可能在某些方面有所帮助:尝试使用MATLAB功能块(可在Simulink中直接使用的Matlab用户定义函数) .

  • 0

    作为命令行替代,您可以使用SET_PARAM函数在模型模拟期间更改块的增益值 .

    例如,以下代码会将名为“My Gain”的块的Gain值更改为值为“my_model.mdl”的模型的顶级值:

    set_param('my_model / My Gain','Gain','20');

    但请注意,在运行时只能使用SET_PARAM更改Tunable Parameters .

相关问题