Выберите метод, чтобы определить, когда восстановить симуляцию и цели 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 автоматически вычисляет набор известных целевых зависимостей. Примеры известных целевых зависимостей:
Изменения в рабочем пространстве модели, если его источник данных является файлом MATLAB® или MAT-файлом
Определения перечислимого типа
Написанные пользователем S-функции и их файлы TLC
Файлы заданы в параметре Model dependencies
Внешние файлы используются Stateflow®, блоком MATLAB function или блоком MATLAB System
Подсистемы потока данных – Анализ подсистем потока данных требует, чтобы цель симуляции восстановила, чтобы профилировать и восстановила снова, чтобы разделить подсистему. Кроме того, цель симуляции должна восстановить, если машина, запускающая симуляцию, имеет меньше ядер, чем подсистема разделена, чтобы использовать, например, если цель симуляции была в последний раз основана на машине с большим количеством ядер. Для получения дополнительной информации смотрите Симуляцию Областей Потока данных (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.
Parameter: 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 |
Приложение | Установка |
---|---|
Отладка | Никакой удар |
Трассируемость | Никакой удар |
Эффективность | Никакой удар |
Меры безопасности |
Если вы используете |
Начиная в R2019b, If any changes detected
игнорирует косметические изменения, такие как то, чтобы менять местоположение блока.
Simulink.BlockDiagram.getChecksum