Когда 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 происходят на шаге второго раза.