supertransition является переходом между разными уровнями в графике. Суперпереход может пойти между состоянием в графике верхнего уровня и подсостоянием в одном из его одноуровневых состояний, или между подсостояниями в различных состояниях графика. Например, этот график содержит суперпереход между подсостояниями двух одноуровневых состояний.
Можно создать суперпереходы, которые охватывают любое количество уровней в графике. Когда суперпереход пересекается в или из субдиаграммы, он состоит из нескольких сегментов перехода, каждого на различном уровне включения. Например, эта модель графика показывает суперпереход, оставляя On
субдиаграмма.
Тот же суперпереход появляется в субдиаграмме.
Можно пометить любой сегмент перехода при помощи процедуры описанным в, Маркируют Transitions. Получившаяся метка появляется на каждом сегменте суперперехода. Например, в предыдущем примере, оба сегмента суперперехода имеют ту же метку, [warm()]
. Если вы изменяете метку на каком-либо сегменте, изменение также появляется на других сегментах.
Точки, где каждый сегмент вводит или выходит из субдиаграммы, влияют друг на друга. Например, перемещая точку, где суперпереход выходит из контура субдиаграммы On
также перемещает точку, где суперпереход появляется в графике верхнего уровня.
Совет
Порты входа и выхода предоставляют альтернативный метод переходу через контуры в Stateflow® иерархия. Для получения дополнительной информации смотрите, Решают Между Портами Входа и выхода и Суперпереходами.
Укажите на границу исходного состояния. Указатель превращается в перекрестие.
Перетащите в границе субдиаграммы. Суперпереход соединяет исходное состояние с субдиаграммой. Чтобы измениться, где переход вводит субдиаграмму, можно перетащить конечную точку сегмента перехода вокруг внутреннего контура субдиаграммы.
Откройте субдиаграмму путем двойного клика по нему. Наконечник стрелки суперперехода кажется подсвеченным в красном.
Кликните по наконечнику стрелки и перетащите указатель на желаемое место назначения в субдиаграмме.
Отпустите курсор.
Примечание
Когда вы чертите суперпереход через контуры субдиаграммы, кнопки Undo и Redo отключены. Вы не можете отменить или восстановить любые предшествующие операции.
Чертите переход к местоположению вне границы субдиаграммы.
Перейдите к родительскому элементу субдиаграммы. Наконечник стрелки суперперехода кажется подсвеченным в красном.
Кликните по наконечнику стрелки и перетащите указатель на желаемое место назначения в графике.
Выпустите указатель.
Примечание
Когда вы чертите суперпереход через контуры субдиаграммы, кнопки Undo и Redo отключены. Вы не можете отменить или восстановить любые предшествующие операции.
Оба суперперехода и порты входа и выхода позволяют вам преодолеть разные уровни в иерархии графика. Которые приближаются к вам, выбор зависит от ваших конструктивных требований.
Сценарий | Рекомендация |
---|---|
Переход между подсостояниями двух одноуровневых состояний, ни одно из которых не является субдиаграммой | Используйте суперпереход. Можно создать суперпереход, который не пересекает контуров субдиаграммы путем простого нажатия на контур исходного состояния и перетаскивания указателя к целевому состоянию. |
Переход к или от подсостояния нормальной субдиаграммы | Используйте или суперпереход или выходной порт или запись.
|
Переход к или от подсостояния атомарной субдиаграммы | Используйте выходной порт или запись. Суперпереходы не могут пересечь контур атомарных субдиаграмм. |