Simulink , data store memory, different value of reading/writing

3 views (last 30 days)
hi, all
Currently I meet one question.
i have an parameter: tmptr is constant, 25degC.
as this two picture, picture1 is in sub-system#1, picture2 is in sub-system#2.
  • data store writing is ok, all time tmptr is 25.
  • data store reading is some wrong, after reading, temp is 0degC in begining.
Also I have tried do writing/ reading in same sub-system, value is right,
why is it? look forward your answer, thanks.
picture1
picture2
Regards
Jack

Accepted Answer

Aghamarsh Varanasi
Aghamarsh Varanasi on 20 Apr 2021
Hi Jack,
I see that there is a small time gap before the Data-Store Read block 'reads' the data from the data store memory. This is because there might be a Read operation from the DataStore Read block, before the Write operation from the DataStore Write block.
To check if this is the issue in your model,
1. You can turn the parameter 'Detect Read before Right' in the Model Configuration Parameters > Diagnostics > Data Validity > Data Store Memory block pane, to 'error' out. This configuration is set to 'warning' by default.
More info can be found here.
2. You can see the order in which the blocks are executed using the Execution Order under Information Overlay in the Debug tab in Simulink toolstrip.
More info can be found in this documentation page.
To overcome this issue, some of the workarounds are:
This documentation page contains the possible workarounds.
Hope this helps.
  1 Comment
JACK DENG
JACK DENG on 21 Apr 2021
Hi, Aghamarsh
thanks your reply. based on your advice, i have checked model, this issue is caused executing order. now the model is ok. thanks.
Regards
Jack

Sign in to comment.

More Answers (0)

Categories

Find more on Modeling in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!