How to change the value of constant while simulation is running

Hi,
I would like to change the value of a constant on simulink but I get the following error:
"Cannot change parameter 'Value' of 'untitled/Constant' while simulation is running. The block was made virtual as it was optimized for simulation"
Somebody please help me in this regard

1 Comment

I don't use Simulink, but surely the whole purpose of a constant is that it is constant?!

Sign in to comment.

Answers (3)

Check out this link. It's not the best method but it worked for me. I would run my simullation and change the value of the constant in the command window.
I had the same issue. When you run simulation, and want to change the paramter in real-time, use set_param command line function. However, enable that signal for logging before running the simulation. I do not know why is this so, but I found it out by chance, and it works.
On the other hand, if you run real-time code on a target machine (speedgoat for example), use setparam and getparam. No logging necessary.

1 Comment

Hi! Your advice does not work for me. I can change parameters during the simulation only. When I run my model on hardware in real time, nothing works (neither slider, nor setparam). Logging the signal does not change anything.

Sign in to comment.

If you want to do it during the simulink simulation, then the block "IC" in simulink/sinks , which is a "initial condition" block, and can change in each simulink iteration, might be helpful.

Categories

Find more on Simulink in Help Center and File Exchange

Tags

Asked:

on 30 Jun 2017

Community Treasure Hunt

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

Start Hunting!