Stateflow.Chart

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

    Описание

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

    Создание

    Создать 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');

    Свойства

    развернуть все

    Stateflow® Объекты API имеют свойства, которые соответствуют значениям, которые вы устанавливаете в редакторе Stateflow. Чтобы получить доступ или изменить свойство, используйте запись через точку. Чтобы получить доступ или изменить несколько свойств для нескольких объектов API, используйте get и set функции, соответственно. Для получения дополнительной информации см. Изменение свойств и Вызов функций Объектов Stateflow.

    Содержимое

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

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

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

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

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

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

    Инициализация диаграммы

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

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

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

    • 'held' — График обеспечивает новые значения состояний.

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

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

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

    Активный Выход состояния

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

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

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

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

    Режим Monitoring для активных выходных данных состояния в виде 'ChildActivity' или 'LeafStateActivity'.

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

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

    Дискретный и семантика непрерывного времени

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

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

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

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

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

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

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

    • 'Proceed' — График засыпает с последней активной настройкой состояния.

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

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

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

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

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

    Данные целочисленной и фиксированной точки

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

    Наследованные Сигналы 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 в качестве языка действия.

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

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

    C язык действия

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

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

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

    Отладка

    Свойства отладчика для графика в виде Stateflow.ChartDebug объект с этим свойством:

    • Breakpoints.OnEntry — Установить ли On Chart Entry установите точки останова в виде числового или логической единицы (true) или 0 (false).

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

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

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

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

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

    Отображает ли окно Stateflow Editor график в виде числового или логической единицы (true) или 0 (false).

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

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

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

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

    Шрифт для поля, функции и состояния помечает в графике в виде Stateflow.StateFont объект с этими свойствами:

    • Name — Название шрифта в виде вектора символов. Это свойство также определяет шрифт для аннотаций в графике.

    • Angle — Угол шрифта в виде 'NORMAL' или 'ITALIC'.

    • Weight — Толщина шрифта в виде 'NORMAL' или 'BOLD'.

    • Size — Размер стандартного шрифта для новых полей, функций и состояний в виде скаляра. Это свойство также определяет размер стандартного шрифта для новых аннотаций в графике.

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

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

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

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

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

    Шрифт для перехода помечает в графике в виде Stateflow.TransFont объект с этими свойствами:

    • Name — Название шрифта в виде вектора символов.

    • Angle — Угол шрифта в виде 'NORMAL' или 'ITALIC'.

    • Weight — Толщина шрифта в виде 'NORMAL' или 'BOLD'.

    • Size — Размер стандартного шрифта для новых переходов в виде скаляра.

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

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

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

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

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

    Иерархия

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

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

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

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

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

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

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

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

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

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

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

    Пользовательский тег для графика в виде данных любого типа.

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

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

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

    findИдентифицируйте заданные объекты в иерархии
    getChildrenИдентифицируйте дочерние элементы объекта
    defaultTransitionsИдентифицируйте переходы по умолчанию в заданном объекте
    dialogОткрытое диалоговое окно свойств
    viewЭкранный объект в редактировании среды
    fitToViewУвеличьте масштаб графического объекта

    Примеры

    свернуть все

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

    sfnew

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

    rt = sfroot;

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

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