Stateflow.State

Состояние в графике, состоянии или поле

    Описание

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

    Создание

    Описание

    пример

    state = Stateflow.State(parent) создает Stateflow.State объект в вышестоящей диаграмме, состоянии или поле.

    Входные параметры

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

    Родительский элемент для нового состояния в виде Stateflow® Объект API одного из этих типов:

    Свойства

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

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

    Содержимое

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

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

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

    during состояния действие в виде вектора символов. Значение этого свойства зависит от LabelString свойство для состояния. Для получения дополнительной информации смотрите, Задают Метки в состояниях и Переходах Программно. Это свойство не поддерживается в графиках Мура.

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

    entry состояния действие в виде вектора символов. Значение этого свойства зависит от LabelString свойство для состояния. Для получения дополнительной информации смотрите, Задают Метки в состояниях и Переходах Программно. Это свойство не поддерживается в графиках Мура.

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

    exit состояния действие в виде вектора символов. Значение этого свойства зависит от LabelString свойство для состояния. Для получения дополнительной информации смотрите, Задают Метки в состояниях и Переходах Программно. Это свойство не поддерживается в графиках Мура.

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

    Состояние активности в Муре строит диаграмму в виде вектора символов. Значение этого свойства зависит от LabelString свойство для состояния. Для получения дополнительной информации смотрите, Задают Метки в состояниях и Переходах Программно. Это свойство поддерживается только в графиках Мура. Для получения дополнительной информации смотрите Правила проектирования для Графиков Мура.

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

    on состояния действия в виде массива ячеек из символьных векторов в форме

    {'trigger1','action1',...,'triggerN','actionN'}

    Значение этого свойства зависит от LabelString свойство для состояния. Для получения дополнительной информации смотрите, Задают Метки в состояниях и Переходах Программно. Это свойство не поддерживается в графиках Мура.

    Закомментировать ли состояние в виде числового или логической единицы (true) или 0 (false). Установка этого свойства к true эквивалентно щелчку правой кнопкой по состоянию и выбору Comment Out. Для получения дополнительной информации смотрите Комментарий Объекты Stateflow в Графике.

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

    Комментируется ли состояние неявно в виде числового или логической единицы (true) или 0 (false). Состояние неявно комментируется, когда вы комментируете состояние или поле, которое содержит его.

    Текст комментария, добавленный к состоянию в виде вектора символов. Это свойство применяется только когда IsExplicitlyCommented свойством является true. В редакторе Stateflow, когда вы указываете на значок комментария на состоянии, текст появляется как подсказка. Когда вы устанавливаете IsExplicitlyCommented свойство к false, значение CommentText возвращается к ''.

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

    Положение и размер состояния в виде четырехэлементного числового вектора из формы [left top width height].

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

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

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

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

    Отобразить ли предварительный просмотр содержимого состояния в виде числового или логической единицы (true) или 0 (false). Это свойство применяется только когда IsSubchart свойством является true.

    Размер входящих стрел перехода в виде скаляра.

    Размер шрифта для метки состояния в виде скаляра. StateFont.Size свойство графика, который содержит состояние, устанавливает начальное значение этого свойства.

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

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

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

    Разложение одноуровневого элемента утверждает в виде 'OR' или 'AND'. Состояние наследовало это свойство от Decomposition свойство его родительского состояния или графика.

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

    • Type свойством состояния является 'AND'.

    • UserSpecifiedStateTransitionExecutionOrder свойством графика, который содержит состояние, является true.

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

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

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

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

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

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

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

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

    Логгирование сигнала

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

    • DataLogging — Разрешить ли логгирование сигнала в виде числового или логической единицы (true) или 0 (false).

    • DecimateData — Ограничить ли сумму записанных данных в виде числового или логической единицы (true) или 0 (false).

    • Decimation — Интервал децимации в виде целочисленного скаляра. Это свойство применяется только когда DecimateData свойством является true.

    • LimitDataPoints — Ограничить ли количество точек данных, чтобы регистрировать в виде числового или логической единицы (true) или 0 (false).

    • MaxPoints — Максимальное количество точек данных, чтобы регистрировать в виде целочисленного скаляра. Это свойство применяется только когда LimitDataPoints свойством является true.

    • NameMode — Источник имени сигнала в виде 'SignalName' или 'Custom'.

    • LoggingName — Пользовательское имя сигнала в виде вектора символов. Это свойство применяется только когда NameMode свойством является 'Custom'.

    Для получения дополнительной информации смотрите Логарифмическую Симуляцию Выход для состояний и Данных.

    Пример: state.LoggingInfo.DataLogging = true;

    Отладка

    Свойства отладчика для состояния в виде Stateflow.StateDebug объект с этими свойствами:

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

    • OnDuring — Установить ли During State установите точки останова в виде числового или логической единицы (true) или 0 (false).

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

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

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

    Пример: state.Debug.Breakpoints.OnDuring = true;

    Пример: state.Debug.Breakpoints.OnExit = true;

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

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

    Внешний вид состояния функционирует в сгенерированном коде в виде одного из этих значений:

    • 'Auto' — Внутреннее вычисление определяет внешний вид функций состояния в сгенерированном коде.

    • 'Function' — Функции состояния реализованы как отдельные функции C.

    • 'Inline' — Вызовы, чтобы утвердить функции заменяются кодом.

    Для получения дополнительной информации смотрите Встроенные Функции состояния в Сгенерированном коде (Simulink Coder).

    Иерархия

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

    Стройте диаграмму, который содержит состояние в виде Stateflow.Chart объект.

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

    Подсредство просмотра для состояния в виде Stateflow.Chart, Stateflow.State, или Stateflow.Box объект. Подсредство просмотра является графиком или субдиаграммой, где можно графически просмотреть состояние.

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

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

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

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

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

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

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

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

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

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

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

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

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

    findИдентифицируйте заданные объекты в иерархии
    getChildrenИдентифицируйте дочерние элементы объекта
    getParentИдентифицируйте родительский элемент объекта
    defaultTransitionsИдентифицируйте переходы по умолчанию в заданном объекте
    innerTransitionsИдентифицируйте внутренние переходы с заданным источником
    outerTransitionsИдентифицируйте внешние переходы с заданным источником
    sinkedTransitionsИдентифицируйте переходы с заданным местом назначения
    sourcedTransitionsИдентифицируйте переходы с заданным источником
    dialogОткрытое диалоговое окно свойств
    isCommentedОпределите, комментируется ли графический объект
    viewЭкранный объект в редактировании среды
    highlightПодсветите графический объект
    fitToViewУвеличьте масштаб графического объекта

    Примеры

    свернуть все

    Добавьте состояние в графике ch. Определите его имя к 'A'.

    state = Stateflow.State(ch);
    state.Name = 'A';

    Ввести многострочную метку в state состояния, вы можете:

    • Вызовите функцию MATLAB sprintf и используйте escape-последовательность \n вставить символы новой строки:

      str = sprintf('A\nen: action1();\ndu: action2();\nen,du: action3();');
      state.LabelString = str;
    • Введите конкатенированное текстовое выражение, которое использует целое число 10 в качестве ASCII, эквивалентного из символа новой строки:

      str = ['A',10, ...
          'en: action1();',10, ...
          'du: action2();',10, ...
          'en,du: action3();'];
      state.LabelString = str;

    State with entry and during actions.

    Извлекать имя состояния, entry действие и during действие, заданное меткой состояния, введите:

    name = state.Name
    name =
    
        'A'
    entry = state.EntryAction
    entry =
    
        ' action1();
          action3();'
    during = state.DuringAction
    during =
    
        ' action2();
          action3();'

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

    Создайте суперпереход, который соединяет соединение j1, который является в субдиаграмме к соединению j2, который находится вне субдиаграммы.

    Stateflow chart with one state. A transition connects a junction inside the state to a junction outside the state.

    Сохраните исходное положение субдиаграммы st к временной переменной subchartPosition рабочей области.

    subchartPosition = st.Position;

    Преобразуйте субдиаграмму в нормальное состояние путем установки его IsSubchart и IsGrouped свойства к false.

    st.IsSubchart = false;
    st.IsGrouped = false;

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

    Stateflow chart with one state. A transition connects a junction inside the state to a junction outside the state.

    Добавьте переход, который соединяет соединение j1 к соединению j2 в графике ch.

    tr = Stateflow.Transition(ch);
    tr.Source = j1;
    tr.Destination = j2;

    Stateflow chart with one subchart. A supertransition connects a junction inside the subchart to a junction outside the subchart.

    Вернитесь состояние к субдиаграмме путем установки ее IsSubchart свойство к true. Восстановите субдиаграмму к ее исходному положению.

    st.IsSubchart = true;
    st.Position = subchartPosition;

    A состояния теперь субдиаграмма, и переход между соединениями является теперь суперпереходом.

    Stateflow chart with one subchart. A supertransition connects a junction inside the subchart to a junction outside the subchart.

    Для получения дополнительной информации смотрите Перемещение Между Уровнями Иерархии при помощи Суперпереходов.

    Представлено до R2006a