MATLAB Simulink communication in real time

1 view (last 30 days)
Hi, In my simulink model I am reading a variable's value from MATLAB workspace. Now if I change that variable's value in workspace while simulink is running, then simulink does not get the updated value. It keeps reading the preassigned value. Is there any way by which simulink model can get updated values from MATLAB workspace in real time (without using RT licence or xPC target)
Thanks Mitesh

Accepted Answer

Nirmal Gunaseelan
Nirmal Gunaseelan on 9 Aug 2011
One way to tune the parameter based on a change in a variable in the MATLAB workspace is to 'update' the model while it is still simulating (Ctrl+D). What is your use case? Are you controlling the model simulation from another MATLAB script?
  10 Comments
Mitesh Farsodia
Mitesh Farsodia on 9 Aug 2011
Thanks Frangiun for your suggestion.
When we do this,it tries to update whole simuling model. I have GT power link in my simulink model and when I tried to update some particular block in my simulink model, it updates that particular block and stops the simulation after that. I am assuming at the same moment it is also trying to update that GT poer block, which stops the simulation. Can we update any particular block name without affecting other blocks in model.
Fangjun Jiang
Fangjun Jiang on 9 Aug 2011
When the model is updated, it is updating the whole model. You need to re-think what you really want. All the approaches talked about above will cause the model to pause, update and then continue. You could leave the simulation continue running while you change the gain of a Gain block, for example. Try that and come back with your true intent.

Sign in to comment.

More Answers (4)

Andreas Goser
Andreas Goser on 9 Aug 2011
Many people with this description look for a way that is actually an artificial slowdown of Simulink, so that it is running approximately in sync with real time.
The are solutions on FileExchange for that, e.g. this one

Fangjun Jiang
Fangjun Jiang on 9 Aug 2011
Use a Constant block in your Simulink model. While your simulation is running, you can double click the Constant block and change its value. The simulation will pause and then continue with the new Constant block value.

Dharmendra singh
Dharmendra singh on 6 Feb 2012
One way to tune the parameter based on a change in a variable in the MATLAB workspace is to 'update' the model while it is still simulating (Ctrl+D). What is your use case? Are you controlling the model simulation from another MATLAB script?
satisfiefd with reply but not so much
  1 Comment
Kaustubha Govind
Kaustubha Govind on 6 Feb 2012
Dharmendra: Perhaps you could provide more information on how Nirmal's answer did not help you? The answer is clear and complete as far as I can see.

Sign in to comment.


Tan Phat Nguyen
Tan Phat Nguyen on 10 May 2018
Sensor 1 (pressure sensor attached to bottom of tank 1) connects to Pin 0 Arduino Uno Sensor 2 (pressure sensor attached to bottom of tank 2) connects to Pin 2 Arduino Uno When running individually, the Volt value and water level return are correct reality. But when running both Volt = 0, water level = 0. So how do I read at the same time two analog values? Thank you

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!