Восстановить

Описание

Выберите метод, чтобы определить, когда перестроить симуляцию и Simulink® Coder™ цели для моделей-ссылок перед обновлением, симуляцией или генерацией кода из модели.

Category: Модели ссылки

Настройки

По умолчанию: If any changes detected

Always

Всегда перестраивайте целевые объекты для ссылочных моделей. Этот параметр требует наибольшего времени вычислений, поскольку может вызвать ненужные сборки. Чтобы обновить все цели модели-ссылки, используйте эту настройку перед развертыванием модели.

If any changes detected

Условно перестраивайте цели для ссылок на модели, когда Simulink обнаруживает изменение, которое может повлиять на результаты симуляции. Чтобы выполнить обширное обнаружение изменений от зависимостей ссылочных моделей, используйте эту настройку.

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

If any changes in known dependencies detected

Условно перестраивайте цели для ссылок на модели, когда Simulink обнаруживает изменение, которое может повлиять на результаты симуляции. Чтобы уменьшить время, необходимое для обнаружения изменений, используйте эту настройку.

Если Simulink не находит изменений в известных или потенциальных зависимостях, он не вычисляет структурную контрольную сумму модели и не перестраивает цель модели-ссылки. Чтобы избежать недопустимых результатов симуляции, необходимо перечислить все созданные пользователем зависимости в параметре Model dependencies.

Never

Не перестраивайте целевые объекты для ссылок на модели. Эта настройка требует наименьшего времени вычислений и, когда она доступна, использует файлы кэша Simulink для более быстрых симуляций. Чтобы избежать перестроений при разработке модели, используйте эту настройку.

Если цели модели-ссылки устарели, симуляция может представить недопустимые результаты. Чтобы иметь Simulink Check на изменения в известных целевых зависимостях и сообщить, если цели модели-ссылки могут быть устаревшим, используйте параметр Never rebuild diagnostic. Чтобы вручную перестроить цели модели-ссылки, используйте slbuild функция.

Дополнительные сведения об использовании и совместном использовании файлов кэша Simulink см. в разделе «Обмен файлами кэша Simulink для более быстрой симуляции».

Определения

Известные целевые зависимости

Известными целевыми зависимостями являются файлы и данные, внешние по отношению к файлам модели, которые Simulink исследует на изменения при проверке актуальности цели модели-ссылки. Simulink автоматически вычисляет набор известных целевых зависимостей. Примерами известных целевых зависимостей являются:

  • Изменения в рабочем пространстве модели, если его источником данных является MAT-файл или MATLAB® файл

  • Перечисленные определения типов

  • Пользовательские S-функции и их файлы TLC

  • Файлы, указанные в параметре Model dependencies

  • Внешние файлы, используемые Stateflow®, блок MATLAB Function или блок MATLAB System

  • Подсистемы Dataflow - Анализ подсистем dataflow требует, чтобы цель симуляции перестроилась в профиль и снова перестроилась, чтобы разбить подсистему. В сложение, цель симуляции должна перестроиться, если машина, выполняющая симуляцию, имеет меньше ядер, чем подсистема, для использования, примера, если цель симуляции в последний раз была построена на машине с большим количеством ядер. Для получения дополнительной информации смотрите Simulation of Dataflow Domains (DSP System Toolbox).

Потенциальные целевые зависимости

Потенциальными целевыми зависимостями являются файлы и данные, внешние по отношению к файлам модели и настройкам конфигурации модели, которые Simulink исследует на изменения при проверке актуальности цели модели-ссылки. Simulink автоматически вычисляет набор потенциальных целевых зависимостей. Примерами потенциальных целевых зависимостей являются:

  • Изменения глобальных переменных

  • Изменения в целях моделей, на которые ссылается эта модель

  • Configuration Parameters> Diagnostics> Data Validity> Signal resolution параметр, когда установлено в любого Explicit and implicit или Explicit and warn implicit

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

Пользовательские зависимости

Созданные пользователем зависимости являются файлами, которые Simulink не идентифицирует автоматически, несмотря на их потенциальное влияние на результаты симуляции. Примерами пользовательских зависимостей являются:

  • Файлы MATLAB, которые содержат код, выполняемый коллбэками

  • MAT-файлы, которые содержат определения для переменных, используемых моделью, которые загружаются как часть настраиваемого скрипта инициализации

Можно добавить пользовательские зависимости к набору известных целевых зависимостей с помощью параметра Model dependencies.

Структурная контрольная сумма

Структурная контрольная сумма является расчетом, используемым для обнаружения изменений в модели, которые могут повлиять на результаты симуляции. Когда Simulink вычисляет структурную контрольную сумму, он загружает и компилирует модель. Чтобы скомпилировать модель, Simulink должен выполнить коллбэки и получить доступ ко всем переменным, которые использует модель. Структурная контрольная сумма обнаруживает изменения в пользовательских зависимостях, независимо от того, задали ли вы эти пользовательские зависимости в параметре Model dependencies.

Для получения дополнительной информации о типах изменений, которые влияют на структурную контрольную сумму, см. Simulink.BlockDiagram.getChecksum.

Совет

  • Модели в иерархии модели могут иметь различные настройки перестроения. Когда вы обновляете, моделируете или генерируете код для модели, настройка перестроения для этой модели применяется ко всем ее ссылочным моделям.

  • Модели, которые выполняются в режиме normal mode, не генерируют цели симуляции и не затронуты настройками Rebuild.

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

  • Этот график потока описывает обработку, которую Simulink выполняет, когда вы устанавливаете Rebuild на If any changes detected или If any changes in known dependencies detected.

  • Этот пример объясняет различие между If any changes detected и If any changes in known dependencies detected настройки.

    Если вы измените файл MATLAB, который выполняется как часть скрипта коллбэка, который вы не перечислили в параметре Model dependencies:

    • If any changes detected вызывает перестроение, поскольку изменение влияет на структурную контрольную сумму модели.

    • If any changes in known dependencies detected не вызывает перестроение, поскольку не изменилась известная целевая зависимость.

Зависимость

Выбор Never включает параметр Never rebuild diagnostic.

Информация о командной строке

Параметр: UpdateModelReferenceTargets
Значение: 'Force' | 'IfOutOfDateOrStructuralChange' | 'IfOutOfDate' | 'AssumeUpToDate'
По умолчанию: 'IfOutOfDateOrStructuralChange'
UpdateModelReferenceTargets ЗначениеЭквивалентное Rebuild значение
'Force'Always
'IfOutOfDateOrStructuralChange'If any changes detected
'IfOutOfDate'If any changes in known dependencies detected
'AssumeUpToDate'Never

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьНикакого влияния
ЭффективностьНикакого влияния
Меры безопасности

If any changes detected или Never

Если вы используете Never и установите параметр Never rebuild diagnostic равным Error if rebuild required.

Вопросы совместимости

Начиная с R2019b, If any changes detected игнорирует косметические изменения, такие как изменение положения блока.

См. также

Блоки

Параметры конфигурации Simulink

Функции

Похожие темы