Таблицы переходов состояний в 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. Элементы, которые не поддерживают таблицы переходов состояний, включают:

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

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

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

  • Блок-схемы

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

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

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

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

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

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

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

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

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

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

Смотрите также

Похожие темы