exponenta event banner

Stateflow. Государство

Состояние в диаграмме, состоянии или поле

    Описание

    Использовать Stateflow.State объекты для описания режима работы реактивной системы. Дополнительные сведения см. в разделе Представление режимов работы с использованием состояний.

    Создание

    Описание

    пример

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

    Входные аргументы

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

    Родительский объект для нового состояния, указанный как объект API Stateflow ® одного из следующих типов:

    Свойства

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

    Содержание

    Имя состояния, указанное как символьный вектор.

    Полная метка состояния, указанная как символьный вектор. Дополнительные сведения см. в разделе Программное определение меток в состояниях и переходах.

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

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

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

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

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

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

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

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

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

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

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

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

    Следует ли комментировать состояние, указанное как числовое или логическое 1 (true) или 0 (false). Установка для этого свойства значения true эквивалентно щелчку правой кнопкой мыши по состоянию и выбору «Комментарий». Дополнительные сведения см. в разделе Комментирование объектов 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.

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

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

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

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

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

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

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

    • Type свойство государства 'AND'.

    • 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). Дополнительные сведения см. в разделе Мониторинг контрольных точек в диаграммах потока состояний.

    Создание кода

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

    • '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-последовательность \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