Таблицы переходов состояний в Stateflow

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

Преимущества использования таблиц переходов состояний включают:

  • Простота моделирования поездоподобных машин состояний, где модальная логика включает переходы от одного состояния к своему соседу

  • Краткий, компактный формат для конечного автомата

  • Сокращение времени на работу с графическими объектами

  • Когда вы добавляете или удаляете состояния с графика, необходимо переставлять состояния, переходы и соединения. Когда вы добавляете или удаляете состояния из таблицы переходов состояний, вы не должны переставлять какие-либо графические объекты.

Таблицы переходов состояний поддерживают использование обеих MATLAB® и C как язык действия. Дополнительные сведения о различиях между этими языками действий см. в разделе Различия между MATLAB и C как синтаксис языка действий.

Создайте таблицу переходов состояний

В командной строке MATLAB введите:

  • Чтобы создать State Transition Table в новой модели Simulink, введите:

    sfnew -STT
  • Чтобы добавить новую State Transition Table к существующей модели, используйте функцию add_block (Simulink). Для примера:

    add_block('sflib/State Transition Table','myModel/State Transition Table')

Из браузера библиотеки Simulink:

  1. Выберите библиотеку Stateflow.

  2. Перетащите таблицу переходов состояний в модель.

Анатомия таблицы переходов состояний

Таблица переходов состояний содержит следующие компоненты:

Каждый столбец перехода содержит следующую информацию о переходе между состояниями:

  • Состояние

  • Действие условия

  • Состояние назначения

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

Следующая таблица переходов состояний содержит модальную логику для поддержания температуры бойлера между двумя установленными точками:

Эта диаграмма Stateflow представляет ту же модальную логику:

Различия между таблицами переходов состояний и графиками

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

  • Суперпереходы

  • Параллельное (И) разложение

  • Локальные события

  • Блок- графики

  • Использование функций уровня диаграммы (графические, таблицы истинности, MATLAB и Simulink)

Инструкции по использованию таблиц переходов состояний

  • Если вы задаете действие в камере перехода, это должно быть действие условия.

  • Таблицы переходов состояний должны иметь по крайней мере одну строку состояний и один столбец переходов.

Задайте свойства для таблиц переходов состояний

Чтобы открыть диалоговое окно Свойства таблицы переходов между состояниями, на вкладке Modeling, нажмите Table Properties.

Свойства для таблиц переходов состояний те же, что и для графиков, которые используют MATLAB в качестве языка действий. Описание каждого свойства см. в разделе «Задание свойств для диаграмм Stateflow».

Можно также программно задать свойства таблицы переходов при помощи Stateflow.StateTransitionTableChart объекты. Для получения дополнительной информации о программном интерфейсе Stateflow смотрите Обзор API Stateflow.

Сгенерируйте схемы из таблиц переходов состояний

Программа Stateflow автоматически генерирует диаграмму переходов состояний только для чтения из созданной таблицы переходов состояний. Когда вы вводите изменения в таблицу переходов состояний, Stateflow также постепенно обновляет схему. Чтобы увидеть самую последнюю версию базовой схемы, на вкладке Debug, нажмите Show Auto Chart.

См. также

Похожие темы