exponenta event banner

coder.dictionary.move

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

Описание

пример

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

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

Эта функция используется для:

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

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

Общие сведения о словарях встроенного кодера и определениях генерации кода см. в разделе Определение классов хранения, разделов памяти и шаблонов функций для архитектуры программного обеспечения.

Примеры

свернуть все

Создание класса хранения в словаре встроенного кодера примерной модели rtwdemo_roll. Затем переместите класс хранения в словарь встроенного кодера в 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 в текущей папке. При сохранении модели класс хранения сохраняется в словаре встроенного кодера.

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

rtwdemo_rtwecintro

Переместить содержимое словаря встроенного кодера в rtwdemo_roll в словарь встроенного кодера в rtwdemo_rtwecintro.

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

Открыть словарь встроенного кодера для rtwdemo_rtwecintro.

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

Входные аргументы

свернуть все

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

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

    Нет необходимости указывать .slx расширение файла.

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

    Необходимо указать .sldd расширение файла.

Пример: 'myLoadedModel'

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

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

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

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

    Нет необходимости указывать .slx расширение файла.

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

    Необходимо указать .sldd расширение файла.

Пример: 'myLoadedModel'

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

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

Представлен в R2018a