Выполнение диаграммы Stateflow

Когда 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.

Следующим Рабочий процесс для Выполнения диаграммы Stateflow до графика засыпает, шаги выполнения для выполнения графика находятся в этом порядке:

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

Похожие темы