Advice on adding a manipulatable variable target to MPC
显示 更早的评论
I've designed an MPC in MATLAB using the mpc function and successfully simulated it in Simulink using the MPC block in closed loop with a non-linear simulation model.
>> size(mpcobj)
MPC controller with 4 measured output(s), 0 unmeasured output(s),
3 manipulated input(s), 0 measured disturbance(s), 4 unmeasured disturbance(s)
I now want to add a target to one of the manipulatable variables as explained here, which I did as follows:
>> mpcobj.MV(1).Target = mpcobj.MV(1).Max;
Since I have 3 MVs and 2 CVs this should have an effect.
Note: I actually have 4 measured outputs but I have set the weights to zero on 2 of them:
>> mpcobj.Weights.OutputVariables
ans =
1 0 0 10
All my input and output scalings are set to one (I handle scaling manually outside the MPC block).
mpcobj.MV(1)
ans =
struct with fields:
Min: -61.3500
Max: 38.6500
MinECR: 0
MaxECR: 0
RateMin: -Inf
RateMax: Inf
RateMinECR: 0
RateMaxECR: 0
Target: 38.6500
Name: 'MV1'
Units: ''
ScaleFactor: 1
Type: 'continuous'
However, there is no difference in my simulation outputs with the MV target and without it.
- What else should I be checking?
- Is there a weight parameter for this MV target error that I should be increasing?
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Controller Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

