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

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

Поскольку в этом примере не используются атомарные подчасти, при каждом изменении диаграммы и запуске моделирования повторная компиляция выполняется для всей диаграммы.
Напротив, можно преобразовать состояние A к атомарному подграфу. При изменении атомарного подкадра повторная компиляция выполняется только для подкадра, а не для всей диаграммы. В результате инкрементные построения для моделирования требуют меньше времени на перекомпиляцию.
Шаг 1: Преобразование состояния в атомарную подшарту
Щелкните правой кнопкой мыши состояние A и выберите «Группа и подшаблон» > «Атомарный подшаг». Государство A изменяет атомарную вложенную диаграмму и отображает метку Atomic в левом верхнем углу.

Шаг 2: Запуск моделирования
Перед моделированием выполняется компиляция для всей диаграммы.

Шаг 3: Изменение атомарного подшарта
Дважды щелкните атомарную вложенную диаграмму A. Содержимое вложенной диаграммы отображается в редакторе Stateflow Editor.
В состоянии Pos, измените действие ввода на y1 = 2;
В состоянии Neg, измените действие ввода на y1 = -2;

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

Синусоидальная волна (Simulink)