Следующие ограничения Simulink® Coder™ применяются к образцовой ссылке. В дополнение к этим ограничениям должна удовлетворить иерархия модели - ссылки, используемая для генерации кода:
Требования Simulink, перечисленные в:
Ограничения Simulink перечислили в Требованиях Модели - ссылки и Ограничениях (Simulink).
Требования Simulink Coder, применимые к цели генерации кода, как перечислено в Требованиях Параметра конфигурации.
Генератор кода игнорирует настройки пользовательского кода в диалоговом окне Configuration Parameters и блоках пользовательского кода при генерации кода для модели, на которую ссылаются.
Замена типа данных не поддержана для целевой генерации кода симуляции моделей, на которые ссылаются.
Цели симуляции не включают целевой пользовательский код Stateflow®.
Если у вас есть лицензия Embedded Coder®, некоторые ограничения существуют на сгруппированных пользовательских классах памяти в моделях, на которые ссылаются. Для получения дополнительной информации смотрите Ограничения Класса памяти (Simulink Coder).
К блокам Рабочей области проигнорированы блоки Осциллографа и типы отображения во время выполнения, такие как отображение значений порта и значений сигналов, когда программное обеспечение Simulink Coder генерирует код для модели, на которую ссылаются. Получившийся код эквивалентен, если построения не существовали.
Код, сгенерированный для моделей, на которые ссылаются, не может данные логов к MAT-файлам. Если регистрация данных включена для модели, на которую ссылаются, программное обеспечение Simulink Coder отключает опцию перед генерацией кода и повторно включает ее впоследствии.
Если вы регистрируете состояния для модели, которая содержит модели, на которые ссылаются, упорядоченное расположение состояний в выводе определяется блоком отсортированный порядок и не может совпадать между симуляцией с выводом и журналированием MAT-файла сгенерированного кода вывод.
Когда топ-модель использует Data Import/Export> параметр Initial state в диалоговом окне Configuration Parameters, чтобы задать начальные условия, программное обеспечение Simulink Coder не инициализирует дискретные состояния моделей, на которые ссылаются, во время генерации кода.
Если модель, на которую ссылаются, используемая для генерации кода, имеет по крайней мере одну из следующих характеристик, модель должна задать параметр конфигурации Model Referencing> Total number of instances allowed per top model как One
. Другие экземпляры модели могут существовать в иерархии. Если вы не устанавливаете параметр на One
, или больше чем один экземпляр модели существует в иерархии, ошибка происходит. Характеристики:
Модели - ссылки другая модель, которая была установлена в один экземпляр.
Модель содержит внутренний сигнал или состояние с классом памяти, который не поддержан для моделей мультиэкземпляра. Внутренним сигналам и состояниям нужно было установить класс памяти на Auto
или Model default
. Класс памяти по умолчанию для внутренних данных должен быть классом памяти мультиэкземпляра.
Модель использует по крайней мере одно из этих построений Stateflow:
Порожденные машиной данные
Порожденные машиной события
Графические функции Stateflow
Модель содержит подсистему, которая отмечена как функция
Модель содержит S-функцию, которая является:
Встроенный, но не установил опцию SS_OPTION_WORKS_WITH_CODE_REUSE
Не встроенный
Модель содержит подсистему вызова функций что:
Механизм Simulink обеспечивает, чтобы быть функцией
Вызван широким сигналом
Для получения дополнительной информации о Total number of instances allowed per top model, смотрите Общее количество экземпляров, позволенных на топ-модель (Simulink).
Если модель, на которую ссылаются, содержит S-функцию, которая должна быть встроена с помощью файла Компилятора Выходного языка, S-функция должна использовать макрос ssSetOptions
, чтобы установить опцию SS_OPTION_USE_TLC_WITH_ACCELERATOR
в ее методе mdlInitializeSizes
. Цель симуляции не встроит S-функцию, если этот флаг не будет установлен.
Модель, на которую ссылаются, не может использовать невстроенные S-функции, сгенерированные программным обеспечением Simulink Coder.
Цель S-функции Simulink Coder не делает ссылки модели поддержки.
Для получения дополнительной информации смотрите S-функции в Моделях, на которые Ссылаются (Simulink).
Инструменты Simulink, которые требуют, чтобы доступ смоделировал внутренние данные или настройку (включая Инструмент model coverage, продукт Simulink Report Generator™, отладчик Simulink и профилировщик Simulink) не имеют никакого эффекта на код, сгенерированный программным обеспечением Simulink Coder для модели, на которую ссылаются, или на подписании того кода. Сделанные спецификации и меры, принятые такими инструментами, проигнорированы и эффективно не существуют.
Если подсистема содержит блоки Model, вы не можете создать модуль подсистемы путем щелчка правой кнопкой по подсистеме (или при помощи Code > C/C++ Code > Build Selected Subsystem), если модель не сконфигурирована, чтобы использовать цель ERT.
Если вы генерируете код для атомарной подсистемы как допускающая повторное использование функция, вводы или выводы, которые соединяют подсистему с силой модели, на которую ссылаются, предотвращают повторное использование кода, как описано в Генерируют Повторно используемый Код от Подсистем (Simulink Coder).
Цель S-функции Simulink Coder не делает ссылки модели поддержки.
Ошибки или неожиданное поведение могут произойти, если блок Model является частью цикла, блок Model является прямым проходным блоком, и заканчивается алгебраический цикл. Для получения дополнительной информации смотрите Алгебраические Концепции Цикла (Simulink).
Опция Режима external mode не поддержана. Если это включено, это проигнорировано во время генерации кода.
Когда модель содержит триггер, или включите порт, вы не можете сгенерировать автономный код Simulink Coder или код PIL.
Во время модели, ссылающейся на симуляцию в акселераторе и быстром режиме Accelerator, Simulink временно устанавливает несколько Configuration Parameters> Diagnostics> установки параметров Data Validity к None
, если они установлены в Warning
или Error
. Можно использовать Model Advisor, чтобы проверять на параметры то изменение. Для получения дополнительной информации смотрите Ускоренную Симуляцию, и Генерация кода Изменяет Настройки (Simulink).
Если Configuration Parameters> Code Generation> параметры Symbols содержат информацию идентификатора об имени модели, на которую ссылаются, и не используют лексему $R
, генерация кода предварительно ожидает лексему $R
к имени модели. Можно использовать Model Advisor, чтобы проверять на измененные названия модели. Смотрите Параметры конфигурации, Измененные Во время Генерации кода (Simulink Coder).