coder.dictionary.move

Миграция определений генерации кода между моделями и словарями данных

Описание

пример

move(sourceName,destinationName) перемещает определения генерации кода, такие как классы памяти, из словаря Embedded Coder Dictionary в sourceName к Embedded Coder в destinationName. Определения удаляются из sourceName. Чтобы скопировать определения кода из одного словаря Embedded Coder в другой, используйте coder.dictionary.copy.

Если определение генерации кода в sourceName имеет то же имя что и определение в destinationName, move перемещает исходную запись в место назначения, а затем переименовывает запись в место назначения.

Используйте эту функцию для:

  • Переместите определения генерации кода из модели в Simulink® словарь данных. Для получения дополнительной информации смотрите Совместное определение словаря Embedded Coder между моделями.

  • В иерархии словарей данных Simulink переместите словарь Embedded Coder из одного словаря данных в другой. В иерархии ссылочных словарей только один словарь может хранить словарь Embedded Coder.

Общие сведения о словарях Embedded Coder и определениях генерации кода см. в разделах Define Классов памяти, Памяти и Function Шаблонов for Программной архитектуры.

Примеры

свернуть все

Создайте класс памяти в словаре Embedded Coder Dictionary модели примера rtwdemo_roll. Затем переместите класс памяти в словарь Embedded Coder Dictionary in rtwdemo_rtwecintro.

Откройте модель rtwdemo_roll и представлять словарь Embedded Coder Dictionary при помощи coder.Dictionary объект. Используйте этот объект для доступа к Классам памяти разделу словаря и представления раздела при помощи coder.dictionary.Section объект.

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

Добавьте определение класса памяти с именем MyStorageClass в раздел «Классы памяти». В определении класса памяти используются настройки свойств по умолчанию.

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

  Entry with properties:

          Name: 'MyStorageClass'
    DataSource: 'rtwdemo_roll'

Сохраните копию rtwdemo_roll в текущей папке. Сохранение модели сохраняет класс памяти в словаре Embedded Coder.

Откройте другую модель, rtwdemo_rtwecintro.

rtwdemo_rtwecintro

Переместите содержимое Embedded Coder в rtwdemo_roll к Embedded Coder в rtwdemo_rtwecintro.

coder.dictionary.move('rtwdemo_roll','rtwdemo_rtwecintro')

Откройте словарь Embedded Coder для rtwdemo_rtwecintro.

В окне Embedded Coder Dictionary, на вкладке Storage Classes, класс памяти MyStorageClass появляется. Класс памяти больше не существует в rtwdemo_roll.

Входные параметры

свернуть все

Исходный файл модели или словарь данных, заданный как вектор символов или строковый скаляр.

  • Модель должна быть загружена (для примера, при помощи load_system) или открыть.

    Вам не нужно указывать .slx расширение файла.

  • Словарь должен быть открыт в Model Explorer, в текущей папке или в MATLAB® путь.

    Вы должны задать .sldd расширение файла.

Пример: 'myLoadedModel'

Пример: 'myDictionary.sldd'

Типы данных: char

Целевой файл модели или словарь данных, заданный как вектор символов или строковый скаляр.

  • Модель должна быть загружена (для примера, при помощи load_system) или открыть.

    Вам не нужно указывать .slx расширение файла.

  • Словарь должен быть открыт в Model Explorer, в текущей папке или в пути MATLAB.

    Вы должны задать .sldd расширение файла.

Пример: 'myLoadedModel'

Пример: 'myDictionary.sldd'

Типы данных: char

Введенный в R2018a