Таблица переходов состояний является альтернативным способом выражения последовательной модальной логики. Вместо графического отображения состояний и переходов в диаграмме Stateflow ® используйте таблицы переходов состояний для выражения модальной логики в табличном формате. Таблицы перехода состояний поддерживаются только как блоки в модели Simulink ®.
Преимущества использования таблиц переходов состояний включают в себя:
Простота моделирования train-подобных конечных автоматов, где модальная логика включает в себя переходы из одного состояния в соседнее
Сжатый, компактный формат конечного автомата
Сокращение объема обслуживания графических объектов
При добавлении или удалении состояний из диаграммы необходимо переупорядочить состояния, переходы и соединения. При добавлении или удалении состояний из таблицы перехода состояний нет необходимости переупорядочивать какие-либо графические объекты.
Таблицы перехода состояний поддерживают использование MATLAB ® и C в качестве языка действий. Дополнительные сведения о различиях между этими языками действий см. в разделе Различия между MATLAB и C как синтаксисом языка действий.
В командной строке MATLAB введите:
Чтобы создать таблицу перехода состояния в новой модели Simulink, введите:
sfnew -STTЧтобы добавить новую таблицу перехода состояния в существующую модель, используйте функцию add_block (Симулинк). Например:
add_block('sflib/State Transition Table','myModel/State Transition Table')
В браузере библиотеки Simulink:
Выберите библиотеку Stateflow.
Перетащите таблицу перехода состояния в модель.
![]()
Таблица перехода к состоянию содержит следующие компоненты:

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

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

Таблицы перехода состояний поддерживают подмножество наиболее часто используемых элементов в диаграммах Stateflow. Элементы, которые не поддерживают таблицы переходов:
Суперпереходы
Разложение параллельно (И)
Локальные события
Блок-схемы
Использование функций на уровне диаграммы (графический, таблица истинности, MATLAB и Simulink)
Если в ячейке перехода указано действие, оно должно быть действием условия.
Таблицы перехода состояния должны иметь по крайней мере одну строку состояния и один столбец перехода.
Чтобы открыть диалоговое окно Свойства таблицы перехода состояния (State Transition Table properties), на вкладке Моделирование (Modeling) щелкните Свойства таблицы (Table Properties).

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