Создайте связи входа и выхода через государственные границы

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

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

Chart with two states, On and Off. The label turnOff marks the exit port connected to a transition from On to Off.

В субдиаграмме продвижение пути к переходу к выходному соединению задает логику для выхода из субдиаграммы. В этом примере, функциональном warm должен оценить к true на двух последовательных временных шагах, прежде чем график делает переход из On состояние.

Subchart containing an exit junction.

Для получения дополнительной информации об этом примере, смотрите Систему Контроля температуры Скорострельного оружия Модели. Для других примеров, которые используют порты входа и выхода, смотрите Изолированный Логика Перехода для Ввода и Выхода из Атомарной Субдиаграммы и Смоделируйте Систему Аварийного прекращения работы Запуска.

Добавьте порты входа и выхода

Чтобы создать запись или выходной порт, добавьте запись или выходное соединение в состоянии или субдиаграмме.

  1. В палитре объектов кликните по значку Записи или Выходному значку.

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

  3. Введите метку для соединения и соответствующего порта. Смотрите Добавляют Метки, чтобы Идентифицировать Соответствие с Соединениями и Портами.

Инструкции для Использования портов входа и выхода

Добавьте соединения входа и выхода только в исключительный (OR) состояния и атомарные субдиаграммы

Соединения входа и выхода поддерживаются только в исключительном (OR) состояния и атомарные субдиаграммы. Не добавляйте запись или выходите из соединений к графикам верхнего уровня, параллель (AND) состояния или поля.

Добавьте метки, чтобы идентифицировать соответствие с соединениями и портами

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

Предотвратите отслеживание в обратном порядке через порты входа и выхода

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

Изолируйте логику перехода для соединений входа и выхода

Пути к переходу, которые запускаются на перекрестках записи или конце на выходных перекрестках, должны содержаться в родительском состоянии.

Не вводите и выходите из состояний в том же временном шаге

И внутренние пути к переходу по умолчанию не должны соединяться с выходным соединением.

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

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

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

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

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

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

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

Похожие темы