В этом примере показано, как использовать атомарные субдиаграммы, чтобы уменьшать время компиляции при тестировании последовательности изменений в графике 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)