Переместитесь между уровнями иерархии при помощи суперпереходов

supertransition является переходом между разными уровнями в графике. Суперпереход может пойти между состоянием в графике верхнего уровня и подсостоянием в одном из его одноуровневых состояний, или между подсостояниями в различных состояниях графика. Например, этот график содержит суперпереход между подсостояниями двух одноуровневых состояний.

Supertransition between substates of sibling states.

Можно создать суперпереходы, которые охватывают любое количество уровней в графике. Когда суперпереход пересекается в или из субдиаграммы, он состоит из нескольких сегментов перехода, каждого на различном уровне включения. Например, эта модель графика показывает суперпереход, оставляя On субдиаграмма.

Chart modeling a bang-bang controller.

Тот же суперпереход появляется в субдиаграмме.

The On substate.

Можно пометить любой сегмент перехода при помощи процедуры описанным в, Маркируют Transitions. Получившаяся метка появляется на каждом сегменте суперперехода. Например, в предыдущем примере, оба сегмента суперперехода имеют ту же метку, [warm()]. Если вы изменяете метку на каком-либо сегменте, изменение также появляется на других сегментах.

Точки, где каждый сегмент вводит или выходит из субдиаграммы, влияют друг на друга. Например, перемещая точку, где суперпереход выходит из контура субдиаграммы On также перемещает точку, где суперпереход появляется в графике верхнего уровня.

Совет

Порты входа и выхода предоставляют альтернативный метод переходу через контуры в Stateflow® иерархия. Для получения дополнительной информации смотрите, Решают Между Портами Входа и выхода и Суперпереходами.

Создайте суперпереход, который вводит субдиаграмму

  1. Укажите на границу исходного состояния. Указатель превращается в перекрестие.

    Chart that contains a state and a subchart.

  2. Перетащите в границе субдиаграммы. Суперпереход соединяет исходное состояние с субдиаграммой. Чтобы измениться, где переход вводит субдиаграмму, можно перетащить конечную точку сегмента перехода вокруг внутреннего контура субдиаграммы.

    First segment of the supertransition entering the subchart.

  3. Откройте субдиаграмму путем двойного клика по нему. Наконечник стрелки суперперехода кажется подсвеченным в красном.

    Subchart that contains a substate. The arrowhead of the supertransition appears highlighted in red.

  4. Кликните по наконечнику стрелки и перетащите указатель на желаемое место назначения в субдиаграмме.

    Pointer dragging the supertransition arrowhead to the desired destination.

  5. Отпустите курсор.

    Second segment of the supertransition connects to the substate of the subchart.

Примечание

Когда вы чертите суперпереход через контуры субдиаграммы, кнопки Undo и Redo отключены. Вы не можете отменить или восстановить любые предшествующие операции.

Создайте суперпереход, который выходит из субдиаграммы

  1. Чертите переход к местоположению вне границы субдиаграммы.

    First segment of the supertransition exiting the subchart.

  2. Перейдите к родительскому элементу субдиаграммы. Наконечник стрелки суперперехода кажется подсвеченным в красном.

    Chart that contains a subchart and a substate. The arrowhead of the supertransition appears highlighted in red.

  3. Кликните по наконечнику стрелки и перетащите указатель на желаемое место назначения в графике.

    Pointer dragging the supertransition arrowhead to the desired destination.

  4. Выпустите указатель.

    Second segment of the supertransition connects to the substate of the chart.

Примечание

Когда вы чертите суперпереход через контуры субдиаграммы, кнопки Undo и Redo отключены. Вы не можете отменить или восстановить любые предшествующие операции.

Решите между портами входа и выхода и суперпереходами

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

СценарийРекомендация
Переход между подсостояниями двух одноуровневых состояний, ни одно из которых не является субдиаграммойИспользуйте суперпереход. Можно создать суперпереход, который не пересекает контуров субдиаграммы путем простого нажатия на контур исходного состояния и перетаскивания указателя к целевому состоянию.
Переход к или от подсостояния нормальной субдиаграммы

Используйте или суперпереход или выходной порт или запись.

  • Если вы используете суперпереход, точки, где каждый сегмент суперперехода вводит или выходит из разных уровней иерархии, влияют друг на друга. Например, перемещение точки, где суперпереход вводит контур субдиаграммы также, перемещает точку, где суперпереход выходит из контура субдиаграммы.

  • Если вы используете запись или выходной порт, положения порта и соответствующего соединения графически независимы друг от друга. Например, можно переместить порт, не перемещая соединение.

Переход к или от подсостояния атомарной субдиаграммыИспользуйте выходной порт или запись. Суперпереходы не могут пересечь контур атомарных субдиаграмм.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте