Таблица изменения состояния является альтернативным способом описать последовательную модальную логику. Вместо того, чтобы чертить состояния и переходы графически в 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:
Выберите библиотеку Stateflow.
Перетащите таблицу изменения состояния в свою модель.
Таблица изменения состояния содержит следующие компоненты:
Каждый столбец перехода содержит следующую межгосударственную информацию о переходе:
Условие
Действие условия
Целевое состояние
Следующая таблица изменения состояния содержит модальную логику для поддержания температуры бойлера между двумя сетболами:
Эта диаграмма Stateflow представляет ту же модальную логику:
Таблицы переходов состояний поддерживают подмножество обычно используемых элементов в диаграммах Stateflow. Элементы, которые не поддерживают таблицы переходов состояний, включают:
Суперпереходы
Параллель (AND) разложение
Локальные события
Блок-схемы
Использование функций уровня графика (графический, таблица истинности, MATLAB и Simulink)
Если вы задаете действие в ячейке перехода, это должно быть действие условия.
Таблицы переходов состояний должны иметь по крайней мере одну строку состояния и один столбец перехода.
Чтобы открыть диалоговое окно Изменения состояния Свойств таблицы, во вкладке Modeling, нажимают Table Properties.
Свойства для таблиц переходов состояний совпадают с теми для графиков, которые используют MATLAB в качестве языка действия. Для описания каждого свойства смотрите Specify Properties для диаграмм Stateflow.
Можно также задать свойства таблиц изменения состояния программно при помощи Stateflow.StateTransitionTableChart
объекты. Для получения дополнительной информации о Stateflow программируемый интерфейс, см. Обзор API Stateflow.
Программное обеспечение Stateflow автоматически генерирует диаграмму переходов состояний только для чтения из таблицы изменения состояния, которую вы составляете. При вводе изменения в таблице изменения состояния, Stateflow инкрементно обновляет схему также. Чтобы видеть самую актуальную версию базовой схемы, во вкладке Debug, нажимают Show Auto Chart.