Модель, на которую ссылаются, использует конфигурацию модели тот же способ, которым она была бы если модель, выполняемая независимо. По умолчанию каждая модель в иерархии имеет свою собственную конфигурацию модели. Когда вы открываете модель, на которую ссылаются, в контексте иерархии модели, получаете доступ к ее параметрам конфигурации путем нажатия на стрелу кнопки Model Settings, затем выбора Model Settings под Referenced Model.
Поскольку каждая модель может иметь свою собственную конфигурацию модели, значения параметра конфигурации могут отличаться в различных моделях. Кроме того, некоторые значения параметров внутренне несовместимы с моделями - ссылками. Simulink® ответ на противоречивый или неприменимый параметр конфигурации зависит от параметра:
Где несоответствие не имеет никакого значения, или тривиальное разрешение без риска существует, Simulink игнорирует или разрешает несоответствие, не отправляя предупреждение.
Где нетривиальное и возможно приемлемое решение существует, Simulink разрешает конфликт тихо, разрешает его с предупреждением или генерирует ошибку. Смотрите Диагностику, Которые Проигнорированы в Режиме Accelerator для деталей.
Где никакое приемлемое разрешение не возможно, Simulink генерирует ошибку. Измените некоторых или все значения параметров, чтобы устранить проблему.
Чтобы присвоить внешне сохраненную конфигурацию модели многоуровневым моделям, можно использовать ссылки настройки. Ссылки настройки помогают вам устранить несовместимости параметра конфигурации.
Можно распространить ссылку настройки топ-модели индивидууму модель, на которую ссылаются, или ко всем моделям, на которые ссылаются, в иерархии модели. Для примера смотрите Долю Настройка Через Модели, на которые Ссылаются.
Некоторые опции параметра конфигурации могут вызвать несовместимости в иерархиях модели. Где возможно, нарушения твердости Simulink этих требований автоматически, но большинство случаев требуют изменений в параметрах в некоторых или всех моделях.
Панель диалогового окна | Опция | Требование |
---|---|---|
Solver | Время начала | Скомпилированное время начала топ-модели и всех моделей, на которые ссылаются, должно быть тем же самым. Скомпилированное время начала является первым шагом симуляции после заданного времени начала. Шаги симуляции являются шагом самого быстрого дискретного уровня в модели, начинающейся с нуля. |
Время остановки | Simulink использует Время остановки топ-модели для симуляции, заменяя любое отличающееся Время остановки в модели, на которую ссылаются. | |
Ввод | Тип и Решатель топ-модели применяются в иерархии. Смотрите Настройки Решателя. | |
Решатель | ||
Data Import/Export | Initial state | Может быть выбран для топ-модели, но должен быть очищен для модели, на которую ссылаются. |
Math and Data Types | Application lifespan (days) | Для генерации кода установка должна быть тем же самым для родительских и моделей, на которые ссылаются. Для симуляции установка может отличаться для родительских и моделей, на которые ссылаются. |
Ссылка модели | Total number of instances allowed per top model | Не должен быть Zero в модели, на которую ссылаются. Определение One вместо Multiple предпочтительно или иногда необходим. Смотрите Количество Установки Экземпляров Модели. |
Code Generation> Optimization | Поведение параметра по умолчанию | Если родительской модели установили эту опцию на Inlined , затем модель, на которую ссылаются, не может быть установлена в Tunable . |
Ссылка модели работает и с фиксированным шагом и с решателями переменного шага. Все модели в иерархии модели используют тот же решатель, который всегда является решателем, заданным топ-моделью. Ошибка происходит, если тип решателя, заданный топ-моделью, несовместим с типом решателя, заданным какой-либо моделью, на которую ссылаются.
Тип решателя топ-модели | Тип решателя модели, на который ссылаются, | Совместимость |
---|---|---|
Fixed-step | Fixed-step | Позволенный |
Variable-step | Variable-step | Позволенный |
Variable-step | Fixed-step | Позволенный, если модель, на которую ссылаются, не является многоскоростной и задает и дискретный шаг расчета и время непрерывной выборки |
Fixed-step | Variable-step | Ошибка |
Если несовместимость существует между решателем топ-модели и каким-либо решателем модели, на который ссылаются, одна или обе модели должны изменить в использование совместимые решатели. Для получения информации о решателях смотрите, Сравнивают Критерии выбора Решателя и Решатели.
Модель, на которую ссылаются, должна указать, что это доступно, чтобы быть сосланным, и можно ли на это сослаться самое большее однажды или может иметь несколько экземпляров. Общее количество экземпляров, позволенных на параметр топ-модели, предоставляет эту спецификацию. Возможные значения для этого параметра:
Zero
— Модель не может сослаться на эту модель. Ошибка происходит, если ссылка на модель происходит в другой модели.
One
— Иерархия модели может сослаться на модель самое большее однажды. Ошибка происходит, если больше чем один экземпляр модели существует. Это значение иногда предпочтительно или необходимо.
Multiple
— Иерархия модели может сослаться на модель несколько раз, если это не содержит построений, которые устраняют несколько ссылок. Ошибка происходит, если на модель нельзя сослаться многократно, даже если только одна ссылка существует.
Определение Общего номера экземпляров, позволенных на топ-модель Multiple
для модели, на которую ссылаются только однажды, может уменьшать КПД выполнения немного. Однако эта установка не влияет на значения данных, которые следуют из симуляции или от выполнения кода, который генерирует Simulink Coder™. Определение Multiple
то, когда только один экземпляр модели существует, избегает необходимости изменять или восстанавливать модель при многократном использовании модели:
В той же иерархии
Многократно в различной иерархии
Некоторые свойства модели и построения требуют определяющего Общего номера экземпляров, позволенных на топ-модель One
. Для получения дополнительной информации смотрите Повторное использование модели.
Для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует значения этих настроек параметра конфигурации, если вы устанавливаете их на значение кроме None
:
Границы массивов превысили (ArrayBoundsChecking
)
Блок Inf или NaN выход (SignalInfNanChecking
)
Проверка диапазона симуляции (SignalRangeChecking
)
Деление сингулярной матрицей (CheckMatrixSingularityMsg
)
Перенеситесь на переполнении (IntegerOverflowMsg
)
Кроме того, для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует их Configuration Parameters> Diagnostics> Data Validity> параметры Data Store Memory block, если вы устанавливаете их на значение кроме Disable all
. Для получения дополнительной информации смотрите Диагностику Хранилища данных.
Обнаружьте чтение перед записью (ReadBeforeWriteMsg
)
Обнаружьте запись, после того, как считано (WriteAfterReadMsg
)
Обнаружьте запись после записи (WriteAfterWriteMsg
)
Во время симуляции модели - ссылки в режиме Accelerator Simulink временно устанавливает несколько Configuration Parameters> Diagnostics> установки параметров Data Validity к None
, если они установлены в Warning
или Error
. Можно использовать Model Advisor, чтобы проверять на параметры то изменение. Для получения дополнительной информации смотрите Диагностику, Которые Проигнорированы в Режиме Accelerator.
Можно использовать Model Advisor, чтобы идентифицировать модели, на которые ссылаются в режиме Accelerator, для которого Simulink игнорирует упомянутые выше параметры конфигурации.
На вкладке Modeling нажмите Model Advisor.
Выберите топ-модель, затем нажмите OK.
Выберите By Task> Model Referencing> Check diagnostic settings ignored during accelerated model reference simulation.
Нажмите кнопку Run This Check.
Чтобы видеть результаты выполнения идентифицированной диагностики с настройками, чтобы произвести предупреждения или ошибки, симулируйте модель в режиме normal mode. Смотрите диагностические предупреждения и затем симулируйте в режиме Accelerator.
Примечание
Параметры конфигурации на панели Code Generation диалогового окна Configuration Parameters не влияют на симуляцию или в нормальном или в режим Accelerator. параметры Code Generation влияют только на генерацию кода самим Simulink Coder. Симуляция режима Accelerator требует, чтобы генерация кода создала цель симуляции. Simulink использует значения по умолчанию для всех параметров Code Generation при генерации цели и восстанавливает исходные значения параметров после того, как генерация кода будет завершена.