Модель, на которую ссылаются, использует конфигурацию модели таким же образом, которую делает любая другая модель, как описано в Управляют Конфигурацией модели. По умолчанию каждая модель в иерархии имеет свою собственную конфигурацию модели. Каждая модель использует свою конфигурацию модели тот же способ, которым она была бы если модель, выполняемая независимо.
Поскольку каждая модель может иметь свою собственную конфигурацию модели, значения параметра конфигурации могут отличаться в различных моделях. Кроме того, некоторые значения параметров внутренне несовместимы с образцовой ссылкой. Ответ Simulink® на противоречивый или неприменимый параметр конфигурации зависит от параметра:
Где несоответствие не имеет никакого значения, или тривиальное разрешение без риска существует, Simulink игнорирует или разрешает несоответствие, не отправляя предупреждение.
Где нетривиальное и возможно приемлемое решение существует, Simulink разрешает конфликт тихо, разрешает его с предупреждением или генерирует ошибку. Смотрите Диагностику, Которые Проигнорированы в Режиме Accelerator для деталей.
Где никакое приемлемое разрешение не возможно, Simulink генерирует ошибку. Измените некоторых или все значения параметров, чтобы устранить проблему.
Вручную устранение всех несовместимостей параметра конфигурации может быть утомительным когда:
Иерархия модели содержит много моделей, на которые ссылаются, которые имеют несовместимые значения параметров
Измененное значение параметров должно распространить ко многим моделям, на которые ссылаются,
Можно управлять или устранить такие издержки при помощи ссылок настройки, чтобы присвоить внешне сохраненную конфигурацию модели многоуровневым моделям. Смотрите Управляют Ссылкой Настройки для деталей.
Некоторые опции параметра конфигурации могут вызвать проблемы, если установлено:
Определенными способами, как обозначено в таблицах
По-другому в модели, на которую ссылаются, чем в родительской модели
Где возможно, нарушения твердости Simulink этих требований автоматически, но большинство случаев требуют изменений в параметрах в некоторых или всех моделях.
Панель диалогового окна | Опция | Требование |
---|---|---|
Решатель | Время начала | Время начала топ-модели и всех моделей, на которые ссылаются, должно быть тем же самым, но не должно быть нулем. |
Время остановки | Simulink использует Время остановки топ-модели для симуляции, заменяя любое отличающееся Время остановки в модели, на которую ссылаются. | |
Ввод Решатель | Тип и Решатель топ-модели применяются в иерархии. Смотрите Настройки Решателя. | |
Data Import/Export | Initial state | Может быть on для топ-модели, но должен быть off для модели, на которую ссылаются. |
Math and Data Types | Поведение параметра по умолчанию | Если родительской модели установили эту опцию на Inlined , то модель, на которую ссылаются, не может быть установлена в Tunable . |
Application lifespan (days) | Для генерации кода, должно быть то же самое для родительских и моделей, на которые ссылаются. Для симуляции установка может отличаться для родительских и моделей, на которые ссылаются. | |
Образцовая ссылка | Total number of instances allowed per top model | Не должен быть Zero в модели, на которую ссылаются. Определение One , а не Multiple предпочтительно или иногда необходимо. Смотрите Количество Образцовой Установки Экземпляров. |
Образцовая ссылка работает и с фиксированным шагом и с решателями переменного шага. Все модели в иерархии модели используют тот же решатель, который всегда является решателем, заданным топ-моделью. Ошибка происходит, если тип решателя, заданный топ-моделью, несовместим с типом решателя, заданным какой-либо моделью, на которую ссылаются.
Тип решателя топ-модели | Образцовый тип решателя, на который ссылаются, | Совместимость |
---|---|---|
Фиксированный шаг | Фиксированный шаг | Позволенный |
Переменный шаг | Переменный шаг | Позволенный |
Переменный шаг | Фиксированный шаг | Позволенный, если модель, на которую ссылаются, не является многоскоростной и задает и дискретный шаг расчета и время непрерывной выборки |
Фиксированный шаг | Переменный шаг | Ошибка |
Если несовместимость существует между решателем топ-модели и каким-либо образцовым решателем, на который ссылаются, одна или обе модели должны изменить на использование совместимые решатели. Для получения информации о решателях смотрите Типы Решателя и Решатели.
Модель, на которую ссылаются, должна указать, что это доступно, чтобы быть сосланным, и можно ли на это сослаться самое большее однажды или может иметь несколько экземпляров. Параметр Total number of instances allowed per top model обеспечивает эту спецификацию. Возможные значения для этого параметра:
Zero
— Модель не может сослаться на эту модель. Ошибка происходит, если ссылка на модель происходит в другой модели.
One
— Иерархия модели может сослаться на модель самое большее однажды. Ошибка происходит, если больше чем один экземпляр модели существует. Это значение иногда предпочтительно или необходимо.
Multiple
— Иерархия модели может сослаться на модель несколько раз, если это не содержит построений, которые устраняют несколько ссылок. Ошибка происходит, если модель не может быть, умножаются ссылаемый, даже если только одна ссылка существует.
Установка Total number of instances allowed per top model к Multiple
для модели, на которую ссылаются только однажды, может уменьшать эффективность выполнения немного. Однако эта установка не влияет на значения данных, которые следуют из симуляции или от выполнения кода, который генерирует Simulink Coder™. Определение Multiple
, когда только один образцовый экземпляр существует, избегает необходимости изменять или восстанавливать модель при многократном использовании модели:
В той же иерархии
Многократно в различной иерархии
Некоторые образцовые свойства и построения требуют установки Total number of instances allowed per top model к One
. Для получения дополнительной информации смотрите Повторное использование модели.
Для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует значения этих настроек параметра конфигурации, если вы устанавливаете их на значение кроме None
:
Array bounds exceeded (ArrayBoundsChecking
)
Inf or NaN block output (SignalInfNanChecking
)
Simulation range checking (SignalRangeChecking
)
Division by singular matrix (CheckMatrixSingularityMsg
)
Wrap on overflow (IntegerOverflowMsg
)
Кроме того, для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует их Configuration Parameters> Diagnostics> Data Validity> параметры Data Store Memory block, если вы устанавливаете их на значение кроме Disable all
. Для получения дополнительной информации смотрите Диагностику Хранилища данных.
Detect read before write (ReadBeforeWriteMsg
)
Detect write after read (WriteAfterReadMsg
)
Detect write after write (WriteAfterWriteMsg
)
Можно использовать Model Advisor, чтобы идентифицировать модели, на которые ссылаются в режиме Accelerator, для которого Simulink игнорирует упомянутые выше параметры конфигурации.
В Редакторе Simulink выберите Analysis> Model Advisor.
Выберите By Task.
Осуществите проверку Check diagnostic settings ignored during accelerated model reference simulation.
Чтобы видеть результаты выполнения идентифицированной диагностики с настройками, чтобы произвести предупреждения или ошибки, моделируйте модель в режиме normal mode. Осмотрите диагностические предупреждения и затем моделируйте в режиме Accelerator.
Параметры конфигурации на панели Code Generation диалогового окна Configuration Parameters не влияют на симуляцию или в нормальном или в режим Accelerator. параметры Code Generation влияют только на генерацию кода самим Simulink Coder. Ускоренная симуляция режима требует, чтобы генерация кода создала цель симуляции. Simulink использует значения по умолчанию для всех параметров Code Generation при генерации цели и восстанавливает исходные значения параметров после того, как генерация кода будет завершена.
Во время модели, ссылающейся на симуляцию в акселераторе и быстром режиме Accelerator, Simulink временно устанавливает несколько Configuration Parameters> Diagnostics> установки параметров Data Validity к None
, если они установлены в Warning
или Error
. Можно использовать Model Advisor, чтобы проверять на параметры то изменение. Для получения дополнительной информации смотрите Диагностические Параметры конфигурации, Проигнорированные в Режиме Accelerator.
Если Configuration Parameters> Code Generation> параметры Symbols содержат информацию идентификатора об имени модели, на которую ссылаются, и не используют лексему $R
, генерация кода предварительно ожидает лексему $R
к имени модели. Можно использовать Model Advisor, чтобы проверять на измененные названия модели. См., что Модель Simulink Coder Ссылается на Требования (Simulink Coder).