MATLAB Answers

how to change simulink block properties from matlab pogram?

30 views (last 30 days)
I have created a simulink model in which there are two 3-phase fault blocks. i want to change the fault block properties (like faulty phase, fault resistance..etc) from matlab program (m file) and run the model.. How to do that?

  0 Comments

Sign in to comment.

Accepted Answer

Harish Balaga
Harish Balaga on 15 May 2013
I found the answer myself from matlab help. it can be set or reset using "set_param" command. an example is given below
open('MyModel.mdl');
set_param('MyModel/3-Phase Fault', 'FaultA', 'on');
here "3-Phase Fault" is the name i gave to the block in "MyModel.mdl". "FaultA" is the parameter name (Default). To check the type & name the of parameter (checkbox in my case, so on & off are the parameter values), one may use the following command to open the model in editable code form.
edit('MyModel.mdl');
and then search for the block name.

  0 Comments

Sign in to comment.

More Answers (2)

Valmir Sadiku
Valmir Sadiku on 15 May 2013
Hello,
One possible way are that you use parameter in your 3-phase fault block. Then write an M-File in which you can generate/change the values of this parameter (which are now stored in the Workspace) and open the Simulink model from matlab with the command:
results = sim('myFaultyModel');
regards V.Sadiku

  3 Comments

Harish Balaga
Harish Balaga on 15 May 2013
this command only runs the model...i want to know how to set those parameters from matlab program..
Valmir Sadiku
Valmir Sadiku on 15 May 2013
as i already wrote above you can modify your parameter on the M-File simply, e.g. :
parameter_1 = 12.1;
parameter_2 = 1.05;
......
parameter_x = 0.1;
..
now you can the call the model, which runs with changed parameter values
sim('myFaultyModel');
then maybe with another parameter again:
parameter_1 = 12.8;
parameter_2 = 1.0;
......
parameter_x = 0.18;
..
and call the model again and so on.
Harish Balaga
Harish Balaga on 15 May 2013
thank you for the answer but it seems you didn't get my question clearly. What is the name of the phase A, B, C values of the 3-phase fault block of the model? how to know that? How to set (tick mark) or reset the check box of each phase through program? is there any syntax like
faultmodel.faultblock1.phaseA=1; %to set
and after some time
faultmodel.faultblock1.phaseA=0; % to reset
??
i need to check or uncheck the check box in the properties window (window that appears when we double click on any block in Simulink) of the fault block

Sign in to comment.


Sign in to answer this question.