Операции редактора Stateflow

Редактор Stateflow

Используйте Stateflow® Редактор для рисования, масштабирования, изменения, печати и сохранения графика, показанной в окне.

При открытии диаграммы Stateflow график отображается в редакторе Stateflow.

Чтобы открыть новую диаграмму Stateflow в редакторе Stateflow:

  1. В MATLAB® в командной строке введите:

    КомандаРезультат
    sfnew
    Создание графика с языком действий по умолчанию. Для получения дополнительной информации смотрите sfnew.
    sfnew -MATLAB
    Создает пустой график с MATLAB в качестве языка действий.
    sfnew -C
    Создание пустого графика С.
    stateflow
    Создает пустой график с языком действий по умолчанию и отображает библиотеку блоков Stateflow.

    Simulink® Откроется редактор с пустым графиком.

  2. Дважды кликните объект графика.

    Откроется редактор Stateflow.

Окно Редактора Stateflow включает следующие разделы:

  • Строка заголовка

    Полное имя графика появляется здесь в названии модели /имя графика * формат. The * символ появляется в конце имени графика для только что созданной графика или для существующего графика, которая была отредактирована, но еще не сохранена.

  • Панель инструментов

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

  • Палитра объектов

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

    • Щелкните значок объекта и переместите курсор на место в области рисования, где необходимо разместить объект.

    • Перетащите значок объекта в область рисования.

    • Дважды кликните значок и несколько раз щелкните значок в области рисования, чтобы создать копии объекта.

  • Панель проводника

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

  • Model Browser

    Щелкните двойные стрелы в левом нижнем углу, чтобы открыть или закрыть древовидное структурированное представление модели в редакторе.

  • Область рисования - в этой области отображается редактируемая копия графика.

  • Контекстные меню (контекстные меню) - эти меню всплывают из области рисования при щелчке правой кнопкой мыши по объекту. Они отображают команды, которые применяются только к этому объекту. Если щелкнуть правой кнопкой мыши пустую область графика, контекстное меню применимо к объекту графика.

  • Информация о состоянии - В верхней части редактора можно увидеть (и сбросить) время симуляции и режим симуляции. В нижней строке состояния отображается статус обработки Stateflow, инструмент советов, коэффициент масштабирования и решатель.

Операции редактора отмены и повторения

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

  • Чтобы отменить операцию на графике, нажмите Ctrl + Z.

  • Чтобы повторить операцию на графике, нажмите Ctrl + Y.

Можно отменить и повторить многие операции, выполняемые для объектов Stateflow на панели «Символы» или в Property Inspector.

Исключения для отмены

Можно отменить или повторить все операции редактора за следующими исключениями:

  • Вы не можете отменить операцию отключения подграфиков для состояния, ранее подграфикованного.

    Чтобы понять подграфику, см. «Инкапсуляция модальной логики при помощи субдиаграмм».

  • Невозможно отменить чертеж суперперехода или разделение существующего перехода.

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

  • Вы не можете отменить изменения, внесенные в график с помощью Stateflow API.

    Описание API Stateflow смотрите в Stateflow Programmatic Interface.

    Примечание

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

Задание цветов и шрифтов на графике

Можно изменить способ отображения Stateflow отдельного элемента массива диаграммы или задать глобальные параметры отображения, используемые на всем графике.

Изменение размера одного элемента

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

ОпцияГосударстваПереходыСоединенияАннотацииДругие элементы
Font SizeДоступныйДоступныйНедоступноДоступныйДоступный
Arrowhead SizeДоступныйДоступныйДоступныйНедоступноНедоступно
Junction SizeНедоступноНедоступноДоступныйНедоступноНедоступно
Font StyleНедоступноНедоступноНедоступноДоступныйНедоступно
ShadowНедоступноНедоступноНедоступноДоступныйНедоступно
Text AlignmentНедоступноНедоступноНедоступноДоступныйНедоступно

Изменение параметров глобального отображения

В диалоговом окне Colors & Fonts можно задать цветовую схему для графика или задать цвета и маркировать шрифты для различных типов объектов на графике. Чтобы открыть диалоговое окно Colors & Fonts, на вкладке Format, нажмите Style.

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

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

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

Чтобы применить схему к графику, нажмите Apply. Чтобы применить схему и закрыть диалоговое окно, нажмите OK.

Чтобы сделать схему схемой по умолчанию для всех графиков, выберите Options > Make this the 'Default' scheme.

Чтобы сохранить изменения в цветовой схеме по умолчанию, выберите Options > Save defaults to disk. Если измененная схема не является схемой по умолчанию, выбор Save defaults to disk не имеет никакого эффекта.

Предварительный просмотр содержимого для объектов Stateflow

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

Для примера в график Temporal Logic используется предварительный просмотр содержимого. Функция графика Without Temporal Logic не работает.

Чтобы включить предпросмотр содержимого для диаграмм и субдиаграмм Stateflow, щелкните график правой кнопкой мыши и выберите Format > Content Preview. Для функций Simulink щелкните правой кнопкой мыши функцию и выберите Content Preview. Для получения дополнительной информации о предпросмотре содержимого в Simulink, смотрите Предварительный просмотр содержимого компонентов модели (Simulink).

Примечание

В порядок, чтобы увидеть предпросмотр содержимого, вам может потребоваться увеличить диаграмму или объект Stateflow.

Интеллектуальное заполнение клавишей Tab для диаграмм Stateflow

Заполнение клавишей Tab Stateflow предоставляет контекстно-зависимую помощь в редактировании. Заполнение клавишей Tab помогает избежать типографских ошибок. Это также помогает вам быстро выбрать подходящие для синтаксиса опции для ключевых слов, данных, события, сообщений и имен функции, не перемещаясь по Model Explorer. На диаграмме Stateflow, для завершения записей:

  1. Введите первые несколько символов нужного слова.

  2. Нажмите Tab, чтобы увидеть список возможных матчей.

  3. Используйте клавиши со стрелами для выбора слова.

  4. Нажмите Tab, чтобы сделать выбор.

Кроме того, вы можете:

  • Закройте список, не выбирая ничего, нажав клавишу Esc.

  • Введите дополнительные символы в исходный термин, чтобы сузить список возможных совпадений.

Если вы нажимаете Tab, а слов нет в списке, то текущее слово является единственно возможным совпадением.

Дифференцирование элементов синтаксиса языка действий

Вы можете использовать подсветку цветов, чтобы дифференцировать следующие синтаксические элементы:

  • Ключевые слова

  • Комментарии

  • События

  • Сообщения

  • Функции

  • Строки

  • Числа

  • Локальные данные

  • Постоянные данные

  • Входные данные

  • Выходные данные

  • Данные о параметре

  • Данные памяти хранилища данных

Подсветка синтаксиса является пользовательским выбором, а не модельным выбором.

Подсветка синтаксиса по умолчанию

Следующий график иллюстрирует подсветку по умолчанию для элементов языка.

The default highlighting.

Если анализатор Stateflow не может разрешить синтаксический элемент, график отображает элемент в текстовом цвете по умолчанию.

Подсветка синтаксиса редактирования

  1. В редакторе Stateflow, на вкладке Format, нажмите Style > Syntax Highlighting.

    Откроется диалоговое окно Настройки подсветки синтаксиса.

  2. Щелкните цвет, который необходимо изменить, выберите альтернативу из цветовой палитры и нажмите кнопку Apply.

  3. Нажмите кнопку OK, чтобы закрыть диалоговое окно Настройки подсветки синтаксиса.

Включение и отключение подсветки синтаксиса

  1. В редакторе Stateflow, на вкладке Format, нажмите Style > Syntax Highlighting.

    Откроется диалоговое окно Настройки подсветки синтаксиса.

  2. Выберите или очистите Enable syntax highlighting и нажмите OK.

Выбор и отмена выбора графических объектов

Если объект находится в области рисования, для внесения любых изменений или сложений в этот объект выберите его.

  • Чтобы выбрать объект, щелкните в любом месте объекта.

  • Чтобы выбрать несколько смежных объектов, щелкните и перетащите окно выбора так, чтобы оно охватывало или касалось объектов, которые вы хотите выбрать, а затем отпустите кнопку мыши.

    Все объекты или фрагменты объектов в рамке становятся выбранными.

  • Чтобы выбрать несколько отдельных объектов, одновременно нажмите клавишу Shift и щелкните объект или рамку группы объектов.

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

  • Чтобы отменить выбор всех выбранных объектов, щелкните значок в области рисования, но не на объекте.

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

Вырезание и вставка графических объектов

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

  • Чтобы вырезать объект, щелкните правой кнопкой мыши объект и выберите Cut из контекстного меню.

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

Копирование графических объектов

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

Примечание

Если вы копируете и вставляете состояние в график, применяются следующие правила:

  • Если исходное состояние использует значение по умолчанию ? label, затем новое состояние сохраняет эту метку.

  • Если исходное состояние не использует значение по умолчанию ? метка, затем генерируется уникальное имя для нового состояния.

Кроме того, чтобы скопировать с одного графика на другую, выберите Copy и затем Paste из контекстного меню, удерживаемого правой кнопкой мыши.

Комментарии к объектам

Чтобы закомментировать объект Stateflow, щелкните правой кнопкой мыши выбранный объект и выберите Comment Out. Для получения дополнительной информации смотрите Комментарий объектов Stateflow в графике.

Формат объектов графика

Для повышения читаемости объектов на графике в редакторе Stateflow можно использовать команды на вкладке Format. Эти команды включают опции для:

  • Выравнивание

  • Распределение

  • Изменение размеров

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

  • Государства

  • Функции

  • Коробки

  • Соединения

Некоторые из этих опций появляются только после выбора элементов на графике.

Выравнивание, распределение и изменение размера объектов графика

Основные шаги для выравнивания, распределения или изменения размера объектов графика аналогичны.

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

    Чтобы задать явное упорядоченное расположение, в диалоговом окне Свойства графика выберите User-specified state/transition execution order.

    Примечание

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

  2. Выберите объекты графика, которые необходимо выровнять, распределить или изменить размер.

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

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

    Чтобы задать объект в качестве ссылки, щелкните правой кнопкой мыши объект. Скобки появляются вокруг объекта ссылки. В следующем примере Door и Motion состояния выбраны, и Door состояние является ссылкой.

    Примечание

    Если вы выбираете объекты один на один, последний объект, который вы выбираете, действует как ссылка.

  4. Выберите опцию на вкладке Format, чтобы выровнять, распределить или изменить размер выбранных объектов.

    Для получения дополнительной информации об опциях распределения объектов графика смотрите Опции для распределения объектов графика

Опции для распределения объектов графика

ОпцияОписание
Distribute Horizontally

Горизонтальное расстояние по центру между любыми двумя объектами одинаковое.

Примечание

Горизонтальное пространство для распределения является расстоянием между левым краем самого левого объекта и правым ребром самого правого объекта. Если общая ширина выбранных объектов превышает доступное горизонтальное пространство, объекты могут перекрываться после распределения.

Distribute Vertically

Вертикальное расстояние по центру между любыми двумя объектами одинаковое.

Примечание

Вертикальное пространство для распределения является расстоянием между верхним краем самого высокого объекта и нижним ребром самого нижнего объекта. Если общая высота выбранных объектов превышает доступное вертикальное пространство, объекты могут перекрываться после распределения.

Even Horizontal Gaps

Горизонтальное пустое пространство между любыми двумя объектами одинаковое.

Примечание

Применимо ограничение пространства для Distribute Horizontally.

Even Vertical Gaps

Вертикальное пустое пространство между любыми двумя объектами одинаковое.

Примечание

Применимо ограничение пространства для Distribute Vertically.

Пример выравнивания объектов графика

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

Для выравнивания трех функций MATLAB справа:

  1. Откройте sf_pool модель. Дважды кликните блок Пул, чтобы открыть график.

    Совет

    Разверните Редактор Stateflow, чтобы увидеть весь график.

  2. Щелкните функцию isAnyBallGoingToStop.

  3. Щелкните функцию, удерживая клавишу Shift isAnyBallNewlyPocketed.

  4. Щелкните функцию, удерживая клавишу Shift getBallInteraction.

    Этот объект является ссылкой (или якорем) для выравнивания трех функций. Скобки появляются вокруг функции.

  5. На вкладке « Формате» нажмите «Выровнять справа».

    На этом шаге выравниваются правые ребра трех функций на основе правого ребра getBallInteraction.

Пример распределения объектов графика

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

Чтобы распределить три состояния вертикально:

  1. Откройте sf_frame_sync_controller модель.

    Совет

    Дважды кликните блок Frame Sync Controller, чтобы открыть график.

  2. Выберите три состояния в любом порядке.

    Щелкните, удерживая клавишу Shift, чтобы выбрать несколько состояний.

    Примечание

    Когда вы выбираете три состояния в любом порядке, ваша ссылка объект может отличаться от показанного. Это различие не влияет на распределение вертикального белого пространства.

  3. На вкладке Format нажмите Even Vertical Gaps.

    Этот шаг гарантирует, что вертикальное пустое пространство между любыми двумя состояниями одинаково.

Пример изменения размера объектов графика

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

Изменить размер графических функций так, чтобы все они совпадали с размером detectSlip:

  1. Откройте sf_clutch_enabled_subsystems модель.

  2. На графике режима трения выберите три графические функции, нарисовав вокруг них рамку.

  3. Задайте detectSlip как ссылочный объект, используемый для изменения размера.

    Щелкните правой кнопкой мыши функцию, чтобы пометить ее скобками.

  4. На вкладке Format нажмите Match Size.

    Этот шаг гарантирует, что три функции имеют одинаковый размер.

  5. Настройте функциональные поля, чтобы исправить формат:

    1. На вкладке Format нажмите Align Left.

    2. На вкладке Format нажмите Even Vertical Gaps.

Автоматическое форматирование графика

С помощью Arrange Automatic, Stateflow организует ваши графики так:

  • Разверните состояния и переходы, чтобы соответствовать их строкам меток.

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

  • Выравнивание состояний, если они были слегка смещены.

  • Выпрямляет переходы.

  • Перемещение меток горизонтального перехода в середину.

На вкладке Format нажмите Auto Arrange.

В этом примере график имеет:

  1. Состояния активности, которые находятся вне контура для состояния A.

  2. Условие перехода, которое перекрывает состояние B.

  3. Переход, который не является горизонтальным.

После автоматического размещения макета:

  1. Состояния активности содержатся в состоянии А.

  2. Условие перехода не перекрывается в состояние B.

  3. Нижний переход горизонтален.

Сгенерируйте отчет модели

Отчет Print Details является расширением отчета Print Details в окне модели. В нем содержится отчет об объектах Stateflow и Simulink относительно графиков, из которых вы выбираете отчет.

Чтобы сгенерировать отчет модели по объектам графика:

  1. Откройте график или субдиаграмму, для которого требуется отчет.

  2. На вкладке Simulation выберите Print > Print Details.

    Откроется диалоговое окно Print Details.

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

    Для получения дополнительной информации об установке полей в разделе Файла locations/naming опций см. раздел Print Модели Reports (Simulink). Для получения дополнительной информации о получаемом отчете см. разделы Опций системного отчета и Формат отчета.

  4. Нажмите Print.

Откроется диалоговое окно Print Details, в котором будет отслеживаться генерация отчетов. Для получения дополнительной информации об этом окне см. раздел Печать отчетов о модели (Simulink).

Отчет о HTML появится в браузере по умолчанию.

Совет

Если Simulink Report Generator™ установлен, можно сгенерировать подробный отчет о системе. Для этого на вкладке Modeling, под Design, выберите System Design Report. Для получения дополнительной информации смотрите Разработку системы Description (Simulink Report Generator).

Опции системного отчета

Отчеты для текущей диаграммы Stateflow варьируются при выборе одного из полей Опции системного отчета:

  • Текущий - Отчеты на графике или субдиаграмме в текущем окне редактора и его непосредственной родительской системе Simulink.

  • Текущий и выше - Эта опция серая и недоступна для печати данных графика.

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

  • Вся модель - Отчеты по всей модели, включая все графики и все системы Simulink.

    Если вы выбираете эту опцию, можно изменить отчет следующим образом:

    • Смотрите под диалоговое окно маски - включает содержимое маскированных подсистем в отчет.

    • Расширение уникальных библиотечных ссылок - включает в отчет содержимое библиотечных блоков, являющихся подсистемами.

      Отчет включает подсистему библиотеки только один раз, даже если она происходит в более чем одном месте модели.

Формат отчета

Общий формат отчета «Сведения о печати» сверху ниже:

  • В отчете показан заголовок системы в модели Simulink, содержащей график или субдиаграмму в текущем представлении.

  • Ниже приводится представление иерархии Simulink для содержащей системы и ее подсистем. Каждая подсистема в иерархии соединяется с отчетом ее диаграмм Stateflow.

  • Раздел отчета для диаграмм Stateflow каждой системы или подсистемы начинается с небольшого отчета о системе или подсистеме, за которым следует отчет о каждой содержащемся графике.

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

  • В приложении приведены охватываемые объекты Stateflow и Simulink в отчете.

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