How can I set Values to Simulink Block from my Workspace?

21 ビュー (過去 30 日間)
Bob
Bob 2016 年 2 月 3 日
コメント済み: Bob 2016 年 2 月 8 日
I want to send PID Values to Simulink Model from my file.m
I have tried this way but I got an error which I dont understand what it means...
PID_Values = set_param('Simulink_Model/PID Controller','PID Controller','1','1','1');
ERROR: PID 1dof block (mask) does not have a parameter named 'PID Controller'
or
P_Value = set_param('Simulink_Model/PID Controller','PID Controller','1');
I_Value = set_param('Simulink_Model/PID Controller','PID Controller','1');
D_Value = set_param('Simulink_Model/PID Controller','PID Controller','1');
ERROR: PID 1dof block (mask) does not have a parameter named 'PID Controller'

採用された回答

Nobel Mondal
Nobel Mondal 2016 年 2 月 8 日
To get the list of parameters associated with 'PID Controller' block, I would use the below command :
allParams = get_param('Simulink_Model/PID Controller', 'DialogParameters');
If you are looking to find any particular parameter value, let's say the Proportional Gain :
P_Gain_Val = get_param('Simulink_Model/PID Controller', 'P');
For setting values , (P = 10, I = 2, D = 0.1)
set_param('Simulink_Model/PID Controller', 'P', '10', 'I', '2', 'D', '0.1'); % No output argument

その他の回答 (1 件)

Suresh Garimella
Suresh Garimella 2016 年 2 月 3 日
error is saying that the specific block you are using does not have parameter 'PID Controller'.
select the block, then type get_param in command window,
all parameters of that block (object) will be displayed, now use set_param to change any parameter value
  2 件のコメント
Bob
Bob 2016 年 2 月 4 日
P_Value_get = get_param('Simulink_Model/PID Controller','PID Controller','P');
I_Value_get = get_param('Simulink_Model/PID Controller','PID Controller','I');
D_Value_get = get_param('Simulink_Model/PID Controller','PID Controller','D');
P=10;
I=100;
D=1000;
P_Value_Set = set_param('Simulink_Model/PID Controller','PID Controller','P');
I_Value_Set = set_param('Simulink_Model/PID Controller','PID Controller','I');
D_Value_Set = set_param('Simulink_Model/PID Controller','PID Controller','D');
Again error
Nobel Mondal
Nobel Mondal 2016 年 2 月 8 日
You are not using get_param and set_param in a proper way. Please type
help get_param
help set_param
in matlab command prompt to see the intended usage.

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

カテゴリ

Help Center および File ExchangeMulticore Processor Targets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by