setDictionaryDefault
Class: coder.Dictionary
Namespace: coder
Set default service for service interface section or default property value for data interface category
Since R2023b
Syntax
Description
setDictionaryDefault(
specifies the default entry serviceDict,sectionName,defaultEntry)defaultEntry for the service interface
section sectionName in the service interfaces coder dictionary
serviceDict.
setDictionaryDefault(
specifies the default value dataDict,categoryName,propName,defaultPropVal)defaultPropVal for the property
propName of the category categoryName in the
data interfaces coder dictionary dataDict.
Input Arguments
Embedded Coder® Dictionary that contains a service interface configuration, specified as a
coder.Dictionary object.
Service interface section name, specified as a string scalar or character vector that corresponds to a section of the service interface definitions in the dictionary. Sections include:
"DataReceiverInterfaces""DataSenderInterfaces""DataTransferInterfaces""InitTermFunctions""MeasurementInterfaces""ParameterArgumentTuningInterfaces""ParameterTuningInterfaces""PeriodicAperiodicFunctions""SharedUtilityFunctions""SubcomponentInitTermFunctions""SubcomponentPeriodicAperiodicFunctions""TimerInterfaces"
The name of the service interface entry to set as default, specified as a string
scalar or character vector. To get the available entries for a section, use the find method
for the section.
Example: find(getSection(serviceDict,"DataReceiverInterfaces")).Name
Embedded Coder Dictionary that contains a data interface configuration, specified as a
coder.Dictionary object.
Data interface category name, specified as a string scalar or character vector that
corresponds to a category in one of the category groups in the dictionary,
Function Defaults and Data Defaults.
Function Defaults categories are:
"InitializeTerminate""Execution""SharedUtility"
Data Defaults categories are:
"Inports""Outports""ModelParameters""ModelParameterArguments""ExternalParameters""SharedLocalDataStores""GlobalDataStores""InternalData""Constants"
Name of category property for which to set the dictionary default value, specified as a string scalar or character vector. The list of available properties to use with this method depends on the category type and its specific configuration.
For categories within Function Defaults, the
FunctionCustomizationTemplate property is available for use with
this method. When the FunctionCustomizationTemplate is set to
Default, an additional property, MemorySection,
becomes available for use with this method for these categories.
Data Defaults categories have the StorageClass
property available for use with this method. The set of available properties is dynamic
and varies based on the assigned value of the StorageClass property.
For example, when the StorageClass property is assigned the value
ExportToFile, which is allowed for certain categories, these
additional properties become available for use with this method:
"HeaderFile""DefinitionFile""Owner""PreserveDimensions"
To learn more about storage classes and their properties, see Choose Storage Class for Controlling Data Representation in Generated Code.
Default value to set for the specified property. The value type depends on the property whose value is being specified.
The available values for the FunctionCustomizationTemplate,
MemorySection, and StorageClass are those
defined in the dictionary, in the sections
FunctionCustomizationTemplates, MemorySections,
and StorageClasses respectively. To get the list of available values
for each of these properties, use the find method in combination with
the getSection method. For example, to get the list of available
storage class names,
enter:
find(getSection(coderDataDict,"StorageClasses")).NameExamples
Create a Simulink data dictionary that contains an Embedded Coder Dictionary. Create the Embedded Coder Dictionary so that it represents a service interface configuration.
dictionaryFile = Simulink.data.dictionary.create("codeDefinitions.sldd"); codeDictionary = coder.dictionary.create("codeDefinitions.sldd","ServiceInterface");
Get the default receiver service interface.
receiver = getDictionaryDefault(codeDictionary,"DataReceiverInterfaces")receiver =
Entry with properties:
Name: 'ReceiverExample1'
DataSource: 'C:\work\serviceDefinitions.sldd'
DataCommunicationMethod: 'OutsideExecution'
FunctionName: 'get_$X$N'Get a list of the available receiver service interfaces.
recSection = getSection(codeDictionary,"DataReceiverInterfaces");
receivers = find(recSection);
receivers.Nameans =
'ReceiverExample1'
ans =
'ReceiverExample2'
ans =
'ReceiverExample3'Set a different receiver interface as the default.
setDictionaryDefault(codeDictionary,"DataReceiverInterfaces","ReceiverExample2");
Create a Simulink data dictionary, then create the Embedded Coder Dictionary to represent a data interface configuration.
dictFileName = "dataDict.sldd"; dataDict = Simulink.data.dictionary.create(dictFileName); coderDataDict = coder.dictionary.create(dataDict,"DataInterface");
Use the getDictionaryDefault method to see the default StorageClass of the Outports category.
getDictionaryDefault(coderDataDict,"Outports","StorageClass")
ans = 'Default'
Set the default StorageClass of the Outports category to GetSet. Then specify GetFunction (the naming rule of the get function) as get_outports_$N and specify SetFunction (the naming rule of the set function) as set_outports_$N.
setDictionaryDefault(coderDataDict,"Outports","StorageClass","GetSet") setDictionaryDefault(coderDataDict,"Outports","GetFunction","get_outports_$N") setDictionaryDefault(coderDataDict,"Outports","SetFunction","set_outports_$N")
Discard and close the dictionary, then delete the dictionary file. This allows you to run this example more than once without getting an error while attempting to create the dictionary.
discardChanges(dataDict)
Simulink.data.dictionary.closeAll("-save")
delete(dictFileName)Version History
Introduced in R2023bThe sections SubcomponentInitTermFunctions and
SubcomponentPeriodicAperiodicFunctions replace the section
SubcomponentEntryFunctions.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)