How to access parameter attributes from data dictionary in Simulink block

11 次查看(过去 30 天)
Hello,
I am using a data dictionary for my model in Simulink to access parameters. I have defined the parmeter values and its other attributes such as min value and max value etc.
I want to call the min and max values in a simulink block e.g., as constant. I tried to call it as
Param.Min
Unable to resolve the name 'Param.Min'.
and
Param.Max
It shows the value but gives me error while running the model saying "dot value attribution is not supported."
Does anyone know how to access these attributes without redefining them? I am using following code to create my data dictionary.
myDictionaryObj = Simulink.data.dictionary.create('myDictionary.sldd');
myDictionaryObj = Simulink.data.dictionary.open('myDictionary2.sldd');
toolDataSectObj=getSection(myDictionaryObj,'Design Data');
ParameterFile = readtable('test_Param.xlsx');
for i = 1:height(ParameterFile)
param = Simulink.Parameter;
param.Value = ParameterFile.Value(i);
param.Max = ParameterFile.Max(i);
param.Min = ParameterFile.Min(i);
param.Description = char(ParameterFile.Desc(i));
param.Unit = char(ParameterFile.Unit(i));
addEntry(toolDataSectObj, char(ParameterFile.Parameter(i)), param);
end

回答(1 个)

Fangjun Jiang
Fangjun Jiang 2025-4-14
By default, Param.Min refers 'Param' as a structure and 'Min' as one of its field.
I've tested it. You can use
Simulink.data.evalinGlobal(bdroot,'Param.Min')
If 'Param' is in base workspace, it would be evalin('base','Param.Min')
  4 个评论

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Manage Design Data 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by