Модель Simulink Coder ссылка на требования

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

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

Модель, на которую ссылаются, использует конфигурацию модели таким же образом, топ-модель делает, как описано в Управляют Конфигурацией модели (Simulink). По умолчанию каждая модель в иерархии имеет свою собственную конфигурацию модели, которую она использует таким же образом, что она была бы если модель, выполняемая независимо.

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

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

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

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

Когда иерархия модели - ссылки содержит много моделей, на которые ссылаются, которые имеют несовместимые значения параметров, или измененное значение параметров должно распространить ко многим моделям, на которые ссылаются, вручную устранение несовместимостей параметра конфигурации может быть утомительным. Можно управлять или устранить такие издержки при помощи ссылок настройки, чтобы присвоить внешне сохраненную конфигурацию модели многоуровневым моделям. Смотрите Управляют Ссылкой Настройки (Simulink) для деталей.

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

Требования по настройке для ссылки модели со всеми системными конечными файлами

Панель диалогового окнаОпцияТребование
SolverStart timeНекоторые системные конечные файлы требуют, чтобы время начала моделей было нулем.

Hardware Implementation

Все опции

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

Code Generation

System target file

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

LanguageДолжно быть то же самое для главных и моделей, на которые ссылаются.
Generate code only

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

Symbols

Maximum identifier length

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

Interface

Code replacement library

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

C опции API

Флажки C API должны быть тем же самым для главных и моделей, на которые ссылаются.

ASAP2 interface

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

Требования по настройке для ссылки модели с системными конечными файлами ERT (требует лицензии Embedded Coder),

Панель диалогового окнаОпцияТребование

Comments> Advanced parameters

Ignore custom storage classes

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

Symbols

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

Signal naming

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

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

Parameter naming

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

#define naming

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

Interface

Support floating-point numbers

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

Support non-finite numbers

Если off для топ-модели, должен быть off для моделей, на которые ссылаются.

Support complex numbers

Если off для топ-модели, должен быть off для моделей, на которые ссылаются.

Suppress error status in real-time model

Если on для топ-модели, должен быть on для моделей, на которые ссылаются.

Code Placement

Use owner from data object for data definition placement

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

Signal display level

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

Parameter tune level

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

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

Для моделей, на которые ссылаются, если они Configuration Parameters> Code Generation> параметры Symbols имеют настройки, которые не содержат лексему $R (который представляет имя эталонной модели), генерация кода предварительно ожидает лексему $R к формату идентификатора:

  • Global variables (CustomSymbolStrGlobalVar)

  • Global types (CustomSymbolStrType)

  • Subsystem methods (CustomSymbolStrFcn)

  • Constant macros (CustomSymbolStrMacro)

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

  1. В Редакторе Simulink выберите Analysis> Model Advisor.

  2. Выберите By Task.

  3. Осуществите проверку Check code generation identifier formats used for model reference.

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

Для получения дополнительной информации об идентификаторах, смотрите Управление форматом Идентификатора (Embedded Coder).

Именование требований

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

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

Требования именования Embedded Coder

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

  • Лексема $R должна быть включена в спецификации параметра управления форматом Идентификатора (в дополнение к лексеме $M) за исключением Shared utilities identifier format.

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

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

Пользовательские целевые требования

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