Advice on adding a manipulatable variable target to MPC
Mostra commenti meno recenti
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?
1 Commento
Bill Tubbs
il 2 Ott 2022
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Controller Creation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

