Borrar filtros
Borrar filtros

How do I change the properties of an Enum stored in a data dictionary programmatically?

11 visualizaciones (últimos 30 días)
I have a data dictionary an I defined several enums inside it through the Model Explorer window.
Now I want to change some of the properties of those enums programatically through MATLAB code (for example: based on some configuration for the embedded coder). Is there any way to do it? I coulnd't find any relevant documentation regarding this issue, Only how to add or remove enums from data dictionary.
I tried to do the following thing but it didn't work:
myDictionaryObj =;
dDataSectObj = getSection(myDictionaryObj,'Design Data');
entriesEnum = find(dDataSectObj,'-value','-class','EnumTypeDefinition');
I Specifically want to progarmatically change the enum settings in the 'Code Generation' tab: Data Scope and Header file.
Any help will be much appreciated.

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 19 de Mzo. de 2024
  5 comentarios
Fangjun Jiang
Fangjun Jiang el 20 de Mzo. de 2024
Editada: Fangjun Jiang el 20 de Mzo. de 2024
That was a problem. Several years ago, I have requested the Mathworks to hve full SLDD API to access all data object property values. But so far in R2024a, it still just has getValue() and setValue() methods.
I can suggest this workarounds:
  1. Create the enumeral class object, set the .DataScope and .HeaderFile property and then import it to SLDD.
The other workaround'ModelName','a=11;') works for an existing ordinary variable in the SLDD to change value, but it does not work for an existing enumeral class such as'ModelName','myColors.DataScope="Exported";')

Iniciar sesión para comentar.

Más respuestas (0)




Community Treasure Hunt

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

Start Hunting!

Translated by