Используйте Stateflow ® Editor для рисования, зумирования, изменения, печати и сохранения диаграммы, показанной в окне.
Открытие диаграммы Stateflow отображает диаграмму в редакторе Stateflow.
Чтобы открыть новую диаграмму Stateflow в редакторе Stateflow, выполните следующие действия.
В командной строке MATLAB ® введите:
| Команда | Результат |
|---|---|
sfnew | Создает диаграмму с языком действий по умолчанию. Дополнительные сведения см. в разделе sfnew. |
sfnew -MATLAB | Создает пустую диаграмму с MATLAB в качестве языка действий. |
sfnew -C | Создает пустую диаграмму C. |
stateflow | Создает пустую диаграмму с языком действий по умолчанию и отображает библиотеку блоков Stateflow. |
Откроется редактор Simulink ® с пустой диаграммой.
Дважды щелкните объект диаграммы.
Откроется Редактор потока состояний (Stateflow Editor).

Окно Редактор статусов (Stateflow Editor) содержит следующие разделы.
![]()
Полное имя диаграммы отображается здесь в имени модели/имя диаграммы* формат. * символ отображается в конце имени диаграммы для вновь созданной диаграммы или для существующей диаграммы, которая была отредактирована, но еще не сохранена.

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

Отображает набор инструментов для состояний чертежа, переходов и других объектов диаграммы. Для добавления объекта можно использовать палитру, чтобы:
Щелкните значок объекта и переместите курсор в точку в области рисования, в которую требуется поместить объект.
Перетащите значок объекта в область рисования.
Дважды щелкните значок, а затем щелкните несколько раз в области рисования, чтобы создать копии объекта.
![]()
На пре-римбе показаны системы, открытые в редакторе. Щелкните по системе в панировочной ручке, чтобы отобразить эту систему. E также содержит кнопки для навигации по иерархии диаграмм (см. раздел Навигация по субчартам).
Браузер модели

Щелкните двойные стрелки
в левом нижнем углу, чтобы открыть или закрыть древовидный вид модели в редакторе.
Область рисования - в этой области отображается редактируемая копия диаграммы.
Контекстные меню (контекстные меню) - эти меню появляются в области рисования при щелчке объекта правой кнопкой мыши. Они отображают команды, которые применяются только к этому объекту. Если щелкнуть правой кнопкой мыши пустую область диаграммы, контекстное меню будет применено к объекту диаграммы.
Информация о состоянии - в верхней части редактора можно просмотреть (и сбросить) время моделирования и режим моделирования. В нижней строке состояния отображается состояние обработки Stateflow, всплывающие подсказки, коэффициент масштабирования и решатель.
Можно отменить и повторить операции, выполняемые в диаграмме. При отмене операции отменяется последняя выполненная операция правки. После отмены операций в диаграмме их можно также повторять по одному.
Чтобы отменить операцию на диаграмме, нажмите клавиши CTRL + Z.
Чтобы повторить операцию на диаграмме, нажмите клавиши Ctrl + Y.
На панели «Символы» или в Инспекторе свойств можно отменить и повторить многие операции, выполняемые над объектами Stateflow.
Можно отменить или повторить все операции редактора со следующими исключениями:
Невозможно отменить операцию отключения подшаблона для состояния, ранее включенного в подшаблон.
Сведения о подсхемах см. в разделе Инкапсуляция модальной логики с помощью подсхем.
Невозможно отменить чертеж суперперехода или разделение существующего перехода.
Разделение существующего перехода относится к перенаправлению источника или назначения сегмента перехода, который является частью сверхтрансмента. Описание суперпереходов см. в разделе Рисование суперперехода в подчиненную диаграмму Рисование суперперехода из подчиненной диаграммы.
Нельзя отменить изменения, внесенные в диаграмму с помощью API Stateflow.
Описание API Stateflow см. в разделе Программный интерфейс Stateflow.
Примечание
При выполнении одной из предыдущих операций кнопки отмены и повтора отключаются от отмены и повторного выполнения любых предыдущих операций.
Можно изменить способ отображения в Stateflow отдельного элемента диаграммы или задать глобальные параметры отображения, используемые во всей диаграмме.
Чтобы изменить размер отображения для одного элемента диаграммы, щелкните элемент правой кнопкой мыши и выберите в контекстном меню новый параметр «Формат». Доступные параметры зависят от выбранного элемента.
| Выбор | Государства | Переходы | Соединения | Аннотации | Другие элементы |
|---|---|---|---|---|---|
| Размер шрифта | Доступный | Доступный | Недоступно | Доступный | Доступный |
| Размер стрелки | Доступный | Доступный | Доступный | Недоступно | Недоступно |
| Размер соединения | Недоступно | Недоступно | Доступный | Недоступно | Недоступно |
| Стиль шрифта | Недоступно | Недоступно | Недоступно | Доступный | Недоступно |
| Тень | Недоступно | Недоступно | Недоступно | Доступный | Недоступно |
| Выравнивание текста | Недоступно | Недоступно | Недоступно | Доступный | Недоступно |
В диалоговом окне «Цвета и шрифты» можно указать цветовую схему диаграммы или цвета и шрифты меток для различных типов объектов диаграммы. Чтобы открыть диалоговое окно «Цвета и шрифты», на вкладке «Формат» нажмите «Стиль».

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

Чтобы изменить шрифт элемента, щелкните правой кнопкой мыши образец объекта и выберите новый шрифт, стиль или размер в диалоговом окне.

Чтобы применить схему к диаграмме, нажмите кнопку Применить. Чтобы применить схему и закрыть диалоговое окно, нажмите кнопку «ОК».
Чтобы сделать схему схемой по умолчанию для всех диаграмм, выберите Параметры > Сделать ее схемой по умолчанию.
Чтобы сохранить изменения в цветовой схеме по умолчанию, выберите «Параметры» > «Сохранить значения по умолчанию на диске». Если измененная схема не является схемой по умолчанию, то выбор Сохранить значения по умолчанию на диске не имеет эффекта.
Когда диаграмма закрыта, можно просмотреть содержимое диаграмм Stateflow в Simulink. Можно просмотреть структуру содержимого диаграммы. Во время моделирования можно просмотреть анимацию диаграммы. Когда диаграмма открыта, можно просмотреть содержимое вложенных диаграмм и функций Simulink.
Например, диаграмма временной логики использует предварительный просмотр содержимого. Диаграмма без временной логики не используется.

Чтобы включить предварительный просмотр содержимого для диаграмм и вложенных диаграмм Stateflow, щелкните диаграмму правой кнопкой мыши и выберите «Формат» > «Предварительный просмотр содержимого». Для функций Simulink щелкните правой кнопкой мыши функцию и выберите «Просмотр содержимого». Дополнительные сведения о предварительном просмотре содержимого в Simulink см. в разделе Предварительный просмотр содержимого компонентов модели (Simulink).
Примечание
Для просмотра предварительного просмотра содержимого может потребоваться увеличить диаграмму или объект Stateflow.
Заполнение вкладки Stateflow предоставляет контекстную помощь при редактировании. Заполнение закладки позволяет избежать опечаток. Это также помогает быстро выбрать соответствующие синтаксису параметры для ключевых слов, данных, событий, сообщений и имен функций без необходимости навигации в обозревателе моделей. В диаграмме Stateflow для завершения ввода:
Введите первые несколько символов нужного слова.
Нажмите клавишу Tab, чтобы просмотреть список возможных совпадений.
Для выбора слова используйте клавиши со стрелками.
Нажмите клавишу Tab, чтобы сделать выбор.
Кроме того, можно:
Закройте список, не выбирая ничего, нажав клавишу Esc.
Введите дополнительные символы в исходный термин, чтобы сузить список возможных совпадений.
Если нажать клавишу TAB и слова не будут перечислены, то текущее слово будет единственным возможным совпадением.
Цветовую подсветку можно использовать для различения следующих элементов синтаксиса:
Ключевые слова
Комментарии
События
Сообщения
Функции
Последовательности
Числа
Локальные данные
Постоянные данные
Входные данные
Выходные данные
Данные параметров
Данные памяти хранилища данных
Подсветка синтаксиса является предпочтением пользователя, а не предпочтением модели.
На следующей диаграмме показана подсветка по умолчанию для языковых элементов.

Если синтаксический элемент не может быть разрешен синтаксическим синтаксическим анализатором Stateflow, на диаграмме отображается элемент в текстовом цвете по умолчанию.
В редакторе потока состояний на вкладке «Формат» выберите «Стиль» > «Подсветка синтаксиса».
Откроется диалоговое окно «Настройки выделения синтаксиса».
Щелкните цвет, который требуется изменить, выберите альтернативный цвет в цветовой палитре и нажмите «Применить».
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Настройки выделения синтаксиса.
В редакторе потока состояний на вкладке «Формат» выберите «Стиль» > «Подсветка синтаксиса».
Откроется диалоговое окно «Настройки выделения синтаксиса».
Выберите или снимите флажок Включить подсветку синтаксиса и нажмите кнопку ОК.
Если объект находится в области рисования, выберите его, чтобы внести в него какие-либо изменения или дополнения.
Чтобы выбрать объект, щелкните в любом месте внутри объекта.
Чтобы выбрать несколько смежных объектов, щелкните и перетащите поле выбора так, чтобы оно охватывало или касалось объектов, которые требуется выбрать, а затем отпустите кнопку мыши.
Выбираются все объекты или части объектов в рамке.
Чтобы выбрать несколько отдельных объектов, одновременно нажмите клавишу Shift и щелкните объект или группу объектов.
Этот шаг добавляет объекты в список уже выбранных объектов, если объект не был выбран, и в этом случае объект не выбирается. Этот тип выбора нескольких объектов полезен для выбора объектов в пределах состояния без выбора самого состояния.
Чтобы отменить выделение всех выбранных объектов, щелкните в области рисования, но не на объекте.
При выборе объекта он подсвечивается в цветовом наборе в качестве цвета выделения (по умолчанию синий; для получения дополнительной информации см. раздел Определение цветов и шрифтов в диаграмме).
Можно вырезать объекты из области рисования или вырезать, а затем вставлять их сколько угодно раз. Можно вырезать и вставлять объекты из одной диаграммы в другую. Диаграмма сохраняет список выбора последних вырезанных объектов. Объекты вставляются в область рисования, ближайшую к текущему местоположению указателя.
Чтобы вырезать объект, щелкните его правой кнопкой мыши и выберите в контекстном меню «Вырезать».
Чтобы вставить последний вырезанный набор объектов, щелкните правой кнопкой мыши диаграмму и выберите в контекстном меню команду «Вставить».
Чтобы скопировать и вставить объект в область рисования, выберите объекты, щелкните правой кнопкой мыши и перетащите их в нужное место в области рисования. Эта операция также обновляет буфер обмена диаграммы.
Примечание
При копировании и вставке состояния в диаграмму применяются следующие правила:
Если исходное состояние использует значение по умолчанию ? метка, то новое состояние сохраняет эту метку.
Если исходное состояние не использует значение по умолчанию ? после чего создается уникальное имя для нового состояния.
Либо для копирования из одной диаграммы в другую выберите «Копировать», а затем «Вставить» в контекстном меню.
Чтобы прокомментировать объект Stateflow, щелкните правой кнопкой мыши выбранный объект и выберите Комментарий Out. Дополнительные сведения см. в разделе Комментирование объектов Stateflow в диаграмме.
Чтобы улучшить удобочитаемость объектов диаграммы, в редакторе Stateflow можно использовать команды на вкладке Формат (Format). Эти команды включают в себя опции для:
Выравнивание
Распределение
Изменение размеров
Можно выровнять, распределить или изменить размер следующих объектов диаграммы:
Государства
Функции
Коробки
Соединения
Некоторые из этих параметров появляются только после выбора элементов в диаграмме.
Основные шаги выравнивания, распределения или изменения размеров объектов диаграммы аналогичны.
Если диаграмма включает параллельные состояния или исходящие переходы из одного источника, убедитесь, что диаграмма использует явное упорядочение.
Чтобы задать явный порядок, в диалоговом окне Свойства диаграммы выберите Заданный пользователем порядок выполнения состояния/перехода.
Примечание
Если диаграмма использует неявное упорядочение для определения порядка выполнения параллельных состояний или порядка оценки исходящих переходов, порядок может измениться после выравнивания, распределения или изменения размеров объектов диаграммы. Использование явного упорядочения предотвращает это изменение. Дополнительные сведения см. в разделах Порядок выполнения для параллельных состояний и Порядок оценки перехода.
Выберите объекты диаграммы, которые требуется выровнять, распределить или изменить размер.
Объекты можно выбрать в любом порядке, поочередно или нарисовав вокруг них рамку.
Выберите объект, который будет использоваться в качестве привязки для выравнивания, распределения или изменения размеров других объектов диаграммы. Этот объект является ссылочным.
Чтобы задать объект в качестве ссылки, щелкните объект правой кнопкой мыши. Вокруг опорного объекта появляются скобки. В следующем примере Door и Motion выбираются состояния, и Door состоянием является ссылка.

Примечание
При выборе объектов один за другим в качестве привязки выступает последний выбранный объект.
Выберите параметр на вкладке Формат (Format), чтобы выровнять, распределить или изменить размер выбранных объектов.
Дополнительные сведения о параметрах распределения объектов диаграммы см. в разделе Параметры распределения объектов диаграммы.
| Выбор | Описание |
|---|---|
| Распределить по горизонтали | Расстояние от центра до центра по горизонтали между любыми двумя объектами одинаково. Примечание Горизонтальное пространство для распределения - это расстояние между левым краем крайнего левого объекта и правым краем крайнего правого объекта. Если общая ширина выбранных объектов превышает доступное горизонтальное пространство, объекты могут перекрываться после распределения. |
| Распределить по вертикали | Расстояние от центра до центра по вертикали между любыми двумя объектами одинаково. Примечание Вертикальное пространство для распределения - это расстояние между верхней кромкой самого высокого объекта и нижней кромкой самого нижнего объекта. Если общая высота выбранных объектов превышает доступное вертикальное пространство, объекты могут перекрываться после распределения. |
| Даже горизонтальные промежутки | Горизонтальное пустое пространство между любыми двумя объектами одинаково. Примечание Ограничение пространства для параметра «Распределить по горизонтали» применяется. |
| Даже вертикальные промежутки | Вертикальное пустое пространство между любыми двумя объектами одинаково. Примечание Ограничение пространства для функции «Распределить по вертикали» применяется. |
Предположим, что вы открываете sf_pool и увидеть диаграмму с несколькими функциями MATLAB.

Для выравнивания трех функций MATLAB справа:
Откройте окно sf_pool модель. Дважды щелкните блок Пул, чтобы открыть диаграмму.
Совет
Раскройте редактор State Flow Editor, чтобы увидеть всю диаграмму.
Щелкните функцию isAnyBallGoingToStop.
Щелкните функцию, удерживая нажатой клавишу «Shift» isAnyBallNewlyPocketed.
Щелкните функцию, удерживая нажатой клавишу «Shift» getBallInteraction.
Этот объект является ссылкой (или якорем) для выравнивания трех функций. Вокруг функции появляются скобки.

На вкладке Формат (Format) щелкните Выровнять вправо (Align Right).
Этот шаг выравнивает правые края трех функций на основе правого края getBallInteraction.

Предположим, что вы открываете sf_frame_sync_controller и увидеть диаграмму с тремя состояниями.

Чтобы распределить три состояния по вертикали:
Откройте окно sf_frame_sync_controller модель.
Совет
Дважды щелкните блок Контроллер синхронизации кадров, чтобы открыть диаграмму.
Выберите три состояния в любом порядке.
Щелкните несколько состояний, удерживая нажатой клавишу «Shift».

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

Изменение размера графических функций таким образом, чтобы они соответствовали размеру detectSlip:
Откройте окно sf_clutch_enabled_subsystems модель.
На диаграмме Режим трения (Friction Mode) выберите три графические функции, нарисовав вокруг них рамку.
Набор detectSlip в качестве ссылочного объекта, используемого для изменения размеров.
Щелкните правой кнопкой мыши функцию, чтобы отметить ее скобками.

На вкладке Формат (Format) щелкните Сопоставить размер (Match Size
).
Этот шаг обеспечивает одинаковый размер трех функций.

Настройте функциональные поля, чтобы исправить формат:
На вкладке Формат (Format) щелкните Выровнять влево (Align Left
).

На вкладке «Формат» выберите «Четные вертикальные промежутки
».

С помощью функции «Упорядочить автоматически» Stateflow упорядочивает диаграммы следующим образом:
Разверните состояния и переходы в соответствии со строками меток.
Измените размер аналогичных состояний на одинаковый.
Выровнять состояния, если они слегка не выровнены.
Выпрямляет переходы.
Перемещение меток горизонтального перехода в среднюю точку.
На вкладке Формат (Format) щелкните Автоматическое упорядочение (Auto Orange).
В этом примере диаграмма имеет:
Действия состояния, которые находятся за пределами границы для состояния A.
Условие перехода, перекрывающее состояние B.
Переход, который не является горизонтальным.

После автоматического упорядочения компоновки:
Действия состояния содержатся в состоянии А.
Условие перехода не перекрывается в состояние B.
Нижний переход горизонтален.

Отчет «Сведения о печати» является расширением отчета «Сведения о печати» в окне модели Simulink. Он предоставляет отчет об объектах Stateflow и Simulink относительно текущей диаграммы, из которой выбирается отчет.
Чтобы создать отчет о модели для объектов диаграммы, выполните следующие действия.
Откройте диаграмму или вложенную диаграмму, для которой требуется создать отчет.
На вкладке Моделирование выберите Печать > Печать подробных данных.
Появится диалоговое окно «Сведения о печати».

Введите папку назначения файла отчета и выберите параметры, чтобы указать, какие объекты отображаются в отчете.
Дополнительные сведения о настройке полей в разделе Расположения файлов/параметры именования см. в разделе Печать отчетов по модели (Simulink). Дополнительные сведения о полученном отчете см. в разделах Параметры системного отчета и Формат отчета.
Щелкните Печать (Print).
Появится диалоговое окно «Сведения о печати», в котором отслеживается создание отчета. Дополнительные сведения см. в разделе Печать отчетов по модели (Simulink).
Отчет HTML отображается в браузере по умолчанию.
Совет
Если установлен Generator™ Simulink Report, можно создать подробный отчет о системе. Для этого на вкладке Моделирование (Modeling) в разделе Модель (Design) выберите Отчет о конструкции системы (System Design Report). Дополнительные сведения см. в разделе Описание конструкции системы (генератор отчетов Simulink).
Отчеты для текущей диаграммы Stateflow зависят от выбора одного из полей Опции системного отчета:
Текущий (Current) - отчеты о диаграмме или подзаголовке в текущем окне редактора и его непосредственной родительской системе Simulink.
Текущий и выше - этот параметр выделен серым цветом и недоступен для печати подробных данных диаграммы.
Current and below (Текущий и ниже) - отчеты на диаграмме или подшарте в окне текущего редактора и все содержимое на более низких уровнях иерархии вместе с системой Simulink.
Вся модель - отчеты по всей модели, включая все диаграммы и все системы Simulink.
При выборе этой опции отчет можно изменить следующим образом:
Диалоговое окно Поиск под маской (Look under mask) - включает в отчет содержимое маскированных подсистем.
Развернуть уникальные библиотечные ссылки - включает содержимое библиотечных блоков, которые являются подсистемами отчета.
Отчет включает библиотечную подсистему только один раз, даже если она находится в нескольких местах модели.
Общий формат отчета «Сведения о печати» сверху вниз выглядит следующим образом:
В отчете отображается название системы в модели Simulink, содержащей диаграмму или вложенную диаграмму в текущем представлении.
Ниже приведено представление иерархии Simulink для содержащей системы и ее подсистем. Каждая подсистема в иерархии ссылается на отчет своих диаграмм Stateflow.
Раздел отчета для диаграмм Stateflow каждой системы или подсистемы начинается с небольшого отчета по системе или подсистеме, за которым следует отчет по каждой содержащейся диаграмме.
Каждый отчет по диаграмме включает воспроизведение своей диаграммы со ссылками на подшаблонные состояния, которые имеют собственные отчеты.
Приложение содержит таблицу объектов Stateflow и Simulink в отчете.