SIMULINK BUG, or Am I missing something in DATA STORE MEMORY block?
16 views (last 30 days)
I have a Simulink model with the following problem:
At the top-level I have one data store memory block A, with one respective read and write block. And even though after the reading, the value travels thru a S-Function at the same level, 3 different Switch-Case Action Subsystems each one with different S-Functions, returns to top-level, and passes thru a Merge block, the writing of the new value is correct.
Now, inside just 1 of the 3 Switch-Case Action Subsystems I have another data store memory block B, also with one respective read and write block inside the subsystem too, same level. After the reading, the value travels thru the S-Function, together with the value from memory block A.
The value for block A is always correct. However, there is no reading from block B.
I already tried:
1-Changing the data type, in the memory block and the S-Function.
2-Double check in sample time.
3-Different initial value.
4-Set ports connected to Merge block as SS_REUSABLE_AND_GLOBAL.
5-Diffent computers (x32 and x64).
6-Put B at the same top-level with A.
7-The same problem still exists in a smaller model too.
But still not reading from block B. Is there something missing?
Anyone please. I am stuck with this for a week.
Nirmal Gunaseelan on 22 May 2013
Looks to me like an access issue. How about you make B as a global data store? This is just to make sure that your conditionally executed subsystem has and provides access to B outside itself.
Muruganandham Subramanian on 30 May 2013
How you are reading the value for DSR B (data store read)?? from workspace?? Is DSR B depends on DSR A output?, If it depends, check DSR memory used inside the subsytem, passing right value to DSR B ?