Симуляция модели, которая использует модель - ссылку, отличается до некоторой степени от симуляции автономной модели, которая не использует модель - ссылку.
Существуют некоторые ограничения для иерархий имитационной модели. Для получения дополнительной информации смотрите Требования Симуляции и Ограничения и Требования Сигнала и Ограничения.
Топ-модель в иерархии модели выполняет тот же способ, которым выполняются модели без моделей - ссылок. Топ-модель поддерживает все режимы симуляции Simulink®. Чтобы ускорить выполнение топ-модели в иерархии модели, можно использовать акселератор Simulink или быстрый режим Accelerator. Для получения информации о режиме Accelerator смотрите Ускорение. Для получения информации о быстром режиме Accelerator смотрите, Ускоряют, Совершенствовали, и Тестовая Гибридная Динамическая система на Хосте - компьютере при помощи Системного Конечного файла RSim (Simulink Coder).
Когда вы выполняете топ-модель в акселераторе или быстром режиме Accelerator, все модели, на которые ссылаются, выполняются в режиме Accelerator.
Можно моделировать модель, на которую ссылаются, в одном из этих режимов:
Нормальный
Акселератор
Программное обеспечение в цикле (SIL)
Процессор в цикле (PIL)
Для получения дополнительной информации об использовании этих режимов симуляции для моделей, на которые ссылаются смотрите Сравнение Режимов Симуляции для Моделей, на которые Ссылаются.
Режимы симуляции, используемые для моделей, на которые ссылаются, зависят от режима симуляции родительской модели. Для получения дополнительной информации смотрите Родительские и Режимы Симуляции модели, на которые Ссылаются.
Блок Model для каждого экземпляра модели, на которую ссылаются, управляет режимом симуляции экземпляра. Установить или изменить режим симуляции для модели, на которую ссылаются:
Доступ к диалоговому окну параметров блоков для блока Model.
Установите параметр режима Simulation.
Нажмите OK или Apply.
Можно использовать быстрый режим Accelerator для топ-модели в иерархии модели, но не для блоков Model. Можно установить модели, на которые ссылаются, на быстрый режим Accelerator, но режим симуляции топ-модели, блока родительской модели, или сослался на образцовые переопределения блока Model режим симуляции модели, на который ссылаются.
Различные режимы симуляции для моделей, на которые ссылаются, совместно используют много возможностей и методов, но у них есть различные реализации, требования и ограничения.
Выполнение режима Accelerator модели, на которую ссылаются, отличается от:
Выполнение режима Accelerator автономной или топ-модели, как описано на Ускорении.
Быстрое выполнение Режима Accelerator автономной или топ-модели, как описано в Ускоряют, Совершенствовали, и Тестовая Гибридная Динамическая система на Хосте - компьютере при помощи Системного Конечного файла RSim (Simulink Coder).
Для получения дополнительной информации о выполнении Режима Accelerator модели, на которую ссылаются, смотрите Цели Симуляции Модели - ссылки.
Режим симуляции | Описание | Когда использовать |
---|---|---|
Нормальный | Выполняет модель, на которую ссылаются, путем интерпретации. | По сравнению с другими режимами симуляции, режимом normal mode:
Когда вы моделируете несколько экземпляров модели, на которую ссылаются, в режиме normal mode, результатах отображений программного обеспечения Simulink для только одного из экземпляров режима normal mode. Для получения дополнительной информации смотрите, Моделируют Несколько Образцовых Экземпляров, на которые Ссылаются, в Режиме normal mode. |
Акселератор | Выполняет модель, на которую ссылаются, путем создания файла MEX (цель симуляции) для модели, на которую ссылаются, затем выполнения файла MEX. Для получения дополнительной информации смотрите Цели Симуляции Модели - ссылки. |
|
СИЛ | Выполняет модель, на которую ссылаются, путем генерации производственного кода. Этот код скомпилирован для и выполнен на, серверная платформа. Программное обеспечение Requires Embedded Coder®. Для получения дополнительной информации см. SIL и Ограничения PIL (Embedded Coder) и Числовая Эквивалентность, Тестирующая (Embedded Coder). |
Режим SIL обеспечивает удобную альтернативу PIL симуляции, когда целевой компьютер не доступен. |
PIL | Выполняет модель, на которую ссылаются, путем генерации производственного кода. Этот код кросс-скомпилирован для и выполнен на, целевой процессор или эквивалентный симулятор процессора. Программное обеспечение Requires Embedded Coder. Для получения дополнительной информации см. SIL и Ограничения PIL (Embedded Coder) и Числовая Эквивалентность, Тестирующая (Embedded Coder). |
|
Результаты симуляции для данной модели почти идентичны в нормальном и режимах Accelerator. Тривиальные различия могут произойти, в зависимости от различий в оптимизации и библиотеках, которыми вы пользуетесь.
Требования установки параметра конфигурации и поведение могут отличаться в зависимости от режима симуляции. Для получения дополнительной информации смотрите Ускоренную Симуляцию, и Генерация кода Изменяет Настройки и Диагностику, Которые Проигнорированы в Режиме Accelerator.
Диагностические Параметры конфигурации, Проигнорированные в Режиме Accelerator. Для моделей, на которые ссылаются в режиме 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 игнорирует эти параметры конфигурации, когда вы устанавливаете их на значение кроме 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.
Режимы симуляции, которые можно использовать для модели, на которую ссылаются, зависят от режима симуляции ее родительской модели.
Режим симуляции родительской модели | Режимы симуляции модели, на которые ссылаются, |
---|---|
Нормальный |
|
Акселератор |
|
СИЛ |
|
PIL |
|
Можно запустить автономную симуляцию условного выражения модель, на которую ссылаются. Автономная симуляция полезна для модульного тестирования, потому что это обеспечивает сопоставимые данные через симуляции с точки зрения типа данных, размерности и шага расчета. Используйте нормальный, акселератор или быстрый режим Accelerator, чтобы моделировать условную модель.
Инициированные, активированные, и инициированные и включенные модели требуют, чтобы внешний вход управлял Триггером или Включил блоки. В панели Signal Attributes диалогового окна блока Trigger или Enable задайте значения для типа данных сигнала, размерности и шага расчета.
Чтобы запустить автономную симуляцию, задайте входные параметры с помощью параметра Input. Для получения дополнительной информации о том, как задать вход, смотрите Сравнение Методов Загрузки Сигнала. Следующие условия применяются, когда вы используете Входной параметр для триггера и включаете входные параметры блока:
Используйте последний ввод данных для триггера или включите вход. Для инициированной и активированной модели используйте последний ввод данных для триггерного входа.
Если вы не обеспечиваете входных значений, нуль использования симуляции как значения по умолчанию.
Вы можете данные логов, чтобы определить, какой сигнал заставил модель запускаться. Для блока Trigger или Enable, в панели Main диалогового окна Block Parameters, выбирают Show output port.
Когда вы моделируете модель вызова функции, она моделирует как будто вызов функции на самом быстром уровне для системных дисков блок вызова функции. Можно также сконфигурировать модель, чтобы вычислить вывод в конкретные моменты времени с помощью решателя переменного шага (см. Выборки, чтобы Экспортировать для Решателей Переменного Шага).
В модели, на которую ссылаются можно регистрировать любой сигнал, сконфигурированный для журналирования сигнала. Используйте Селектор Журналирования Сигнала, чтобы выбрать подмножество или все сигналы, сконфигурированные для сигнала, входящего в систему иерархия модели. Для получения дополнительной информации см. Модели с Образцовой Ссылкой: Переопределение Журналирования Сигнала Настроек.
Можно использовать Инспектора Данных моделирования, чтобы просмотреть и анализировать зарегистрированные модели сигналов, на которые ссылаются. Можно просмотреть сигналы на нескольких графиках, изменении масштаба, и использовать Data Cursor, чтобы понять и оценить данные. Кроме того, можно сравнить данные сигнала от нескольких симуляций. Для примера просмотра сигналов с моделями, на которые ссылаются смотрите Сигналы Просмотра в Экземплярах Модели - ссылки.
Можно включить или подавить предупреждающие сообщения о несоответствиях между блоком Model и его моделью, на которую ссылаются, путем установки диагностики на Diagnostics Pane: Model Referencing.
Работая с Отладчиком Simulink в родительской модели, можно установить точки останова на контурах блока Model. Установка точек останова позволяет вам смотреть на значения ввода и вывода блока Model. Однако вы не можете установить точку останова в модели что ссылки блока Model. Смотрите Отладчик Simulink для получения дополнительной информации.
В двух случаях Simulink не распространяет информацию об индексации на основе 1 или на основе 0 к образцовым портам корневого уровня, на которые ссылаются, соединенным с блоками что:
Примите индексы (такие как блок Assignment)
Произведите индексы (такие как блок For Iterator)
Примером блока, который принимает индексы, является блок Assignment. Примером блока, который производит индексы, является блок For Iterator.
Эти два случая приводят к отсутствию распространения, которое может заставить Simulink не удаваться обнаружить несовместимые индексные связи. Эти два случая:
Если входной порт корневого уровня модели, на которую ссылаются, соединяется с индексными входными параметрами в модели, которые имеют различные настройки индексации на основе 1 или на основе 0, Simulink не устанавливает свойство индексации на основе 1 или на основе 0 блока Inport корневого уровня.
Если выходной порт корневого уровня модели, на которую ссылаются, соединяется, чтобы индексировать выходные параметры в модели, которые имеют различные настройки индексации на основе 1 или на основе 0, Simulink не устанавливает свойство индексации на основе 1 или на основе 0 блока Outport корневого уровня.