How to prevent stateflow from opening the system?
2 次查看(过去 30 天)
显示 更早的评论
When loading a model using 'load_system', simulink is opened in the background. When adding a subsystem (using the API) to the loaded model, the simulink remains in the background (so far so good). However if you add, for example, a state to a stateflow block (using the API again), simulink pops up to the foreground. To make things worse, the window is activated every time a new state is added.
How to prevent simulink to go to the foreground when sending these types of commands?
2 个评论
Fangjun Jiang
2020-2-12
Stateflow chart is sometimes treated differently than a subsystem. Can you contact the Mathworks tech support with a simplified script and see what they say?
回答(1 个)
Fangjun Jiang
2020-2-12
Maybe, it is dependent on how you program it? The following example doesn't show the model until the last line.
bdclose all;
ns = new_system('example');
add_block('sflib/Chart', 'example/sf');
rt = sfroot;
m = rt.find('-isa','Stateflow.Machine');
ch = m.find('-isa','Stateflow.Chart','-and','Name','sf');
sA = Stateflow.State(ch);
sA.Name = 'A';
sA.Position = [50 50 310 200];
sA1 = Stateflow.State(ch);
sA1.Name = 'A1';
sA1.Position = [80 120 90 60];
sA2 = Stateflow.State(ch);
sA2.Name = 'A2';
sA2.Position = [240 120 90 60];
%% use this to view
set(ns,'Open','On')
3 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!