How can I modify the manipulated variable properties in a MPC block in Simulink?

2 views (last 30 days)
I'm developing the MPC controller for ventilator.
Plant model consist of 3 inputs and 1 output.
Three inputs are ventilator on/off(manipulated variable), occupancy sch. (measured disturbance 1) and outdoor co2 (measured disturbance 2).
One output is indoor co2 (measured output).
I want to control the ventiltor to only the on/off (0, 1).
I set the minimum and maximum constraints of manipulated variable(vantiltor on/off), It is 0 and 1 respectively.
And I set the max down rate and max up rate. it is -1 and 1 respectively.
However, the calculated result of manipulated variable include values between 0 and 1.
How could I fix this problem?
Thanks.
  1 Comment
Imaneky
Imaneky on 16 Oct 2018
Hi,
Have you find a solution to your problem?
I am trying to implement an MPC for a bang-bang control output.
Thank you!

Sign in to comment.

Answers (2)

Ryan G
Ryan G on 16 Oct 2012
I don't know if I would normally use a MPC control for a bang-bang (on/off) control scheme, but then again I'm not really that familiar with MPC.
Try using a quantizer on the output and set the interval to 1.

Azzi Abdelmalek
Azzi Abdelmalek on 16 Oct 2012
Edited: Azzi Abdelmalek on 16 Oct 2012
pass your input signal through a zoh (zero order hold) block from simulink/discret. or set your signal source datype to logical

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!