MATLAB Answers

Can I find where a Simulink.Signal object is stored based on a Data Store Read/Write in the model?

15 views (last 30 days)
Hadi Zyien
Hadi Zyien on 28 Sep 2018
Commented: Hadi Zyien on 30 Oct 2018
Simulink.Signal objects can be stored in the base workspace, model workspace, and/or a data dictionary. If I have a Data Store Read or Write that refers to a Simulink.Signal object (i.e., a "global" data store), is it possible to determine which one it is using? Can I do this programmatically? Using the get_param function on the data store read/write does not show any useful parameters that could associate a data store to its definition.


Sign in to comment.

Accepted Answer

TAB on 28 Sep 2018
Edited: TAB on 28 Sep 2018
If Simulink.Signal object name is "x"
>> varInfo = Simulink.findVars('MyModel','Name','x')
varInfo =
VariableUsage with properties:
Name: 'x'
Source: 'base workspace'
SourceType: 'base workspace'
Users: {[1x26 char]}


Hadi Zyien
Hadi Zyien on 28 Sep 2018
Thanks! That was exactly what I needed. Is there any way I can get the data store's DataType and Dimensions?
TAB on 1 Oct 2018
get_param('MyModel/Data Store Memory', 'OutDataTypeStr')
get_param('MyModel/Data Store Memory', 'Dimensions')
Hadi Zyien
Hadi Zyien on 30 Oct 2018
I am not sure that this works for Simulink.Signal objects:
get_param(varInfo.Users{1}, 'OutDataTypeStr')
DataStoreRead block does not have a parameter named 'OutDataTypeStr'
How can I use the Simulink.Signal name to find the Data Type and Dimensions?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!