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
допустим. В этом случае:
Выйдите действия для A1
выполняются и завершаются.
A1
становится неактивным.
A1
становится активным.
Действия записи для A1
выполняются и завершаются.
Смотрите Процесс Первое Событие с Внутренним Переходом к Коннектив-Джанкшен для получения дополнительной информации о семантике этого обозначения.
Этот пример показывает внутренний переход к соединению истории.
Power_on.High
состояния первоначально активен. Когда событие Reset
происходит, внутренний переход к соединению истории допустим. Поскольку внутренний переход допустим, из в настоящее время активного состояния, Power_on.High
, выходят. То, когда внутренний переход к соединению истории обрабатывается, последнее активное состояние, Power_on.High
, становится активным (повторно введено). Если бы Power_on.Low
был активен при тех же обстоятельствах, из Power_on.Low
вышли бы и повторно ввели бы в результате. Внутренний переход в этом примере эквивалентен рисованию внешнего перехода самоцикла и на Power_on.Low
и на Power_on.High
.
Смотрите Пример Соединений Истории для другого примера с помощью соединения истории.
Смотрите Внутренний Переход к Соединению Истории для получения дополнительной информации о семантике этого обозначения.