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