Embedded Coder Dictionary

Создайте определения кода, которые код системы управления генерацию для данных моделей и функций

Описание

Словарь Embedded Coder является графическим интерфейсом для создания пользовательских определений кода. Применяя эти определения в моделях, вы и ваши пользователи можете сгенерировать код, который по умолчанию соответствует определенной программной архитектуре. Для примера можно создать свой собственный класс памяти, который вы и ваши пользователи можете применить по умолчанию к категории данных моделей, такие как входы корневого уровня, или к отдельным элементам данных, таким как параметры.

Можно создать следующие типы определений кода:

  • Классы памяти, которые управляют кодом, сгенерированным для данных моделей.

  • Шаблоны индивидуальной настройки функции, которые управляют именованием функций точки входа модели, таких как model_step. Шаблоны также применяют разделы памяти к функциям точки входа.

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

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

Embedded Coder® Словарь имеет вкладку для каждого типа определения кода. На каждой вкладке вы конфигурируете свойства определений кода. Используйте таблицу, чтобы сконфигурировать свойства и сравнить определения один за другим. Для доступа к свойствам, которые не отображаются в таблице, используйте Property Inspector. Чтобы проверить результаты при конфигурировании свойств, используйте предпросмотр псевдокода.

Можно применить определения, которые вы создаете в словаре, к элементам модели с помощью редактора Code Mappings (см. Настройка генерации кода C по умолчанию для категорий элементов данных и функций). Чтобы создать классы памяти и разделы памяти, которые можно использовать вне редактора Отображения, используйте Custom Storage Class Designer (см. раздел «Создание определений кода для внешних объектов данных»).

Откройте словарь Embedded Coder

  • Чтобы открыть словарь Embedded Coder Dictionary, в окне модели, на вкладке C Code, выберите Code Interface > Embedded Coder Dictionary.

    В окне Embedded Coder Dictionary отображаются определения генерации кода, которые хранятся в файле модели. Если модель связана со словарем данных, в окне также отображаются определения, которые хранятся в этом словаре данных или, если применимо, в словаре-ссылке. Столбец Source указывает, где хранится каждое определение.

  • Чтобы открыть Embedded Coder в Simulink® словарь данных, на панели Model Hierarchy Model Explorer:

    1. Под узлом словаря выберите узел Embedded Coder.

      Если узел не отображается, щелкните правой кнопкой мыши по узлу словаря и выберите Show Empty Sections.

    2. На панели Диалоговое окно (правая панель) нажмите кнопку Open Embedded Coder Dictionary.

Примеры

Создайте и проверьте класс памяти

В модели создайте класс памяти, который агрегирует данные внутренней модели, включая состояния блока, в структуру, характеристиками которой можно управлять. Затем проверьте класс памяти, сгенерировав код из модели.

  1. Откройте пример модели rtwdemo_roll.

    rtwdemo_roll

  2. Если модель не открывается в приложении Embedded Coder, откройте приложение и нажмите вкладку C Code.

  3. На вкладке C Code выберите Code Interface > Embedded Coder Dictionary. В окне Embedded Coder Dictionary отображаются определения генерации кода, которые хранятся в файле модели.

  4. В окне Embedded Coder Dictionary нажмите Add.

  5. Выберите новый класс памяти, который появится в нижней части списка StorageClass1 . На панели Property Inspector справа задайте значения свойств, перечисленные в этой таблице.

    СвойствоЗначение
    NameInternalStruct
    Header FileinternalData_$R.h
    Definition FileinternalData_$R.c
    Storage TypeStructured
    Structure Properties> Type NameinternalData_T_$M
    Structure Properties> Instance NameinternalData_$M

    После внесения изменений в нижней панели проверьте, что предварительный просмотр псевдокода отражает то, что вы ожидаете.

  6. Вернитесь в редактор моделей. Чтобы открыть редактор Отображения, под холстом, дважды щелкните Code Mappings. На вкладке Data Defaults разверните раздел Signals. Выберите Signals, states, and internal data строку и установите Storage Class равной InternalStruct.

  7. В диалоговом окне Configuration Parameters, на Code Generation> Code Placement панель, набор File packaging format к Modular.

  8. Сгенерируйте код.

  9. В представлении Simulink Editor Code откройте и проверьте файл internalData_rtwdemo_roll.h. Файл определяет тип структуры internalData_T_, поля которого представляют состояния блока в модели.

    /* Storage class 'InternalStruct', for system '<Root>' */
    typedef struct {
      real32_T FixPtUnitDelay1_DSTATE;     /* '<S7>/FixPt Unit Delay1' */
      real32_T Integrator_DSTATE;          /* '<S1>/Integrator' */
      int8_T Integrator_PrevResetState;    /* '<S1>/Integrator' */
    } internalData_T_;

    Файл также объявляет глобальную структурную переменную с именем internalData_.

    /* Storage class 'InternalStruct' */
    extern internalData_T_ internalData_;

  10. Откройте и проверьте файл internalData_rtwdemo_roll.c. Файл выделяет память для internalData_.

    /* Storage class 'InternalStruct' */
    internalData_T_ internalData_;

Создайте шаблон индивидуальной настройки функции

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

В этом примере показано, как создать шаблон функции, который задает правило именования func_$N_$R. $N - базовое имя каждой сгенерированной функции и $R - имя модели Simulink.

  1. Откройте пример модели rtwdemo_mrmtbb.

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

  3. В модели установите параметр конфигурации модели System target file равным ert.tlc. Чтобы использовать шаблон индивидуальной настройки функции, необходимо использовать системный целевой файл на основе ERT.

  4. В Редактор откройте приложение Embedded Coder и откройте Embedded Coder Dictionary.

  5. В словаре Embedded Coder Dictionary, на вкладке Function Customization Templates, нажмите Add.

  6. Для нового шаблона функции задайте следующие свойства:

    • Name с myFunctions.

    • Function Name с func_$N_$R.

    После внесения изменений проверьте, что предпросмотр псевдокода отражает то, что вы ожидаете.

  7. В окне модели откройте редактор Отображения. На вкладке Function Defaults, для Initialize/Terminate и Execution строки, набор Function Customization Template к myFunctions.

  8. Сгенерируйте код.

  9. В представлении кода откройте и проверьте файл rtwdemo_mrmtbb.c. Файл определяет две функции выполнения, func_step0_rtwdemo_mrmtbb и func_step1_rtwdemo_mrmtbb, имена которых соответствуют правилу, заданному в шаблоне функции.

Создайте раздел памяти

Для примера, который показывает, как создать раздел памяти, смотрите Control Data and Function Placement in Memory by Inserting Pragmas.

Создайте класс памяти для использования с статически и динамически инициализированными данными

В этом примере показано, как создать класс памяти, который помещает определения глобальных переменных и объявления в файлы, имена которых зависят от имени модели. Вы создаете две копии класса памяти, чтобы можно было использовать одну копию с данными параметра (Model parameters типа данных) и одну копию с другими данными.

Обычно сгенерированный код инициализирует данные параметра статически, вне любой функции и инициализирует другие данные динамически, в функции инициализации модели. Когда вы создаете класс памяти с помощью Custom Storage Class Designer или Embedded Coder Dictionary, вы устанавливаете свойство Data Initialization, чтобы задать механизм инициализации.

В словаре Embedded Coder Dictionary для каждого класса памяти необходимо выбрать Static или Dynamic инициализация. Рассмотрите создание одной копии класса памяти для данных параметра (Static) и одна копия для других данных (Dynamic).

Создайте класс памяти
  1. Откройте пример модели rtwdemo_roll.

  2. Если вкладка C Code не открыта, откройте приложение Embedded Coder и щелкните вкладку C Code.

  3. Выберите Code Interface > Embedded Coder Dictionary

  4. В словаре Embedded Coder Dictionary нажмите Add.

  5. Для нового класса памяти задайте следующие свойства:

    • Name с SigsStates

    • Header File с $R_my_data.h

    • Definition File с $R_my_data.c

    • Data Initialization с Dynamic

    После внесения изменений проверьте, что предпросмотр псевдокода отражает то, что вы ожидаете.

  6. Нажмите Duplicate. Новый класс памяти, SigsStates_copy, появляется.

  7. Для нового класса памяти задайте следующие свойства:

    • Name с Params

    • Data Initialization с Static

    После внесения изменений проверьте, что предпросмотр псевдокода отражает то, что вы ожидаете.

Применить класс памяти и сгенерировать код
  1. Вернитесь к модели и откройте редактор Отображения. Под полотном модели дважды кликните Code Mappings - C.

  2. На вкладке Data Defaults для строки Parameters > Model Parameters в столбце Storage Class выберите Params.

  3. Для Signals> Signals, states, and internal data строка, набор Storage Class к SigsStates.

  4. Сконфигурируйте некоторые элементы данных параметров в модели, чтобы оптимизация не исключала эти элементы из сгенерированного кода. На вкладке Modeling щелкните Design > Model Workspace.

  5. В Model Explorer на центральной панели выберите три строки, которые соответствуют переменным dispGain, intGain, и rateGain в рабочем пространстве модели.

  6. Щелкните правой кнопкой мыши одну из строк и выберите Convert to parameter object. Этот Model Data Editor преобразует переменные рабочей области в Simulink.Parameter объекты.

  7. В строке для параметра dispGainв Storage Class столбце щелкните Configure. В окне модели подсвечивается строка для dispGain параметр в редакторе Отображения.

  8. Для каждой переменной в Storage Class столбце выберите Model default: Params, что означает, что они получают класс памяти по умолчанию, указанный для Model parameters.

  9. В диалоговом окне Configuration Parameters, на Code Generation> Code Placement панель, набор File packaging format к Modular.

  10. Сгенерируйте код.

  11. В представлении кода откройте и проверьте файлы rtwdemo_roll_my_data.c и rtwdemo_roll_my_data.h. Эти файлы определяют и объявляют глобальные переменные, которые соответствуют объектам параметров и некоторым состояниям блока, таким как состояние Integrator блока в BasicRollMode подсистема.

    /* Storage class 'SigsStates' */
    real32_T rtFixPtUnitDelay1_DSTATE;
    real32_T rtIntegrator_DSTATE;
    int8_T rtIntegrator_PrevResetState;
    
    /* Storage class 'Params' */
    real32_T dispGain = 0.75F;
    real32_T intGain = 0.5F;
    real32_T rateGain = 2.0F;

См. определения генерации кода в пакете

Вы можете настроить словарь Embedded Coder Dictionary для ссылки на определения генерации кода, которые вы храните в пакете (см. «Создание определений кода для внешних объектов данных»). Эти определения будут доступны для выбора в редакторе Отображения. В этом примере вы конфигурируете Embedded Coder в rtwdemo_roll для обращения к определениям, хранящимся во встроенном примере пакета ECoderDemos.

  1. Откройте словарь Embedded Coder для rtwdemo_roll. Инструкции см. в разделе Создание и проверка Класса памяти.

  2. В окне Embedded Coder Dictionary нажмите Manage Packages.

  3. В диалоговом окне Управление пакетами нажмите Refresh. Подождите, пока в раскрывающемся списке Select package не появится больше параметров.

  4. Установите Select package значение ECoderDemos и нажмите Load.

    В окне Embedded Coder Dictionary, на вкладке Storage Classes, в таблице показаны классы памяти, определенные в ECoderDemos пакет. Теперь, в rtwdemo_rollможно выбрать эти классы памяти в редакторе Отображения на вкладке Data Defaults.

  5. Чтобы выгрузить пакет, в диалоговом окне Управление пакетами выберите пакет в раскрывающемся списке Select package и нажмите Unload.

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

Для примера, который показывает, как обмениваться определениями генерации кода между моделями с помощью словарей данных, см. Раздел «Совместное определение словаря Embedded Coder между моделями».

Сконфигурируйте отображения кода по умолчанию в словаре общего кодера

Для примера, в котором показано, как сконфигурировать отображения кода по умолчанию в общем словаре Embedded Coder, смотрите Настройте отображение кода по умолчанию в общем словаре.

Похожие примеры

Параметры

Эти свойства отображаются на панели Property Inspector окна Embedded Coder Dictionary. В таблице некоторые свойства отображаются как столбцы для облегчения редактирования пакета.

Классы памяти

Имя класса памяти. Имя должно быть уникальным среди классов памяти в словаре.

Для списков встроенных и примерных классов памяти, которые предоставляет Simulink, смотрите Выбор класса памяти для управления представлением данных в Сгенерированном коде.

Пользовательский текст, который можно использовать для описания назначения и функциональности класса памяти.

Это свойство доступно только для чтения.

Расположение определения класса памяти.

Спецификация для доступа к данным, сопоставленным с моделью. Доступ к данным непосредственно (Direct) или через настраиваемые get и set функции (Function). Для получения дополнительной информации смотрите Доступ к данным через функции при помощи классов памяти в словаре Embedded Coder.

Зависимости

  • Установка значения свойства Function:

    • Устанавливает Data Scope на Imported.

    • Означает, что вы не можете задать свойства мультиобразцов.

    • Включает следующие свойства:

      • Access Mode

      • Allowed Access

      • Name of Getter

      • Name of Setter

    • Отключает свойство Preserve array dimensions. Чтобы сохранить размерности многомерных массивов в сгенерированном коде, установите Data Access равным Direct.

Спецификация, что сгенерированный код определяет данные (Exported) или импорт (Imported) определение данных из внешнего кода. Встроенные классы памяти и классы памяти в пакетах, таких как Simulink, могут использовать другие опции возможностей, такие как File.

Зависимости

  • Установка значения свойства Imported:

    • Отключает Definition File. Чтобы включить ваши внешние исходные файлы кода в процесс сборки, используйте параметры конфигурации модели. Для получения примера см. раздел «Настройка Данных интерфейса».

    • Означает, что вы не можете задать Header File $N.hхотя вы можете использовать $N лексема.

  • Чтобы задать это свойство равным Exportedнеобходимо использовать один из лексем $N или $R в значении Header File.

Имя файла заголовка, который объявляет данные, заданное как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NИмя связанного элемента данных
$GИмя класса памяти
$UТекст лексемы пользователя, который вы задаете для модели, как описано в Identifier Format Control

Зависимости

  • Если вы задаете Data Scope Exportedнеобходимо использовать один из лексем $R или $N в значении этого свойства.

  • Если вы задаете Data Scope Imported, вы не можете задать значение этого свойства $N.h, но вы можете использовать $N лексема.

Имя исходного файла, который определяет данные как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NИмя связанного элемента данных
$GИмя класса памяти
$UТекст лексемы пользователя, который вы задаете для модели, как описано в Identifier Format Control

Зависимости

Установка значения Data Scope Imported отключает Definition File. Чтобы включить ваши внешние исходные файлы кода в процесс сборки, используйте параметры конфигурации модели. Для получения примера см. раздел «Настройка Данных интерфейса».

Спецификация для класса памяти для доступа к данным, связанным с моделью, через функции при помощи Value или Pointer. Для получения дополнительной информации смотрите Доступ к данным через функции при помощи классов памяти в словаре Embedded Coder.

Зависимости

Это свойство включено только, когда вы задаете Data Access Function.

Спецификация для класса памяти, разрешающая чтение и запись (Read/Write), только для чтения (Read Only), или только запись (Write Only) доступ к данным.

Зависимости

Это свойство включено только, когда вы задаете Data Access Function.

Имя get функция, которая выбирает связанные данные, заданные как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$NИмя связанного элемента данных (обязательно)
$RИмя корневой модели
$MТекст Mangle, который гарантирует уникальность
$UТекст лексемы пользователя. См. «Управление форматом идентификатора».

Зависимости

Это свойство включено только, когда вы задаете Data Access Function.

Имя set функция, которая выбирает данные изменений, заданные как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$NИмя связанного элемента данных (обязательно)
$RИмя корневой модели
$MТекст Mangle, который гарантирует уникальность
$UТекст лексемы пользователя. См. «Управление форматом идентификатора».

Зависимости

Это свойство включено только, когда вы задаете Data Access Function.

Спецификация для класса памяти, для использования параметров хранения, заданных в разделе Single-instance storage, или параметров хранения, заданных в разделе Multi-instance storage. При применении класса хранения к элементу данных словарь Embedded Coder Dictionary определяет, является ли это классом хранения с одним экземпляром или классом хранения с несколькими экземплярами, по типу данных и контексту модели в иерархии моделей-ссылок.

Зависимости

Выбор этого свойства включает разделы Single-instance storage и Multi-instance storage. Свойства Storage Type, Type Name и Instance Name появляются как в Single-instance storage, так и в Multi-instance storage разделах.

Спецификация для агрегирования данных, которые используют класс памяти, в структуру в сгенерированном коде. Каждый элемент данных появляется в коде как поле структуры. Чтобы создать структуру, используйте Structured.

Зависимости

Установка значения свойства Structured включает Type Name и Instance Name.

Имя типа структуры в сгенерированном коде, заданное как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя связанной функции, например step
$GИмя класса памяти
$UТекст лексемы пользователя, который вы задаете для модели, как описано в Identifier Format Control
$MТекст управления именами, вставленный, при необходимости, чтобы избежать конфликтов имен

Зависимости

Установка значения Storage Type Structured включает это свойство.

Имя структурной переменной в сгенерированном коде, заданное как имя или правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя связанной функции, например step
$GИмя класса памяти
$UТекст лексемы пользователя, который вы задаете для модели, как описано в Identifier Format Control
$MТекст управления именами, вставленный, при необходимости, чтобы избежать конфликтов имен

Зависимости

Установка значения Storage Type Structured включает это свойство.

Спецификация, что сгенерированный код инициализирует данные.

  • Auto - Сгенерированный код статически инициализирует данные параметра и динамически инициализирует данные сигнала и состояния.

  • Dynamic - Сгенерированный код инициализирует данные как часть функции точки входа инициализации модели.

  • Static - Сгенерированный код инициализирует данные в том же операторе, который определяет и выделяет память для данных. Оператор назначения появляется в верхней части .c или .cpp исходный файл, вне функции.

  • None - Сгенерированный код не инициализирует данные.

Зависимости

  • Если вы выбираете Const, вы не можете задать это свойство Dynamic.

  • Установка значения свойства Dynamic отключает Const.

Расположение в памяти для выделения данных, заданное как раздел памяти, который существует в словаре Embedded Coder на вкладке Memory Sections. Для получения информации о разделах памяти смотрите Control Data и Function Placement in Memory путем вставки прагм.

Спецификация для класса памяти, чтобы сохранить размерности многомерных массивов в сгенерированном коде. Для получения дополнительной информации см. Раздел «Сохранение размерностей многомерных массивов» в Сгенерированном коде.

Спецификация для применения const квалификатор данных.

Зависимости

  • Если вы выбираете это свойство, вы не можете задать Data Initialization Dynamic.

  • Установка значения Data Initialization Dynamic отключает это свойство.

Спецификация для применения volatile квалификатор данных.

Спецификация для применения пользовательского квалификатора к данным. Для примера некоторые архитектуры памяти поддерживают квалификаторы far и huge.

Не используйте это свойство для применения ключевого слова static. Вместо этого используйте встроенный класс памяти FileScope, который невозможно применить в редакторе Отображения. Смотрите раздел «Выбор класса памяти для управления представлением данных в сгенерированном коде».

Спецификация, указывающая, разрешать ли использование класса памяти с параметрами модели.

Зависимости

  • Установка значения Data Initialization Static включает это свойство.

  • Установка значения Data Initialization Dynamic отключает это свойство.

  • Чтобы задать значение этого свойства, установите Data Initialization равным None.

Спецификация, указывающая, разрешать ли использование класса памяти с сигналами модели.

Зависимости

  • Установка значения Data Initialization Dynamic включает это свойство.

  • Установка значения Data Initialization Static отключает это свойство.

  • Чтобы задать значение этого свойства, установите Data Initialization равным None.

Индивидуальные настройки функций

Имя шаблона. Имя должно быть уникальным среди шаблонов функций в словаре. Embedded Coder предоставляет встроенные шаблоны, перечисленные в этой таблице.

ШаблонОписание
ModelFunctionВ редакторе Отображения используйте для функций точки входа функции инициализации, выполнения, завершения и сброса (см. «Настройка генерации кода по умолчанию для функций»)
UtilityFunctionВ редакторе Отображения используйте общие служебные функции (см. «Настройка генерации кода по умолчанию для функций»)

Пользовательский текст, который можно использовать, чтобы описать назначение и функциональность шаблона функции.

Это свойство доступно только для чтения.

Расположение определения шаблона функции.

Имена функций в сгенерированном коде, заданные как правило именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя связанной функции, например step
$UТекст лексемы пользователя, который вы задаете для модели, как описано в Identifier Format Control
$CДля общих служебных функций, контрольная сумма вставлена, чтобы избежать конфликтов имен
$MТекст управления именами, вставленный, при необходимости, чтобы избежать конфликтов имен

Расположение в памяти для выделения функции, заданное как раздел памяти, который существует в словаре Embedded Coder на вкладке Memory Sections. Для получения информации о разделах памяти смотрите Control Data и Function Placement in Memory путем вставки прагм.

Разделы памяти

Имя раздела памяти. Имя должно быть уникальным среди разделов памяти словаря. Embedded Coder предоставляет встроенные разделы памяти, перечисленные в этой таблице.

Раздел памятиОписание
MemConstПрименить проверку типа склада const к данным.
MemVolatileПрименить проверку типа склада volatile к данным.
MemConstVolatileПрименить проверку типа склада const и volatile к данным.

Пользовательский текст, который можно использовать, чтобы описать назначение и функциональность раздела памяти.

Это свойство доступно только для чтения.

Расположение определения раздела памяти.

Комментарий кода, который генератор кода включает с прагмами или другими украшениями, которые вы задаете с Pre Statement и Post Statement.

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

Можно использовать лексему $R чтобы представлять имя модели, которая использует раздел памяти.

Когда вы задаете Statements Surround Each variable, можно использовать лексему $N чтобы представлять имя каждой переменной или функции, которая использует раздел памяти.

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

Можно использовать лексему $R чтобы представлять имя модели, которая использует раздел памяти.

Когда вы задаете Statements Surround Each variable, можно использовать лексему $N чтобы представлять имя каждой переменной или функции, которая использует раздел памяти.

Спецификация для вставки операторов кода (Pre Statement и Post Statement):

  • Вокруг каждой переменной и функции, которая использует раздел памяти. Выберите Each variable.

  • Один раз, вокруг всего раздела памяти. Сгенерированный код агрегирует определения переменной и функции в смежный блок кода и окружает блок операторами. Выберите Group of variables.

Ограничения

  • Шаблон класса памяти или индивидуальной настройки функции, который вы создаете в словаре Embedded Coder, не может использовать раздел памяти, который вы загружаете из пакета (как описано в разделе «См. Определения генерации кода в пакете»). Используйте раздел памяти, заданный в словаре Embedded Coder.

  • Вы не можете создать определения генерации кода в .mdl файл модели.

  • Для дополнительных ограничений для определений генерации кода в словаре Embedded Coder словаря данных (.sldd файл), см. «Развертывание определений генерации кода».

Введенный в R2018a