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 свойство для состояния. Для получения дополнительной информации смотрите Задать метки в состояниях и переходах программно. Это свойство не поддерживается в графиках Мура.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • The Type свойство состояния 'AND'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Источник имени сигнала, используемого для регистрации состояния, заданный как одно из следующих значений:

    • 'SignalName' - Использовать имя состояния.

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

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

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

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

    Отладка

    Устанавливать ли During State точка останова для состояния, заданная в виде числа или логического 1 (true) или 0 (false).

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

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

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

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

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

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

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

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

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

    • 'Function' - Функции состояния реализуются как отдельные функции С.

    • '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 sequence \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