Error in using Adaptive MPC block

6 views (last 30 days)
paolo dini
paolo dini on 2 Mar 2021
Edited: Walter Roberson on 23 Dec 2024
Hi everyone,
i am using the adaptive MPC block to control a Park Model of Brushless motor.
With classic MPC block i have no problem but when i use adaptive one there is some problem from size signals matching oint of view that i am not able to solve, which generates this error in Simulink:
Error in port widths or dimensions. The signal connected to the "Model.DX" port of the "Park_Model_FOC_Adaptive_MPC/Adaptive MPC Controller" block must be a matrix signal of 4 rows and 1 columns.
Error in port widths or dimensions. Output port 1 of 'Park_Model_FOC_Adaptive_MPC/Adaptive MPC Controller/MPC/MPC Matrix Signal Check DX/Input' is a one dimensional vector with 4 elements.
I share the files i have used to simulate the control loop.
Basically i exploits the mpc object from classic mpc and use it in adaptive one after convert its internal plant in dicrete time one.
To reproduce the mpc variable launch the "Park_Model_FOC_Linear_MPC" and in the command writes the follows line:
ct_plant = mpc1.Model.Plant;
dt_plant = c2d(ct_plant,0.001);
mpc1.Model.Plant = dt_plant;
then launch the "Park_Model_FOC_Adaptive_MPC" and so you can analyse my simulink model and see the errors.
I do not understand why the sizes does not match...
Thanks to who can respond.
Pierpaolo.
  6 Comments
zaidan zyadat
zaidan zyadat on 3 Oct 2021
Dear Pierpaolo ,
To solve the problem of widths based on my practical experience , you should go to matlab function and under edit data you will find A,B,....,DX so to speak , you can select the proper size for the matrix ,A(3,3) ,...., DX(3,1) and then you have go to mpc controller and open it from the arrow at the left-lower corner ,you will find blocks of ther you can add signal specifucation block and select the proper size compatible with the sizes you already selected in the matlab function .
hope this helps
Note : if you are phD student or working in industries I can help more if you need .
have a good luck
Dafom
Dafom on 23 Dec 2024
Hello Zaidan Zyadat,
I need help with this?
Error:Simulink cannot propagate the variable-size mode from the 'Output Port 1' of 'AMPC_New/Adaptive MPC Controller /MPC/MPC Matrix Signal Check Y/Input' to the 'Input Port 1' of 'AMPC_New/Adaptive MPC Controller /MPC/MPC Matrix Signal Check Y/Matrix Dimension Check'. This input port expects a fixed-size mode. The variable-size mode originates from 'AMPC_New/Update Plant Model'. Examine the configurations of 'AMPC_New/Adaptive MPC Controller /MPC/MPC Matrix Signal Check Y/Matrix Dimension Check' for one of the following scenarios: 1) the block does not support variable-size signals; 2) the block supports variable-size signals but needs to be configured for them.
I am working on load frequency control using AMPC.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!