Когда Stateflow® график просыпается, график следует рабочему процессу и выполняет действия. Просыпается Диаграмма Stateflow:
На каждом временном шаге согласно Simulink® решатель.
Когда диаграмма Stateflow получает событие.
Когда график просыпается в первый раз, график инициализируется и становится активным. См. раздел Запись на графике. Когда график активен, но не имеет больше действий, которые нужно предпринять, график переходит в спящий режим, пока он не запускается новым временным шагом или событием.
Этот график потока показывает прогрессирование событий, которые Stateflow принимает для выполнения графика или состояния. В этом графике потока данных текущее состояние относится к состоянию, в котором происходит решение или процесс.
Во время действия для выполнения состояния, когда:
Состояние активно, происходит новый временной шаг и отсутствует допустимый переход в другое состояние.
Состояние активно, происходит событие и отсутствует допустимый переход в другое состояние.
Во время действий предшествует префикс during
или du
, и далее следует необходимая двоеточие (:
), далее одно или несколько действий. Разделите несколько действий с возвратом каретки, точкой с запятой (;
), или запятая (,
). Если вы явно не задаете тип состояния активности для оператора, график рассматривает этот оператор как entry
, during
действие.
Состояние выполняет свою during
действия (если задано) при пробуждении графика. Предыдущий график потока показывает процесс выполнения состояния и показывает, когда during
происходят действия.
Если ваша диаграмма Stateflow не содержит состояний, каждый раз, когда график выполняется, Stateflow всегда оценивает путь перехода по умолчанию.
Stateflow помечает исходящие переходы для оценки как часть выполнения диаграммы Stateflow. После того, как исходящий переход будет отмечен для оценки, следуйте рабочему процессу для оценки переходов. Дополнительные сведения о том, как Stateflow оценивает исходящие переходы, см. в разделе Оценка переходов.
Stateflow помечает внутренние переходы для оценки как часть выполнения диаграммы Stateflow. После того, как внутренний переход будет отмечен для оценки, следуйте рабочему процессу для оценки переходов. Дополнительные сведения о том, как Stateflow оценивает внутренние переходы, см. в разделе Оценка переходов.
В этом примере диаграмма Stateflow инициализируется и entry
действия выполняются для StateA
и StateA1
. Происходит новый временной шаг, и график просыпается.
На данном временном шаге x = 5
, y = 2
, и z = 0
.
Следуя рабочему процессу для выполнения диаграммы Stateflow, шаги выполнения для выполнения графика выполняются в следующем порядке:
График имеет активное подсостояние, StateA
.
StateA
имеет исходящий переход на StateB
. Следуя рабочему процессу оценки переходов, переход определяется как действительный.
StateB
отмечен для entry
и StateA
отмечен для exit
.
Чтобы завершить временной шаг, следуйте рабочему процессу для выхода из состояния для StateA
и рабочий процесс ввода графика или состояния для StateB
.
В этом примере диаграмма Stateflow инициализируется и entry
действия выполняются для StateA
и StateA1
. Происходит новый временной шаг, и график просыпается.
На данном временном шаге x = 3
, y = 0
, и z = 0
.
Следуя рабочему процессу для выполнения диаграммы Stateflow до тех пор, пока график не перейдет в спящий режим, шаги выполнения для выполнения диаграммы выполняются в следующем порядке:
График имеет активное подсостояние, StateA
.
StateA
имеет исходящий переход на StateB
. Следуя рабочему процессу оценки переходов, переход определяется как недопустимый.
Выполните during
действия для StateA
. Теперь y = 1
.
StateA
не имеет внутренних переходов.
Активное подсостояние StateA
является StateA1
.
StateA1
имеет исходящий переход на StateA2
. Следуя рабочему процессу оценки переходов, переход определяется как недопустимый.
Выполните during
действия для StateA1
. Теперь x = 4
.
StateA1
не имеет активных подсостояний.
График засыпает.
Этапы с 1 по 9 происходят во втором временном шаге.