LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MPC Time Varying Output Constraints

Does anyone have experience with implementing time-varying output constraints for an MPC controller (from the Control Design Module)?

So far, from playing around with the example VIs it seems that I'm stuck with fixed values.

 

Cheers.

0 Kudos
Message 1 of 3
(2,379 Views)

Hi Signorec, 

 

Can I ask what example VIs you've been looking at? The ones that come with the Control Design Module in LabVIEW example finder?

 

When you say time-varying output constraints do you mean be able to change the MPC configuration settings during run time? From the examples I can find it seems that you set it all up and leave it to run. Where as you would like to be able to tweak the settings at particular times? Is that correct? 

 

Assuming that it is the implmentation of the MPC controllor occurs within a Control & Simulation Loop. To change any constraints on the MPC you would need to stop that loop, change the settings and re-initalise the process before running that Control & Simulation Loop again. You can implement this with a state machine architecture or a while loop and some logic. I would recommend the state machine personally. 

 

Please let me know if I have misinterprted the question or if there's something unclear. If you want me to take a look at an example you're working from I can show you the basic architecture you would need if you like? 

 

Best wishes, 


Charlotte N.

0 Kudos
Message 2 of 3
(2,333 Views)

Hi Charlotte,

 

Yes, you've interpretted the question correctly.

I'm hoping to be able to change the MPC config settings at runtime while not resetting initial conditions.

The potential problem I have with starting / stopping the control & simulation loop is maintaining the state as the next initial conditions of the subsequent loop run.

Note that the discrete state space system used to simulate the process in the control and simulation loop doesn't seem to allow the initial conditions to be specified as a block input, only through the manual dialog box.

 

Note, I've been experimenting with the example: CDEx MPC with Dual Constraints.vi

 

Regards,

signorec

0 Kudos
Message 3 of 3
(2,285 Views)