exponenta event banner

Сокращение времени компиляции диаграммы

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

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

Эта модель содержит два блока синусоидальной волны (Simulink): один с частотой 1 радиан в секунду, а другой с частотой 2 радиана в секунду.

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

Поскольку в этом примере не используются атомарные подчасти, при каждом изменении диаграммы и запуске моделирования повторная компиляция выполняется для всей диаграммы.

Напротив, можно преобразовать состояние A к атомарному подграфу. При изменении атомарного подкадра повторная компиляция выполняется только для подкадра, а не для всей диаграммы. В результате инкрементные построения для моделирования требуют меньше времени на перекомпиляцию.

Правка модели для использования атомных вложенных диаграмм

Шаг 1: Преобразование состояния в атомарную подшарту

Щелкните правой кнопкой мыши состояние A и выберите «Группа и подшаблон» > «Атомарный подшаг». Государство A изменяет атомарную вложенную диаграмму и отображает метку Atomic в левом верхнем углу.

Шаг 2: Запуск моделирования

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

Шаг 3: Изменение атомарного подшарта

  1. Дважды щелкните атомарную вложенную диаграмму A. Содержимое вложенной диаграммы отображается в редакторе Stateflow Editor.

  2. В состоянии Pos, измените действие ввода на y1 = 2;

  3. В состоянии Neg, измените действие ввода на y1 = -2;

Шаг 4: Перезапустить моделирование

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

См. также

(Simulink)

Связанные темы