Ограничения генерации кода для моделей - ссылок влияют, как вы правильно настраиваете иерархию модели - ссылки для генерации кода.
В дополнение к этим ограничениям должна удовлетворить иерархия модели - ссылки, используемая для генерации кода:
Требования Simulink® и ограничения, перечисленные в:
Требования Simulink Coder™, применимые к цели генерации кода, как перечислено в Требованиях Параметра конфигурации.
Если у вас есть 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-функции, сгенерированные Simulink Coder.
Цель S-функции Simulink Coder не делает ссылки модели поддержки.
Для получения дополнительной информации смотрите S-функции в Моделях, на которые Ссылаются.
Если вы генерируете код для атомарной подсистемы как допускающая повторное использование функция, вводы или выводы, которые соединяют подсистему с силой модели, на которую ссылаются, предотвращают повторное использование кода, как описано в Генерируют Повторно используемый Код от Подсистем.
Цель S-функции Simulink Coder не делает ссылки модели поддержки.
Когда модель содержит триггер, или включите порт, вы не можете сгенерировать автономный код Simulink Coder.