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

时间:2012-11-19 18:59:56

标签: variable-assignment simulink

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

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

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