Ограничения генерации кода для Модели-ссылки

Ограничения генерации кода для моделей-ссылок влияют на правильность настройки иерархии модели-ссылки для генерации кода.

В сложение к этим ограничениям иерархия модели-ссылки, используемая для генерации кода, должна удовлетворять:

Ограничения по классам памяти

Если у вас есть Embedded Coder®некоторые ограничения существуют в сгруппированных классах памяти в ссылочных моделях. Для получения дополнительной информации смотрите Ограничения по классам памяти.

Ограничения на логгирование данных

  • To Workspace блоки и блоки Scope игнорируются, когда Simulink Coder генерирует код для ссылочной модели. Получившийся код такой же, как если бы блоков не существовало. В некоторых случаях для моделей с Scope блоком и включённым логгированием MAT-файлов генератор кода производит дополнительный PWork в структуре DWork модели.

  • «Код, сгенерированный для ссылок на модели, не может записывать данные в MAT-файлы». Если вы включите ведение журнала данных для ссылочной модели, Simulink Coder отключает эту опцию перед генерацией кода и повторно включает ее после.

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

Ограничения инициализации состояния

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

Повторные использования модели

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

  • Это модели-ссылки другую модель, которая была установлена на один образец.

  • Модель содержит внутренний сигнал или состояние, которое имеет класс памяти, который не поддерживается для моделей с мультиобразцами. Необходимо задать класс памяти равным Auto или Model default для внутренних сигналов и состояний. По умолчанию классы памяти для внутренних данных должны быть мультиобразцом класса памяти.

  • Модель использует по крайней мере один из этих Stateflow® конструкции:

    • Машинно-родительские данные

    • Машинно-родительские события

    • Экспортированные графические функции Stateflow

  • Модель содержит S-функцию, которая является:

    • Inlined, но вы не установили опцию SS_OPTION_WORKS_WITH_CODE_REUSE

    • Не встроен

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

    • Движок Simulink заставляет быть функцией

    • Вызывается широким сигналом

Ограничения S-функций

  • Ссылочная модель не может использовать неинлинфицированные S-функции, сгенерированные Simulink Coder.

  • Цель S-функции Simulink Coder не поддерживает ссылки на модели.

Для получения дополнительной информации смотрите S-Функции в Ссылочных Моделях.

Ограничения подсистем

Если вы генерируете код для атомарной подсистемы как переиспользуемой функции, входы или выходы, которые соединяют подсистему с ссылочной моделью, могут предотвратить повторное использование кода, как описано в Generate Reentrant Code from Subsystems.

Ограничение по целям

Цель S-функции Simulink Coder не поддерживает ссылки на модели.

Ограничение условных моделей

Когда модель содержит триггер или порт включения, вы не можете сгенерировать автономный код Simulink Coder.

Похожие темы