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

7 Ansichten (letzte 30 Tage)
Bob
Bob am 3 Feb. 2016
Kommentiert: Bob am 8 Feb. 2016
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'

Akzeptierte Antwort

Nobel Mondal
Nobel Mondal am 8 Feb. 2016
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

Weitere Antworten (1)

Suresh Garimella
Suresh Garimella am 3 Feb. 2016
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 Kommentare
Bob
Bob am 4 Feb. 2016
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 am 8 Feb. 2016
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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by