Сокращение времени компиляции графика

В этом примере показано, как использовать атомарные субдиаграммы для сокращения времени компиляции при тестировании последовательности изменений в графике Stateflow ®. Атомарные субдиаграммы поддерживаются только в диаграммах Stateflow в моделях Simulink ®. Для получения дополнительной информации смотрите Создание переиспользуемых подкомпонентов при помощи атомарных субдиаграмм.

Исходная модель без атомарных субдиаграмм

Эта модель содержит два блока Sine Wave (Simulink): один с частотой 1 радиан в секунду, а другой с частотой 2 радиана в секунду.

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

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

Напротив, можно преобразовать состояние A к атомарной субдиаграмме. При изменении атомарной субдиаграммы перекомпиляция происходит только для субдиаграммы, а не для всего графика. В результате инкрементным сборкам для симуляции требуется меньше времени для перекомпиляции.

Отредактируйте модель, чтобы использовать атомарные субдиаграммы

Шаг 1. Преобразование состояния в атомарную субдиаграмму

Щелкните правой кнопкой мыши состояние A и выберите Group & Subchart > Atomic Subchart. Конечные A изменяется на атомарной субдиаграмме и отображает метку Atomic в левом верхнем углу.

Шаг 2: Запустите симуляцию

Перед симуляцией компиляция происходит для всего графика.

Шаг 3: Изменение атомарной субдиаграммы

  1. Дважды кликните атомарную субдиаграмму A. Содержимое субдиаграммы отображается в редакторе Stateflow.

  2. В состоянии Pos, измените действие входа на y1 = 2;

  3. В состоянии Neg, измените действие входа на y1 = -2;

Шаг 4: Перезапустите симуляцию

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

См. также

(Simulink)

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте