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

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

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

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

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

Ограничения регистрации данных

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

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

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

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

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

Ограничения повторного использования модели

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

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

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

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

    • Порожденные машиной данные

    • Порожденные машиной события

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

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

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

    • Не встроенный

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

    • Механизм Simulink обеспечивает, чтобы быть функцией

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

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

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

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

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

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

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

Целевое ограничение

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

Условное ограничение моделей

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

Похожие темы