exponenta event banner

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

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

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

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

  • Сжатый, компактный формат конечного автомата

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

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

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

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

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

  • Чтобы создать таблицу перехода состояния в новой модели Simulink, введите:

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

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

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

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

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

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

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

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

  • Состояние

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

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

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

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

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

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

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

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

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

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

  • Блок-схемы

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

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

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

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

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

Чтобы открыть диалоговое окно Свойства таблицы перехода состояния (State Transition Table properties), на вкладке Моделирование (Modeling) щелкните Свойства таблицы (Table Properties).

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

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

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

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

См. также

Связанные темы