How to set Stateflow properties in Stateflow Model Explorer using matlab script?

5 次查看(过去 30 天)
Hi all, I know that in Simulink Block Properties / Handles can be called and set using the set_param and get_param commands, respectively. How to do so for Stateflow Model Explorer Properties using matlab script?
>> Example: I have a model called “TestModel.mdl” which contains a Stateflow Chart “MyChart” at a deeper level: ‘TestModel/SubSystem_A/MyChart’. I would like to Add Data in the Model Explorer by means of a command in a m-file, with example properties;
Name: "PresParam_A"
Scope: Parameter
Size: <empty>
Complexity: Off
Type: Double

采纳的回答

Fangjun Jiang
Fangjun Jiang 2018-6-22
编辑:Fangjun Jiang 2018-6-25
clear;close all;
sfnew;
rt=sfroot;
ch=rt.find('-isa','Stateflow.Chart');
d1=Stateflow.Data(ch)
then specify the properties of the data
  3 个评论
Shady Nada
Shady Nada 2018-6-26
编辑:Shady Nada 2018-6-26
Thanks Fangjun!
It still took a while to figure out how to specify the properties, yet your answer helped me in searching.
For all others who might benefit from this, below the exact solution:
% obtain a handle to the Root object
rt = sfroot;
% Use the handle to the Root object, rt, to find the Model object and assign it a handle as follows
m = rt.find('-isa', 'Simulink.BlockDiagram')
% Access the new Chart object and assign it to the workspace variable as follows
ch = m.find('-isa','Stateflow.Chart');
% Specify Properties
d1 = Stateflow.Data(ch); %add Data
d1.name = 'chm_e_actu_test_state'; %set Name
d1.scope = 'Parameter'; %set Scope
d1.datatype = 'Inherit: Same as Simulink'; %set DataType
% I was not able to speciy 'Complexity' or 'Size'. Be default this is 'Off' and '-1', respectivly.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by