主要内容

coder.dictionary.remove

R2026b

从模型或 Simulink 数据字典中删除 Embedded Coder 字典

描述

remove(sourceName) 从由 sourceName 辨识的模型或 Simulink® 数据字典中删除 Embedded Coder 字典定义。当您从模型中删除 Embedded Coder 字典时,您会删除自定义定义以及已加载包中的定义。模型仍包含具有 SimulinkBuiltIn 包中定义的本地字典。当您从没有附加的具有定义的 Simulink 数据字典的模型中删除 Embedded Coder 字典时,其余的本地字典包含来自 Simulink 包的定义。当您从 Simulink 数据字典中删除 Embedded Coder 字典时,您会删除整个 Embedded Coder 字典,包括其包和定义。

使用此函数可以:

  • 从模型中删除 Embedded Coder 字典定义。

  • 在引用的 Simulink 数据字典的层次结构中,从数据字典中删除 Embedded Coder 字典。在引用的字典的层次结构中,只有一个字典可以存储 Embedded Coder 字典。

要将代码生成定义从一个源迁移到另一个源(例如,从模型文件迁移到 Simulink 数据字典),请考虑使用 coder.dictionary.move。

示例

示例

全部折叠

当您为模型打开 Embedded Coder 字典窗口(请参阅Open the Embedded Coder Dictionary)或打开模型的代码透视时,Simulink 会在模型文件中创建 Embedded Coder 字典。在此示例中,在示例模型 RollAxisAutopilot 的 Embedded Coder 字典中创建一个代码生成定义(存储类),然后从模型中删除 Embedded Coder 字典。

打开模型 RollAxisAutopilot,并使用 coder.Dictionary 对象表示 Embedded Coder 字典。使用此对象访问字典的存储类分区,并使用 coder.dictionary.Section 对象表示该分区。

openExample('RollAxisAutopilot')
coderDictionary = coder.dictionary.open('RollAxisAutopilot');
storageClassesSect = getSection(coderDictionary, 'StorageClasses');

向存储类分区添加名为 MyStorageClass 的存储类定义。该存储类定义使用默认属性设置。

newEntry = addEntry(storageClassesSect,'MyStorageClass')
newEntry = 

  Entry with properties:

          Name: 'MyStorageClass'
    DataSource: 'RollAxisAutopilot'

在命令提示符下,从模型中删除 Embedded Coder 字典。

coder.dictionary.remove('RollAxisAutopilot')

现在,模型文件包含 Embedded Coder 字典,后者仅包含来自 Simulink 和 SimulinkBuiltIn 包的代码生成定义。

输入参数

全部折叠

目标模型文件或数据字典,指定为字符向量或字符串标量。

  • 必须加载一个模型(例如,通过使用 load_system 加载)或该模型处于打开状态。

    您不需要指定 .slx 文件扩展名。

  • 必须在模型资源管理器、当前文件夹或 MATLAB® 路径中打开一个字典。

    您必须指定 .sldd 文件扩展名。

示例: 'myLoadedModel'

示例: 'myDictionary.sldd'

数据类型: char

提示

要对引用其他数据字典的数据字典使用 coder.dictionary.remove,您必须:

  1. 临时删除对也包含代码生成定义的字典的引用。

  2. 对目标字典使用 coder.dictionary.remove。

  3. 还原您删除的字典引用。

版本历史记录

在 R2018a 中推出

全部展开