Stateflow.Chart

Графическое представление конечного конечного автомата

    Описание

    Использование Stateflow.Chart объект для создания графического представления конечного конечного автомата путем объединения состояний, переходов и данных. Для получения дополнительной информации смотрите Finite State Machine Концепций и Создайте Графики при помощи Stateflow API.

    Создание

    Как создать Stateflow.Chart объект, вызовите функцию sfnew. Например, чтобы создать пустой график в новом Simulink® модель называется myModel, введите:

    sfnew myModel

    Также можно добавить новый график к существующей модели с помощью функции add_block (Simulink):

    add_block('sflib/Chart','myModel/Chart')

    Затем, чтобы получить доступ к Stateflow.Chart объект, вызовите find функция для Simulink.Root объект:

    rt = sfroot;
    chart = find(rt,'-isa','Stateflow.Chart', ...
        'Path','myModel/Chart');

    Свойства

    расширить все

    Содержимое

    Имя графика, заданное как вектор символов.

    Язык действия, используемый для программирования графика, задается как 'MATLAB' или 'C'. Для получения дополнительной информации смотрите Различия между MATLAB и C как синтаксис языка действий.

    Семантика конечного автомата, реализованная графиком, задается как 'Classic', 'Mealy', или 'Moore'. Для получения дополнительной информации смотрите Обзор машин Мили и Мура.

    Поддерживает ли график данные переменного размера, заданные в виде числа или логического 1 (true) или 0 (false). Только данные переменного размера могут изменить размерность во время симуляции. Для получения дополнительной информации см. «Объявление данных переменного размера в диаграммах Stateflow».

    Разложение состояний

    Разложение подсостояний на верхнем уровне защитной оболочки на графике, заданное как 'EXCLUSIVE_OR' или 'PARALLEL_AND'. Для получения дополнительной информации смотрите Задать разложение подсостояния.

    Инициализация графика

    Является ли инициализация строения состояния графика в начальный момент времени вместо при первом входном событии, заданная в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации смотрите Выполнение графика при инициализации.

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

    • '' - График не содержит входных событий вызова функции.

    • 'held' - На графике сохраняются самые последние значения состояний.

    • 'reset' - График возвращается к начальным условиям состояний.

    Для получения дополнительной информации смотрите Состояния управления в Графиках, активируемых входными Событиями вызова функции.

    Является ли инициализация выходных данных каждый раз, когда график просыпается, заданная в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации смотрите Инициализация выходов каждый раз, когда график просыпается.

    Выход активного состояния

    Создайте ли активный выходной порт данных о состоянии для графика, заданный в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации смотрите Мониторинг активности состояния через данные активного состояния.

    Это свойство доступно только для чтения.

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

    Имя объекта данных активного состояния для графика, заданное как вектор символов. Это свойство применяется только когда HasOutputData свойство для графика true.

    Режим мониторинга данных выходов активного состояния, заданный как 'ChildActivity' или 'LeafStateActivity'.

    Имя перечисляемого типа данных для объекта данных активного состояния для графика, заданное как вектор символов. Для получения дополнительной информации см. раздел «Имя перечисления».

    Задавать ли перечисляемый тип данных для выхода данных о активном состоянии вручную, задается в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации смотрите Задать перечисляемый тип действий состояния.

    Дискретная и непрерывная семантика

    Метод активации для графика, заданный как 'CONTINUOUS', 'DISCRETE', или 'INHERITED'. Для получения дополнительной информации см. «Метод обновления».

    Шаг расчета для активации графика, заданный как вектор символов. Это свойство применяется только когда ChartUpdate свойство для графика 'DISCRETE'.

    Разрешает ли обнаружение пересечения нулем при переходах состояний на графике, задается в виде числа или логического 1 (true) или 0 (false). Это свойство применяется только когда ChartUpdate свойство для графика установлено в 'CONTINUOUS'. Для получения дополнительной информации смотрите Отключение обнаружения пересечения нулем.

    Семантика супер-шага

    Включить ли семантику супер-шага для графика, заданную в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации см. Раздел «Семантика супер-шагов».

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

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

    • 'Proceed' - График переходит в спящий режим с последним активным строением состояния.

    • 'Throw Error' - График генерирует ошибку.

    Это свойство применяется только когда EnableNonTerminalStates свойство для графика true.

    Экспортированные функции

    Экспортировать ли функции уровня диаграммы в другие блоки в модели Simulink, заданные в виде числа или логического 1 (true) или 0 (false). Для получения дополнительной информации смотрите Экспорт функций Stateflow для повторного использования.

    Являются ли экспортированные функции из графика глобально видимыми в модели Simulink, заданной в виде числа или логического 1 (true) или 0 (false). Когда это свойство включено, блоки по всей модели могут вызывать функции, экспортированные из графика, не используя квалифицированное обозначение. Это свойство применяется только когда ExportChartFunctions свойство для графика true.

    Целое число и данные с фиксированной точкой

    Насыщаются ли данные на графике при целочисленном переполнении, заданном как число или логический 1 (true) или 0 (false). Когда это свойство отключено, данные на графике переносятся при целочисленном переполнении. Для получения дополнительной информации смотрите Handle Integer Overflow для данных графика.

    Унаследованные сигналы Simulink для обработки как Fixed-Point Designer™ fi объекты, заданные как одно из следующих значений:

    • 'Fixed-point' - График обрабатывает все входы с фиксированной точкой следующим fi объекты.

    • 'Fixed-point & Integer' - График обрабатывает все входы с фиксированной точкой и целое число следующим fi объекты.

    Это свойство применяется только к графикам, которые используют MATLAB® как язык действий.

    Значения по умолчанию fimath свойства для графика, заданные в качестве одного из следующих значений:

    • 'Same as MATLAB Default' - Использовать ту же fimath свойства как текущее значение по умолчанию fimath объект.

    • 'Other:UserSpecified' - Используйте InputFimath свойство для задания fimath по умолчанию объект.

    Это свойство применяется только когда ActionLanguage свойство графика 'MATLAB'.

    Значения по умолчанию fimath объект, заданный как вектор символов. Когда EmlDefaultFimath свойство для графика 'Other:UserSpecified', вы можете использовать это свойство для:

    • Введите выражение, которое создает fimath объект.

    • Введите имя переменной для fimath объект в MATLAB или рабочее пространство модели.

    Это свойство применяется только к графикам, которые используют MATLAB в качестве языка действий.

    Генерация кода

    Включает ли сгенерированный код условный оператор препроцессора для вариантов условий на графике, заданных в виде числа или логического 1 (true) или 0 (false). Это свойство применяется только при генерации кода с помощью Embedded Coder®. Для получения дополнительной информации смотрите Генерация кода с использованием переходов вариантов.

    Язык действий на C

    Использовать ли сильное типирование данных, когда график взаимодействует с входными и выходными сигналами Simulink, заданными в виде числа или логического 1 (true) или 0 (false). Это свойство применяется только к графикам, которые используют C в качестве языка действий. Для получения дополнительной информации смотрите Использование сильного набора данных с Simulink ввод-вывод.

    Использовать ли битовые операции в состоянии и переходные действия на графике, заданные в виде числа или логического 1 (true) или 0 (false). Это свойство применяется только к графикам, которые используют C в качестве языка действий. Для получения дополнительной информации смотрите Включить C-битные операции.

    Использовать ли явное упорядоченное расположение параллельных состояний и переходов, заданное в виде числа или логического 1 (true) или 0 (false). Это свойство применяется только к графикам, которые используют C в качестве языка действий. Для получения дополнительной информации смотрите Пользовательское состояние/порядок выполнения перехода.

    Отладка

    Устанавливать ли On Chart Entry точка останова для графика, заданная в виде числа или логического 1 (true) или 0 (false).

    Пример: chart.Debug.Breakpoints.OnEntry = true;

    Графический внешний вид

    Это свойство доступно только для чтения.

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

    Отображает ли Редактора Stateflow окно графика, заданную в виде числа или логического 1 (true) или 0 (false).

    Цвет фона для графика, заданный как трехэлементный числовой вектор вида [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Цвет для полей, функций и состояний на графике, заданный как трехэлементный числовой вектор формы [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Цвет для переходов на графике, заданный как трехэлементный числовой вектор вида [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Цвет для соединений на графике, заданный как трехэлементный числовой вектор вида [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Цвет для меток поля, функции и состояния на графике, заданный как трехэлементный числовой вектор формы [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Угол шрифта для меток поля, функции и состояния на графике, заданный как 'NORMAL' или 'ITALIC'.

    Пример: chart.StateFont.Angle = 'ITALIC';

    Толщина шрифта для меток ящика, функции и состояния на графике, заданный как 'NORMAL' или 'BOLD'.

    Пример: chart.StateFont.Weight = 'BOLD;

    Начальный размер шрифта для меток аннотации, куба, функции и состояния на графике, заданный как скаляр.

    Пример: chart.StateFont.Size = 8;

    Название шрифта для меток аннотации, поля, функции и состояния на графике, заданное как вектор символов.

    Пример: chart.StateFont.Name = 'Arial';

    Цвет меток переходов на графике, заданный как трехэлементный числовой вектор формы [red green blue] который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.

    Угол шрифта для меток переходов на графике, заданный как 'NORMAL' или 'ITALIC'.

    Пример: chart.TransitionFont.Angle = 'ITALIC';

    Толщина шрифта для меток перехода на графике, заданный как 'NORMAL' или 'BOLD'.

    Пример: chart.TransitionFont.Weight = 'BOLD';

    Начальный размер шрифта для меток перехода на графике, заданный как скаляр.

    Пример: chart.TransitionFont.Size = 8;

    Названия шрифта для меток переходов на графике, заданные как вектор символов.

    Пример: chart.TransitionFont.Name = 'Arial';

    Иерархия

    Это свойство доступно только для чтения.

    Машина, которая содержит график, заданную как Stateflow.Machine объект.

    Это свойство доступно только для чтения.

    Расположение графика в иерархии модели, заданное как вектор символов.

    Изменился ли график после открытия или сохранения, заданная в виде числа или логики 1 (true) или 0 (false).

    Является ли график заблокированным, задается как число или логический 1 (true) или 0 (false). Включите это свойство, чтобы предотвратить изменения на графике.

    Это свойство доступно только для чтения.

    Является ли график заблокированным, задается как число или логический 1 (true) или 0 (false). Это свойство эквивалентно свойству Locked, но используется внутри для предотвращения изменений на графике во время симуляции.

    Идентификация

    Описание графика, заданное как вектор символов.

    Ссылка на документ для графика, заданная как вектор символов.

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

    Это свойство доступно только для чтения.

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

    Функции объекта

    classhandleПредоставьте указатель на класс для объекта
    defaultTransitionsВерните переходы по умолчанию в объекте на верхнем уровне защитной оболочки
    dialogОткройте диалоговое окно свойств
    findЗаданные объекты в иерархии
    fitToViewМасштабирование графического объекта
    getВерните структуру MATLAB, содержащую настройки свойств объекта или массива объектов
    parseПроанализируйте один график или все графики в модели
    setУстановите свойства с заданными значениями
    viewОтобразите объект в среде редактирования

    Примеры

    свернуть все

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

    sfnew

    Доступ к Simulink.Root объект вызовом sfroot функция.

    rt = sfroot;

    Доступ к Stateflow.Chart объект вызовом find функция для Simulink.Root объект.

    chart = find(rt,'-isa','Stateflow.Chart');
    Представлено до R2006a