Error in using Adaptive MPC block

7 ビュー (過去 30 日間)
paolo dini
paolo dini 2021 年 3 月 2 日
コメント済み: zaidan zyadat 2021 年 10 月 3 日
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.
  5 件のコメント
Felix Schönig
Felix Schönig 2021 年 7 月 14 日
@dekun wang You are a hero! Thanks so much! It is very stupid that they have hardcoded this into their template/example with the CSTR model. No idea why ... anyways, you are right!
zaidan zyadat
zaidan zyadat 2021 年 10 月 3 日
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

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Plant Specification についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by