В этом примере показано, как использовать представление State Transition Matrix в таблице изменения состояния в Stateflow®. Вместо того, чтобы чертить состояния и переходы графически в диаграмме Stateflow, используйте таблицы переходов состояний, чтобы выразить модальную логику в табличном формате. Таблицы переходов состояний поддерживаются только как блоки в модели Simulink®. Для получения дополнительной информации смотрите Таблицы переходов состояний в Stateflow.
Матрица переходов является альтернативным, представлением только для чтения Таблицы Изменения состояния. Это представление позволяет вам анализировать, как таблица изменения состояния отвечает на различные входные условия. Например, эта таблица изменения состояния моделируют debouncing логику, которая обычно используется, чтобы удалить дрожание в переключении логики. debouncer удаляет быстрые изменения во входе u
это длится меньше чем 0,1 секунды.
Чтобы сгенерировать переходы между состояниями в матричном виде, на вкладке Debug, нажмите Transition Matrix.
Каждая строка матрицы представляет состояние в таблице изменения состояния. Эти состояния появляются слева от матрицы в том же порядке как в таблице изменения состояния.
Столбцы матрицы соответствуют условиям или событиям. Каждое уникальное условие или событие, используемое в таблице изменения состояния, представлены отдельным столбцом. Порядок столбцов основан на количестве состояний, которые отвечают на каждое условие или событие. Условия слева от матричного удара больше состояний, чем условия справа от матрицы.
Ячейки в матричном отображении, как график отвечает на конкретное условие или событие, когда состояние активно. Если условие или событие не влияют на состояние, соответствующая ячейка матрицы кажется пустой. Пустые ячейки слева от непустой записи появляются в светло-сером. Пустые ячейки справа от последней непустой записи подряд появляются в темно-сером.
Если вы изменяете таблицу изменения состояния, необходимо регенерировать матрицу переходов.
Чтобы видеть реакцию состояния к каждому событию или условию, посмотрите на все записи в строке состояния. Чтобы видеть, как каждое состояние отвечает на событие или условие, посмотрите на все записи в столбце.
Каждая запись в матрице перечисляет действие и место назначения для перехода в таблице изменения состояния. Порядок выполнения перехода появляется в верхнем правом углу каждой записи. Порядок выполнения отображен в красном, если это не работает относительно столбцов матрицы. В противном случае порядок выполнения отображен в синем.
Чтобы видеть подмножество строк состояния, можно отфильтровать строки на основе имен состояния. В верхнем левом углу матрицы переходов, в поле поиска Filter States, вводят имя состояния или выбирают имя из выпадающего списка.
В матрице переходов имена состояния, условия, действия и места назначения являются гиперссылками. Чтобы подсветить соответствующее состояние, действие, условие или место назначения в таблице изменения состояния, кликает по одной из этих гиперссылок.