how to change simulink block properties from matlab pogram?

7 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Harish Balaga
Harish Balaga el 15 de Mayo de 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.

Más respuestas (2)

Valmir Sadiku
Valmir Sadiku el 15 de Mayo de 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 comentarios
Valmir Sadiku
Valmir Sadiku el 15 de Mayo de 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 el 15 de Mayo de 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

Iniciar sesión para comentar.


Valmir Sadiku
Valmir Sadiku el 15 de Mayo de 2013

Categorías

Más información sobre Programmatic Model Editing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by