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