Simulink: changing parameter mid-simulation
3 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I am trying to run a Simulink model with 12 "In" blocks and 4 "out" blocks" using a Matlab script.
One of those 12 inputs is a variable called "input_boucle" which is initially set at value 0.
I would like the simulation to last 5 seconds and at time = 3 seconds, I want the "input_boucle" variable to switch from 0 to 1 for the remaining of the simulation.
My initial script was quite simple:
t_stop = 5;
T_s = t_stop/1000;
options = simset('SrcWorkspace','current', 'fixedstep', T_s) ;
sim('test_all_InOut_Blocks.slx',t_stop, options);
I would like to have something like this:
save_mat_file_InOut_blocks; % That's where I create my workspace with all the variables
t_stop_ouverte = 5;
T_s = t_stop_ouverte/1000;
options_boucle_ouverte = simset('SrcWorkspace','current', 'fixedstep', T_s) ;
sim('test_all_InOut_Blocks.slx',t_stop_ouverte, options_boucle_ouverte)
set_param('test_all_InOut_Blocks','SimulationCommand','pause') % But how do I specify to stop at 3 seconds?
input_Boucle.signals.values = double(0); % 1: boucle ouverte, 0: boucle fermée
set_param('test_all_InOut_Blocks','SimulationCommand','continue')
I understand that this is the way:
With the assertion having for command:
set_param(bdroot,'SimulationCommand','pause'),
disp(sprintf('\nSimulation paused.'))
As advised here: https://fr.mathworks.com/help/simulink/ug/controlling-execution-of-a-simulation.html
But how can I integrate my inital model to this model?
Would anyone know how to solve my issue?
Thanks in advance!
0 件のコメント
採用された回答
Jon
2021 年 11 月 3 日
編集済み: Jon
2021 年 11 月 3 日
I would just run one simulation for 5 seconds and put in a switch as shown in the first example below. Note you could probably make it even a little simpler using the second example below, but this only works because the two values you switch between happen to be 0 and 1 which correspond to logical false, true. The first approach would allow switching between any two values
5 件のコメント
Jon
2021 年 11 月 4 日
Hope you are able to move ahiead with that. If that answered your question please accept the answer. That way other people with a similar problem will know there may be a solution for them too.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Programmatic Model Editing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!