Выберите метод, используемый, чтобы определить, когда восстановить симуляцию и цели Simulink® Coder™ для моделей, на которые ссылаются, перед обновлением, симуляцией или генерацией кода из этой модели.
Ссылка модели Category:
Значение по умолчанию: If any changes detected
Always
Всегда восстанавливайте цели, на которые ссылается эта модель. Эта установка требует большей части времени вычислений, потому что это может инициировать ненужные сборки. Чтобы сделать все цели модели-ссылки актуальными, используйте эту установку, прежде чем вы развернете модель.
If any changes detected
Условно восстановите цели, на которые ссылается эта модель. Эта установка восстанавливает цели, когда Simulink обнаруживает изменение, которое могло влиять на результаты симуляции. Чтобы выполнить обширное обнаружение изменения к зависимостям моделей, на которые ссылаются, используйте эту установку.
Simulink восстанавливает цель модели, на которую ссылаются, если это обнаруживает изменение в целевых зависимостях и модели. Если Simulink не находит изменений, он вычисляет структурную контрольную сумму модели, чтобы проверять, что цель модели-ссылки актуальна. Если структурная контрольная сумма изменилась, Simulink восстанавливает цель модели-ссылки.
Для этой установки структурная контрольная сумма обнаруживает изменения, которые происходят в созданных пользователями зависимостях, которые не заданы с помощью параметра Model dependencies.
If any changes in known dependencies detected
Условно восстановите цели, на которые ссылается эта модель. Эта установка игнорирует косметические изменения, такие как аннотация изменяется, в модели, на которую ссылаются, и ее библиотеках. Чтобы уменьшать время, требуемое для обнаружения изменения, используйте эту установку.
Simulink восстанавливает цель модели, на которую ссылаются, если это обнаруживает изменение в целевых зависимостях или и в модели и в ее структурной контрольной сумме. Если Simulink не обнаруживает изменение в целевых зависимостях или модели, он не вычисляет структурную контрольную сумму модели и не восстанавливает цель модели-ссылки.
Чтобы избежать недопустимых результатов симуляции, необходимо перечислить все созданные пользователями зависимости в параметре Model dependencies.
Never
Никогда не восстанавливайте цели, на которые ссылается эта модель. Эта установка требует наименьшего количества времени вычислений и, когда доступно, использует файлы кэша Simulink для более быстрых симуляций. Избегать восстанавливает при разработке модели используйте эту установку.
Если образцовые цели, на которые ссылаются, устарели, симуляция может представить недопустимые результаты. Чтобы иметь Simulink Check для изменений в известных целевых зависимостях и сообщить, могут ли цели модели-ссылки устареть, используйте параметр Never rebuild diagnostic. Чтобы вручную восстановить цели модели-ссылки, используйте функцию slbuild
.
Для получения информации об использовании и совместное использование файлов кэша Simulink, смотрите Сборки Симуляции Доли для Более быстрых Симуляций.
Известные целевые зависимости являются файлами и данными, внешними к образцовым файлам, которые Simulink исследует на изменения при проверке, актуальна ли цель модели-ссылки. Simulink автоматически вычисляет набор известных целевых зависимостей. Примеры известных целевых зависимостей:
Изменения в рабочем пространстве модели, если его источник данных является файлом MATLAB® или MAT-файлом
Определения перечислимого типа
Написанные пользователем S-функции и их файлы TLC
Файлы заданы в параметре Model dependencies
Внешние файлы используются Stateflow®, блоком MATLAB function или блоком MATLAB System
Потенциальные целевые зависимости являются файлами и данными, внешними к образцовым файлам и настройкам конфигурации модели, которые 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
.
Модели в иерархии модели - ссылки могут иметь отличающийся, восстанавливают настройки. Когда вы обновляете, моделируете или генерируете код для модели, восстановить установка для той модели применяется ко всем своим моделям, на которые ссылаются.
Чтобы улучшиться восстанавливают скорость обнаружения и точность, используют параметр 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
не вызывает восстанавливание, потому что никакая известная целевая зависимость не изменилась.
Если вы перемещаете блок в модель:
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 |
Приложение | Установка |
---|---|
Отладка | Никакое влияние |
Трассируемость | Никакое влияние |
Эффективность | Никакое влияние |
Меры безопасности |
Если вы используете установку |
Simulink.BlockDiagram.getChecksum