我目前正在使用 MPC 让 TCLab 加热器达到某个设定点温度。我试图让 MHE 每 50 秒更新一次某些参数值。我有一个以前的 MPC 模型,效果非常好,我尝试在我的主循环中添加一个部分,让它切换以提高某些值,然后切换回 MPC 模式。我已经看到其他做同样问题的人已经为 MPC 和 MHE 制作了一个 gekko 类,然后让它们一起工作,但是有没有一种方法可以在我当前的 MPC 循环中添加一个允许MHE 更新某些值然后切换回 MPC?
这是我添加到循环中以更新变量但没有更新我的值的代码
if i%50 == 0 or i == 0:
m.options.IMODE = 5
Q1.STATUS = 0
Q1.FSTATUS = 1
Q2.STATUS = 0
Q2.FSTATUS = 1
U.FSTATUS = 1
α1.FSTATUS = 1
α2.FSTATUS = 1
τ.FSTATUS = 1
m.solve(disp = False)
Q1.STATUS = 1
Q1.FSTATUS = 1
Q2.STATUS = 1
Q2.FSTATUS = 1
m.options.IMODE = 6
U.FSTATUS = 0
α1.FSTATUS = 0
α2.FSTATUS = 0
τ.FSTATUS = 0