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

51 views (last 30 days)
Bob
Bob on 3 Feb 2016
Commented: Bob on 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'

Accepted Answer

Nobel Mondal
Nobel Mondal on 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

More Answers (1)

Suresh Garimella
Suresh Garimella on 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 Comments
Nobel Mondal
Nobel Mondal on 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!