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