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