Simulink: changing parameter mid-simulation

6 visualizaciones (últimos 30 días)
Nafalai
Nafalai el 3 de Nov. de 2021
Comentada: Jon el 4 de Nov. de 2021
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.'))
But how can I integrate my inital model to this model?
Would anyone know how to solve my issue?
Thanks in advance!

Respuesta aceptada

Jon
Jon el 3 de Nov. de 2021
Editada: Jon el 3 de Nov. de 2021
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 comentarios
Nafalai
Nafalai el 4 de Nov. de 2021
Thank you for all your help!
Jon
Jon el 4 de Nov. de 2021
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by