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