Избегайте столкновений имени идентификатора с моделями, на которые ссылаются,

В модели, которая использует модели, на которые ссылаются, не позволены столкновения между именами моделей. При генерации кода из модели, которая использует образцовую ссылку:

  • Необходимо включать лексему $R в спецификации параметра Identifier format control (в дополнение к лексеме $M).

  • Maximum identifier length должен быть достаточно большим, чтобы разместить полные расширения лексем $M и $R. Если Maximum identifier length является слишком маленьким, ошибка генерации кода происходит.

Когда конфликт по совпадению имен происходит между идентификатором в рамках высокоуровневой модели и идентификатором в рамках модели, на которую ссылаются, идентификатор из модели, на которую ссылаются, сохраняется. Искажение имени выполняется на идентификаторе из высокоуровневой модели.

Если ваша модель содержит две модели, на которые ссылаются, с теми же именами порта ввода или вывода, и одна из моделей, на которые ссылаются, содержит атомарную подсистему с Функцией, упаковочной (Simulink) набор к Nonreuseable function, конфликт по совпадению имен может произойти, и процесс сборки производит ошибку.

Используйте Model Advisor, чтобы обнаружить названия идентификатора, измененные во время генерации кода

Для модели, на которую ссылаются, если следующий Configuration Parameters> Code Generation> параметры Symbols имеют настройки, которые не содержат лексему $R (который представляет имя эталонной модели), генерация кода предварительно ожидает лексему $R к формату идентификатора.

  • Global variables

  • Global types

  • Subsystem methods

  • Constant macros

Можно использовать Model Advisor, чтобы идентифицировать модели, на которые ссылаются, в модели, ссылающейся на иерархию, для которой генерация кода изменяет эти настройки параметра конфигурации.

  1. В Редакторе Simulink® выберите Analysis> Model Advisor.

  2. Выберите By Task.

  3. Осуществите проверку Check code generation identifier formats used for model reference.