В этом примере показано, как использовать атомарные субдиаграммы для сокращения времени компиляции при тестировании последовательности изменений в графике Stateflow ®. Атомарные субдиаграммы поддерживаются только в диаграммах Stateflow в моделях Simulink ®. Для получения дополнительной информации смотрите Создание переиспользуемых подкомпонентов при помощи атомарных субдиаграмм.
Эта модель содержит два блока Sine Wave (Simulink): один с частотой 1 радиан в секунду, а другой с частотой 2 радиана в секунду.
На графике каждое состояние использует логику сатуратора, чтобы преобразовать вход синусоиды в выход квадратную волну с той же частотой.
Поскольку этот пример не использует атомарные субдиаграммы, каждый раз, когда вы вносите изменения в график и запускаете симуляцию, перекомпиляция происходит для всего графика.
Напротив, можно преобразовать состояние A
к атомарной субдиаграмме. При изменении атомарной субдиаграммы перекомпиляция происходит только для субдиаграммы, а не для всего графика. В результате инкрементным сборкам для симуляции требуется меньше времени для перекомпиляции.
Шаг 1. Преобразование состояния в атомарную субдиаграмму
Щелкните правой кнопкой мыши состояние A
и выберите Group & Subchart > Atomic Subchart. Конечные A
изменяется на атомарной субдиаграмме и отображает метку Atomic в левом верхнем углу.
Шаг 2: Запустите симуляцию
Перед симуляцией компиляция происходит для всего графика.
Шаг 3: Изменение атомарной субдиаграммы
Дважды кликните атомарную субдиаграмму A
. Содержимое субдиаграммы отображается в редакторе Stateflow.
В состоянии Pos
, измените действие входа на y1 = 2;
В состоянии Neg
, измените действие входа на y1 = -2;
Шаг 4: Перезапустите симуляцию
После изменений в A
перекомпиляция происходит только для атомарной субдиаграммы, а не для всего графика.
Sine Wave (Simulink)