Уменьшайте время компиляции графика

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

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

Эта модель содержит два 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)

Похожие темы