Инкапсулируйте модальную логику при помощи подграфиков

subchart является графическим объектом, который может содержать что-либо, что график верхнего уровня может, включая другие подграфики. Подграфик или состояние подотмеченное на диаграмме, является сверхсостоянием состояний, которые он содержит. Можно вложить подграфики к любому уровню в проекте графика.

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

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

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

Некоторые подграфики могут стать атомарными модулями, если они удовлетворяют определенные требования моделирования. Для получения дополнительной информации смотрите Ограничения для Преобразования в Атомарные Подграфики.

Создайте подграфик

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

Преобразовывать новое или существующее состояние, поле или графическую функцию к подграфику:

  1. Щелкните правой кнопкой по объекту и выберите Group & Subchart> Subchart.

  2. Подтвердите, что объект теперь появляется как подграфик.

Чтобы преобразовать подграфик назад в его исходную форму, щелкните правой кнопкой по подграфику. В контекстном меню выберите Group & Subchart> Subchart.

Правила преобразования подграфика

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

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

Преобразуйте состояние в подграфик

Предположим, что у вас есть следующий график:

  1. Преобразовывать On утвердите к подграфику, щелкните правой кнопкой по состоянию и выберите Group & Subchart> Subchart.

  2. Подтвердите что On состояние теперь появляется как подграфик.

Управляйте подграфиками как объектами

Подграфики также действуют как отдельные объекты. Можно переместить, скопировать, сократить, вставить, повторно пометить и изменить размер подграфиков, когда вы были бы состояния и поля. Можно также чертить переходы к и из подграфика и любого другого состояния или подграфика на тех же или разных уровнях в иерархии графика (см. Перемещение Между Уровнями Иерархии при помощи Суперпереходов).

Откройте подграфик

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

  • Дважды кликните где угодно в поле, которое представляет подграфик.

  • Выберите поле, представляющее подграфик, и нажмите клавишу Enter.

Отредактируйте подграфик

После того, как вы открываете подграфик (см. Открытый Подграфик), можно выполнить любую операцию редактирования на ее содержимом, которое можно выполнить на графике верхнего уровня. Это означает, что можно создать, скопировать, вставить, сократить, повторно пометить и изменить размер состояний, переходов и подграфиков в подграфике. Можно также сгруппировать состояния, поля и графические функции в подграфиках.

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

Переходы от внешних подграфиков до состояний или соединений в подграфиках называются суперпереходами. Вы создаете суперпереходы по-другому, чем вы делаете обычные переходы. Смотрите Перемещение Между Уровнями Иерархии при помощи Суперпереходов для получения информации о создании суперпереходов.

Переместитесь по подграфикам

Панель инструментов Editor Stateflow® содержит набор кнопок для навигации по иерархии подграфика графика.

Инструмент

Описание

Если редактор Stateflow отображает подграфик, отмечание этой кнопки заменяет подграфик на родительский элемент подграфика в редакторе Stateflow. Если редактор Stateflow отображает график верхнего уровня, отмечание этой кнопки заменяет график на окно модели Simulink®, содержащее тот график.

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

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

Примечание

Можно также использовать ключ Escape, чтобы перейти до родительского объекта для состояния подотмеченного на диаграмме, поля или функции.