How to change the value of constant while simulation is running

126 views (last 30 days)
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
Adam
Adam on 30 Jun 2017
I don't use Simulink, but surely the whole purpose of a constant is that it is constant?!

Sign in to comment.

Answers (3)

Vincent Nicolazzo
Vincent Nicolazzo on 6 Mar 2019
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.

Roadrunner Development
Roadrunner Development on 18 May 2020
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
Mikhail Savastianov
Mikhail Savastianov on 22 Oct 2021
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.


Saeed Ahmadzadeh Mahboobi
Saeed Ahmadzadeh Mahboobi on 19 Nov 2020
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 Troubleshooting in Simulink Real-Time in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!