Переход - это линия со стрелкой, которая связывает один графический объект с другим. В большинстве случаев переход представляет переход системы из одного режима (состояния) в другой. Переход обычно соединяет исходный и целевой объекты. Исходный объект - это место начала перехода, а целевой объект - место окончания перехода. На следующей диаграмме показан переход из исходного состояния. B, в состояние назначения, A.

Соединения делят переход на переходные сегменты. В этом случае полный переход состоит из сегментов, взятых из исходного состояния в состояние назначения. Каждый сегмент оценивается в процессе определения достоверности полного перехода.
Следующий пример имеет два сегментированных перехода: один из состояния On указывать Off, а другой из штата On самому себе:

Переход по умолчанию - это специальный тип перехода, не имеющий исходного объекта. Дополнительные сведения см. в разделе Переходы по умолчанию.
Переходы не могут содержать другие объекты так, как могут состояния. Однако переходы содержатся в состояниях. Иерархия перехода описывается с точки зрения его родительского, исходного и целевого состояний. Родительский элемент является самым низким уровнем, содержащим источник и место назначения перехода. Рассмотрим родительские элементы для переходов в следующем примере.

В следующей таблице определяется родительский тип каждого перехода в предыдущем примере. / символ представляет диаграмму. Каждый уровень в иерархии состояний разделен периодом (.) символ.
Метка перехода | Родительский элемент перехода | Источник перехода | Место назначения перехода |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Метка перехода может состоять из события или сообщения, условия, действия условия и действия перехода. Каждая часть метки является необязательной. ? символ является меткой перехода по умолчанию. Метки перехода имеют следующий общий формат:
event_or_message[condition]{condition_action}/transition_action
В этом примере показаны части метки перехода.

| Переход | Триггер события | Состояние | Действие условия | Действие перехода |
|---|---|---|---|---|
| Состояние A - состояние C | event1 | temp > 50 | func1() | Ничего |
| Состояние A - состояние B | event2 | Ничего | Ничего | data1 = 5 |
В синтаксисе метки перехода триггеры события или сообщения отображаются в качестве имени события или сообщения. Они не имеют особого характера, чтобы отделить их от других действий в метке перехода. В примере в Transitions оба перехода из состояния A имеют триггеры событий. Переход из состояния A в состояние B имеет триггер события event2 и переход из состояния A в состояние C имеет триггер события event1.
Триггеры событий указывают событие, которое вызывает переход, при условии, что условие, если указано, является истинным. Указание события является необязательным. Триггеры сообщений определяют переход, который должен выполняться, если сообщение присутствует в очереди сообщений. Отсутствие события или сообщения указывает на то, что переход осуществляется при возникновении какого-либо события. Множественные события или сообщения задаются логическим оператором OR (|).
В синтаксисе метки перехода условиями являются логические выражения, заключенные в квадратные скобки ([]). В примере в Transitions переход из состояния A в состояние C имеет условие temp > 50.
Условие - это логическое выражение, указывающее, что переход происходит, если указанное выражение имеет значение true. Для определения и использования условий следуйте следующим инструкциям:
Выражение условия должно быть логическим выражением, которое принимает значение true (1) или false (0).
Выражение условия может состоять из любого из следующих элементов:
Логические операторы, которые сравнивают данные и числовые значения
Функция, возвращающая логическое значение
Один in(state_name) условие, которое вычисляется как true, когда состояние, указанное в качестве аргумента, является активным. Дополнительные сведения см. в разделе Проверка активности состояния с помощью оператора in.
Условия временной логики (см. Выполнение контрольной диаграммы с использованием временной логики)
Выражение условия может вызывать графическую функцию, функцию таблицы истинности или функцию MATLAB ®, которая возвращает числовое значение.
Например, [test_function(x, y) < 0] является допустимым выражением условия.
Выражение условия не должно вызывать функцию, которая вызывает изменение состояния диаграммы или изменение переменных.
Логические выражения могут быть сгруппированы с помощью & для выражений с отношениями AND и | для выражений с отношениями OR.
Операторы назначения не являются допустимыми выражениями условий.
Унарные действия приращения и уменьшения не являются допустимыми выражениями условий.
В синтаксисе метки перехода действия условия следуют за условием перехода и заключены в фигурные скобки ({}). В примере в Transitions переход из состояния A в состояние C имеет действие условия func1(), вызов функции.
Действия с условиями выполняются сразу после того, как условие оценивается как истинное, но до определения места назначения перехода как действительное. Если условие не указано, подразумеваемое условие получает значение true, и выполняется действие условия.
В синтаксисе метки перехода действия перехода предваряются косой чертой (/и заключены в фигурные скобки ({}). В примере в Transitions переход из состояния A в состояние B имеет действие перехода data1 = 5. В диаграммах C действия перехода не обязательно заключать в фигурные скобки. В диаграммах, использующих MATLAB в качестве языка действий, синтаксис автоматически корректируется, если фигурные скобки отсутствуют в действии перехода. См. раздел Автоматическая коррекция при использовании MATLAB в качестве языка действий.
Действия перехода выполняются только после выполнения полного пути перехода. Они выполняются после того, как назначение перехода определено как действительное, и условие, если указано, является истинным. Если переход состоит из нескольких сегментов, действие перехода выполняется только после того, как весь путь перехода к конечному назначению будет определен как действительный.
Действия перехода поддерживаются только в диаграммах Stateflow ® в моделях Simulink ®.
Обычно переход допустим, когда исходное состояние перехода активно, а метка перехода допустима. Переходы по умолчанию отличаются из-за отсутствия исходного состояния. Достоверность перехода по умолчанию в подсостояние оценивается при переходе в его сверхсостояние, если сверхсостояние активно. Этот критерий маркировки применяется как к переходам по умолчанию, так и к переходам общего регистра. В следующей таблице перечислены возможные комбинации допустимых меток перехода.
Метка перехода | Действительно, если... |
|---|---|
Только событие | Это событие происходит |
Событие и условие | Это событие происходит, и условие истинно |
Только сообщение | Это сообщение появляется |
Сообщение и условие | Это сообщение появляется, и условие истинно |
Только условие | Любое событие происходит, и условие истинно |
Только действие | Происходит любое событие |
Не указано | Происходит любое событие |
В этом примере показаны простые переходы в исключительные состояния (ИЛИ) и из них.

| Следующий переход... | Действительно, когда... |
|---|---|
B кому A | Государство B активен, и событие E1 происходит. |
A1 кому A2 | Государство A1 активен и событие E2 происходит. |
Дополнительные сведения о семантике этой нотации см. в разделе Переход между исключительными состояниями.
На следующей диаграмме показаны переходы к соединительным соединениям и от них.

Диаграмма использует временную логику для определения времени ввода u равно 1.
| Если входной сигнал равен 1... | Переход происходит от... |
|---|---|
| Перед t = 2 | Start кому Fast |
| Между t = 2 и t = 5 | Start кому Good |
| После t = 5 | Start кому Slow |
Дополнительные сведения о временной логике см. в разделе Выполнение диаграммы управления с помощью временной логики. Дополнительные сведения о семантике этой нотации см. в разделе Переход от общего источника к нескольким адресатам.
В этом примере показаны переходы в исключительное состояние (ИЛИ) и из него и использование перехода по умолчанию.

Диаграмма имеет два состояния на самом высоком уровне иерархии, Power_off и Power_on. По умолчанию Power_off активен. Событие Switch переключает систему между Power_off и Power_on штатов. Power_on имеет три подстанции: First, Second, и Third. По умолчанию, когда Power_on становится активным, First также становится активным. Когда Shift равно 1, система переходит от First кому Second, Second кому Third, Third кому First, для каждого события Switchи затем шаблон повторяется.
Дополнительные сведения о семантике этой нотации см. в разделе Управление выполнением диаграммы с помощью переходов по умолчанию.
В следующем примере показаны переходы в монопольные подсостояния (ИЛИ) и из них.

Дополнительные сведения о работе этой диаграммы см. в разделе Устранение ошибок в сигналах. Сведения о семантике этой нотации см. в разделе Переход от подсостояния к подсостоянию с событиями.