How to obtain allowed values for a configuration parameter programmatically?

Hi.
I am trying to analyse/study the impact of changes in configuration parameter settings programmatically, for our Simulink model and auto generated code. I know how to set the configuration parameters programmatically, for example
set_param(configObject,'DefaultParameterBehavior','Inlined');
I also know how to obtain all configuration parameters programmatically:
get_param(configObject, 'ObjectParameters')
Now, for the study it would greatly help if I could obtain the allowed values for each parameter, for example DefaultParameterBehavior can be Inlined or Tunable, according to the help documentation (https://nl.mathworks.com/help/rtw/ref/defaultparameterbehavior.html). Is there any way of obtaining these allowed values programmatically? Such that the result will be something like
{'Inlined','Tunable'}
Thanks in advance!

 Accepted Answer

You can access these informations with get_param(object,'DialogParameters'). It gives you a struct with all parameters and every parameter has a field Enum with accepted values.

3 Comments

I see that this works on Simulink blocks
>> object = gcb
object =
'control_model/Subsystem'
>> get_param(object,'DialogParameters')
ans =
struct with fields:
ShowPortLabels: [1×1 struct]
BlockChoice: [1×1 struct]
TemplateBlock: [1×1 struct]
Unfortuantely this does not seem to work on configuration sets:
object =
Simulink.ConfigSet
>> get_param(object,'DialogParameters')
Property 'DialogParameters' does not exist
I don't know if this can be useful, but if you use this command get_param(0,'ObjectParameters'), you'll obtain global and model parameters, included configuration parameters.
Yes this works! Thank you very much :-)
>> opbjectParam = get_param(0,'ObjectParameters');
>> opbjectParam.DefaultParameterBehavior
ans =
struct with fields:
Type: 'ConfigSet_Opt_DefaultParameterBehavior_EnumType'
Enum: {2×1 cell}
Attributes: {'read-and-controlled-write' 'read-only-if-compiled'}
>> opbjectParam.DefaultParameterBehavior.Enum
ans =
2×1 cell array
{'Tunable'}
{'Inlined'}

Sign in to comment.

More Answers (1)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!