exponenta event banner

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

Описание

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

Категория: Ссылка на модель

Настройки

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

Always

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

If any changes detected

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

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

If any changes in known dependencies detected

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

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

Never

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

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

Сведения об использовании и совместном использовании файлов кэша Simulink см. в разделе Совместное использование файлов кэша Simulink для более быстрого моделирования.

Определения

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

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

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

  • Определения перечисляемых типов

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

  • Файлы, указанные в параметре Зависимости модели

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

  • Подсистемы потока данных - анализ подсистем потока данных требует, чтобы цель моделирования перестраивалась в профиль и снова перестраивалась для разделения подсистемы. Кроме того, цель моделирования должна быть перестроена, если компьютер, на котором выполняется моделирование, имеет меньше ядер, чем подсистема разделена для использования, например, если цель моделирования была в последний раз построена на компьютере с большим количеством ядер. Дополнительные сведения см. в разделе Моделирование доменов потока данных (панель системных инструментов DSP).

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

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

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

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

  • Параметр Configuration Parameters > Diagnostics > Data Validity > Signal resolution (Параметры конфигурации > Диагностика > Валидность данных > Разрешение сигнала) Explicit and implicit или Explicit and warn implicit

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

Зависимости, созданные пользователем

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

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

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

Созданные пользователем зависимости можно добавить в набор известных целевых зависимостей с помощью параметра Зависимости модели.

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

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

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

Совет

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

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

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

  • Эта блок-схема описывает обработку, выполняемую Simulink при установке для параметра Перестроить значения If any changes detected или If any changes in known dependencies detected.

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

    При изменении файла MATLAB, выполняемого как часть сценария обратного вызова, который не указан в параметре Зависимости модели:

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

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

Зависимость

Выбор Never включает диагностический параметр Никогда не перестраивать.

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

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

Рекомендуемые параметры

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

If any changes detected или Never

Если вы используете Never установка, затем установка для параметра Никогда не перестраивать диагностический параметр значения Error if rebuild required.

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

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

См. также

Блоки

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

Функции

Связанные темы