Внутренние переходы

inner transition является переходом, который не выходит из исходного состояния. Внутренние переходы мощны, когда задано для сверхдержав с исключительным (OR) разложение. Использование внутренних переходов может значительно упростить график Stateflow®, как показано следующими примерами:

Перед использованием внутреннего перехода

Этот график является примером того, как можно упростить логику с помощью внутреннего перехода.

Любое событие имеет место и пробуждает диаграмму Stateflow. Переход по умолчанию к соединительному соединению допустим. Место назначения перехода определяется [c1 > 0] и [c2 > 0]. Если [c1 > 0] верен, переход к A1 верен. Если [c2 > 0] верен, переход к A2 допустим. Если ни [c1 > 0], ни [c2 > 0] не верны, переход к A3 допустим. Переходы среди A1, A2 и A3 определяются E, [c1 > 0] и [c2 > 0].

После Используя внутренний переход к соединительному соединению

Этот пример упрощает предыдущий пример с помощью внутреннего перехода к соединительному соединению.

Событие имеет место и пробуждает график. Переход по умолчанию к соединительному соединению допустим. Место назначения переходов определяется [c1 > 0] и [c2 > 0].

Можно упростить график при помощи внутреннего перехода вместо переходов среди всех состояний в исходном примере. Если A состояния уже активен, внутренний переход используется, чтобы переоценить, какое из подсостояний A состояния должно быть активным. Когда событие E происходит, внутренний переход потенциально допустим. Если [c1 > 0] верен, переход к A1 допустим. Если [c2 > 0] верен, переход к A2 допустим. Если ни [c1 > 0], ни [c2 > 0] не верны, переход к A3 допустим. Этот проект графика более прост, чем предыдущий.

Примечание

Когда вы используете внутренний переход к соединительному соединению, активное подсостояние может выйти и повторно вступить, когда условие перехода для того подсостояния допустимо. Например, если A1 подсостояния активен, и [c1 > 0] верен, переход к A1 допустим. В этом случае:

  1. Выйдите действия для A1 выполняются и завершаются.

  2. A1 становится неактивным.

  3. A1 становится активным.

  4. Действия записи для A1 выполняются и завершаются.

Смотрите Процесс Первое Событие с Внутренним Переходом к Коннектив-Джанкшен для получения дополнительной информации о семантике этого обозначения.

Используя внутренний переход к соединению истории

Этот пример показывает внутренний переход к соединению истории.

Power_on.High состояния первоначально активен. Когда событие Reset происходит, внутренний переход к соединению истории допустим. Поскольку внутренний переход допустим, из в настоящее время активного состояния, Power_on.High, выходят. То, когда внутренний переход к соединению истории обрабатывается, последнее активное состояние, Power_on.High, становится активным (повторно введено). Если бы Power_on.Low был активен при тех же обстоятельствах, из Power_on.Low вышли бы и повторно ввели бы в результате. Внутренний переход в этом примере эквивалентен рисованию внешнего перехода самоцикла и на Power_on.Low и на Power_on.High.

Смотрите Пример Соединений Истории для другого примера с помощью соединения истории.

Смотрите Внутренний Переход к Соединению Истории для получения дополнительной информации о семантике этого обозначения.