exponenta event banner

Выполнение диаграммы потока состояний

Когда диаграмма Stateflow ® пробуждается, она следует за рабочим процессом и выполняет действия. Просыпается диаграмма Stateflow:

  • На каждом шаге времени в соответствии с решателем Simulink ®.

  • Когда диаграмма Stateflow получает событие.

Когда диаграмма просыпается в первый раз, она инициализируется и становится активной. См. раздел Запись диаграммы. Как только диаграмма активна, но больше не выполняет никаких действий, она переходит в спящий режим до тех пор, пока не будет инициирована новым временным шагом или событием.

Рабочий процесс для выполнения диаграммы 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 шаги выполнения для выполнения диаграммы выполняются в следующем порядке:

  1. Диаграмма имеет активное подсостояние, StateA.

  2. StateA имеет исходящий переход в StateB. Следуя рабочему процессу для оценки переходов, переход определяется как допустимый.

  3. StateB помечен для entry и StateA помечен для exit.

Чтобы завершить шаг времени, выполните рабочий процесс для выхода из состояния для StateA и рабочий процесс для ввода диаграммы или состояния для StateB.

Выполнение диаграммы без допустимого перехода

В этом примере инициализируется диаграмма Stateflow и entry действия выполняются для StateA и StateA1. Происходит новый временной шаг, и диаграмма просыпается.

На данном этапе времени x = 3, y = 0, и z = 0.

Следуя процедуре Workflow for Stateflow Chart Execution до тех пор, пока диаграмма не перейдет в спящий режим, шаги выполнения для выполнения диаграммы выполняются в следующем порядке:

  1. Диаграмма имеет активное подсостояние, StateA.

  2. StateA имеет исходящий переход в StateB. Следуя рабочему процессу для оценки переходов, переход определяется как недопустимый.

  3. Выполните команду during действия для StateA. Сейчас y = 1.

  4. StateA не имеет внутренних переходов.

  5. Активное подсостояние StateA является StateA1.

  6. StateA1 имеет исходящий переход в StateA2. Следуя рабочему процессу для оценки переходов, переход определяется как недопустимый.

  7. Выполните команду during действия для StateA1. Сейчас x = 4.

  8. StateA1 не имеет активных подстанций.

  9. Диаграмма спит.

Этапы 1-9 выполняются на втором временном этапе.

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