Updating Simulink Block Parameters using Matlab Scripts

7 views (last 30 days)
Hi,
I am working on an application which involves me to write a script to automatically launch a Simulink Code and Run it.
I am able to load the model and run it using the 'Sim' command. I am also able to initialize parameters of the blocks using the 'set_param' command.
What I am not able to do is to change the values of these parameters dynamically while the Simulink Model (with end time as inf) is running? Is there a way to implement this?
E.g.:
cd C:\Users\INSL-CustED01\Desktop;
Sine_Wave;
sim('Sine_Wave');
set_param('Sine_Wave/Offset','Value','10');
Starts running the Model which has a Sine Wave Block with a Scalar 'Offset' being added to it. The model starts with an offset of 10. Now, I want to write additional commands to dynamically change the Value of Offset while the Model is running.

Answers (1)

Fangjun Jiang
Fangjun Jiang on 8 Jan 2020
set_param(YourModel, 'SimulationCommand', 'pause');
set_param(YourBlock, parameter, value);
set_param(YourModel, 'SimulationCommand', 'continue');

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!