exponenta event banner

Установка параметров конфигурации для генерации кода иерархий модели

Ссылочная иерархия модели должна удовлетворять различным требованиям Simulink ® Coder™, как описано в этом разделе. Модель, ссылающаяся на иерархию, которая должна обрабатываться программным обеспечением Simulink Coder, также должна удовлетворять следующим требованиям:

Требования к параметру конфигурации

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

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

  • Если несогласованность параметров не имеет значения, генератор кода игнорирует или устраняет несогласованность без отправки предупреждения.

  • Если существует нетривиальное и, возможно, приемлемое решение для противоречивого параметра, генератор кода решает конфликт молча; разрешает его предупреждением; или создает ошибку.

  • Если приемлемое разрешение невозможно, генератор кода выдает ошибку. Для устранения проблемы необходимо изменить значения параметров.

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

Чтобы выбрать цель создания кода для иерархии ссылок на модели без изменения отдельных моделей, используйте ссылку на конфигурацию в словаре данных Simulink. Дополнительные сведения см. в разделе Использование ссылки на конфигурацию для выбора целевого объекта генерации кода (встроенного кодера).

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

Требования к конфигурации для ссылок на модели с целевыми файлами системы

Панель диалогового окнаВыборТребование
Решающее устройствоВремя началаДля некоторых системных целевых файлов время начала моделей должно быть равно нулю.

Внедрение аппаратных средств

Все опции

Значения должны быть одинаковыми для верхней и ссылочной моделей.

Создание кода

Системный целевой файл

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

ЯзыкДолжно быть одинаковым для моделей верхнего уровня и ссылочных моделей.
Создать только код

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Идентификаторы

Максимальная длина идентификатора

Не может быть длиннее для ссылочной модели, чем для родительской.

Интерфейс

Библиотека замены кода

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Создание C API для параметров

Выбранные флажки C API должны быть одинаковыми для верхних и ссылочных моделей.

ASAP2 интерфейс

Может быть on или off в топ-модели, но должно быть off в ссылочной модели. Если это не так off, генератор кода временно устанавливает его в off при формировании кода.

Требования к конфигурации для ссылок на модели с целевыми файлами системы ERT (требуется встроенный кодер)

Панель диалогового окнаВыборТребование

Идентификаторы

Глобальные переменные
Глобальные типы
Методы подсистем
Локальные временные переменные
Постоянные макросы
$R необходимо включить маркер.

Именование сигналов

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

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

Именование параметров

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

# Определение имен

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Интерфейс

Игнорировать пользовательские классы хранения

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Поддержка чисел с плавающей запятой

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Поддержка неграничных чисел

Если off для верхней модели, должно быть off для ссылочных моделей.

Поддержка комплексных номеров

Если off для верхней модели, должно быть off для ссылочных моделей.

Удалить поле состояния ошибки в структуре данных модели в реальном времени

Если on для верхней модели, должно быть on для ссылочных моделей.

Размещение кода

Использовать владельца из объекта данных для размещения определения данных

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Уровень отображения сигнала

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Уровень настройки параметров

Должно быть одинаковым для моделей верхнего уровня и ссылочных моделей.

Параметры конфигурации, измененные при создании кода

Для ссылочных моделей, если эти параметры Конфигурация (Configuration Parameters) > Создание кода (Code Generation) > Идентификаторы (Identifiers) имеют настройки, не содержащие $R token (который представляет имя ссылочной модели), создание кода предшествует $R маркер к формату идентификатора:

  • Глобальные переменные (CustomSymbolStrGlobalVar)

  • Глобальные типы (CustomSymbolStrType)

  • Методы подсистемы (CustomSymbolStrFcn)

  • Постоянные макросы (CustomSymbolStrMacro)

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

  1. В редакторе Simulink на вкладке Моделирование (Modeling) выберите Помощник по модели (Model Advisor).

  2. Выбрать по задаче.

  3. Запустите форматы идентификаторов генерации кода Check, используемые для проверки ссылок на модель.

Если сценарий, который работает с сгенерированным кодом, использует форматы идентификаторов, которые изменяются, то обновите сценарий, чтобы использовать обновленный формат идентификаторов (который включает добавленный $R токен).

Дополнительные сведения об идентификаторах см. в разделе Управление форматом идентификаторов (встроенный кодер).

Требования к именованию

В модели, использующей ссылку на модель, имена составляющих моделей не могут конфликтовать. При создании кода из модели, использующей ссылки на модель, параметр Максимальная длина идентификатора (Maximum identifier length) должен быть достаточно большим, чтобы соответствовать имени корневой модели и тексту, управляющему именем. Ошибка создания кода возникает, если максимальная длина идентификатора недостаточно велика.

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

Требования к именованию встроенных кодеров

Продукт Embedded Coder ® позволяет гораздо более подробно управлять форматированием созданных символов. При создании кода с целью ERT из модели, использующей ссылку на модель:

  • $R токен (в дополнение к $M token) должен быть включен в спецификации параметров управления форматом идентификатора, за исключением формата идентификатора общих утилит.

  • Максимальная длина идентификатора должна быть достаточно большой, чтобы обеспечить полное расширение $R и $M токены.

Дополнительные сведения см. в разделе Параметры конфигурации модели: идентификаторы генерации кода.

Настраиваемые целевые требования

При использовании встроенного кодера настраиваемый целевой объект должен соответствовать различным требованиям для поддержки ссылок на модели. Дополнительные сведения см. в разделе Ссылка на модель поддержки.

Прочие соображения

Минимизируйте вхождения алгебраических циклов, выбрав параметр Минимизировать вхождения алгебраических циклов на панели Привязка модели (Model Referencing). Настройка этой опции влияет только на создание кода из модели. Дополнительные сведения о прямой подаче см. в разделе Алгебраические концепции цикла.

Используйте параметр режима округления Integer в блоках модели, чтобы смоделировать поведение округления компилятора C, который будет использоваться для компиляции кода, созданного из модели. Эта настройка появляется на стекле Признаков Сигнала диалоговых окон параметра блоков, которые могут выполнить подписанную целочисленную арифметику, такую как продукт и n-D блоки Справочной таблицы.

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

Связанные темы