exponenta event banner

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

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

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

Ограничения класса хранения

При использовании 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 не поддерживает ссылку на модель.

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

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

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

Ограничение целей

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

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

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

Связанные темы