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