Stateflow.State

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

    Описание

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

    Создание

    Описание

    пример

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

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

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

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

    Свойства

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

    Содержимое

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

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

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

    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'. Для получения дополнительной информации смотрите, Задают Перечисляемый тип Действия состояния.

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

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

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

    Ограничить ли сумму записанных данных в виде числового или логической единицы (true) или 0 (false). Когда этим свойством является true, сигнал, регистрирующий выборки пропусков при помощи размера интервала, задан LoggingInfo.Decimation свойство.

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

    Интервал децимации в виде целочисленного скаляра. Значение по умолчанию 2 средние значения, что график регистрирует любую выборку.

    Пример: state.LoggingInfo.Decimation = 5;

    Ограничить ли количество точек данных, чтобы регистрировать в виде числового или логической единицы (true) или 0 (false). Когда этим свойством является true, логгирование сигнала ограничивает количество точек данных при помощи значения, заданного LoggingInfo.MaxPoints свойство.

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

    Максимальное количество точек данных, чтобы регистрировать в виде целочисленного скаляра. Значение по умолчанию 5000 означает, что график регистрирует последние 5 000 точек данных, сгенерированных симуляцией.

    Пример: state.LoggingInfo.MaxPoints = 100;

    Источник имени сигнала раньше регистрировал состояние в виде одного из этих значений:

    • 'SignalName' — Используйте имя состояния.

    • 'Custom' — Используйте пользовательское имя сигнала, заданное LoggingInfo.LoggingName свойство.

    Пример: state.LoggingInfo.NameMode = 'Custom';

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

    Пример: state.LoggingInfo.LoggingName = 'State';

    Отладка

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

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

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

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

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

    Пример: 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® и можете быть переработаны после того, как объект удален.

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

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

    Примеры

    свернуть все

    Добавьте состояние в графике 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 = sA.Name
    name =
    
        'A'
    entry = sA.EntryAction
    entry =
    
        ' action1();
          action3();'
    during = sA.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