Running two control systems with different rates

Hello,
I have a relatively general question. I have two control systems that communicate with each other (one feedforward controller and one MPC) and I am trying to make one of these systems faster than the other one in terms of sampling rates. For example, I want the feedforward controller to be slower than the MPC.
Is there a Simulink block that can help me implement this?
Thank you

4 Comments

Setting the sampling time in MPC to be lower would do the work.
@Paresh
For the feedforward controller, I should use a high sampling rate in the settings of the Simulink Solver since it is working with Simulink settings, right?
In other words, if I had a PID controller based on the Simulink PID block, if I would want to make it slower I would have to change the simulink settings?
For the first question, Yes.
For the second question, you are correct if you have selected as -1 for sampletime option for the PID block. You can have a user-defined value for the PID block as well.
My issue is that when I am trying to change the MPC sampling rate to make it faster (ie smaller sampling rate) it doesn't allow me because it is not dependent (integer product) of the Simulink settings fixed solver sampling time.

Sign in to comment.

Answers (0)

Asked:

on 4 Jun 2020

Commented:

on 5 Jun 2020

Community Treasure Hunt

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

Start Hunting!