exponenta event banner

Моделирование проигрывателя CD/радио с использованием таблиц переходов состояний

В этом примере показана простая модель логики проигрывателя CD/радио, которая использует таблицы перехода состояний в Stateflow ®. Эта модель является повторным внедрением sf_cdplayer с использованием таблиц перехода состояний.

Суть логики управления проигрывателем CD/Radio находится в диаграмме «CdStartGroupManager», которая разработана с использованием таблицы перехода состояний. Таблица используется для представления модальной логики в табличной форме. Она позволяет определить различные состояния и их иерархическую структуру наряду с переходами между состояниями.

Ячейки состояния

Крайний левый столбец представляет все состояния в таблице. Обратите внимание, что состояния могут быть вложены иерархически. Можно выбрать одно из состояний в качестве состояния по умолчанию на любом заданном уровне. Это представлено переходом по умолчанию, проведенным слева от состояния. Можно также добавить «строку перехода по умолчанию», если при выборе первого введенного состояния используется логика.

Можно добавить соединение истории в заданное состояние, щелкнув его правой кнопкой мыши и выбрав «Добавить соединение истории». Это позволяет запомнить последнее активное состояние при повторном вводе вместо выбора состояния по умолчанию. Например, в состояниях GroupManager и ON имеются соединения истории. Диаграмма Stateflow может быть автоматически создана из этого табличного представления.

Переходные ячейки

Следующий набор столбцов представляет внешние переходы из состояния. Каждая строка представляет внешние переходы из заданного состояния. Каждая из переходных ячеек подразделяется на три под-ячейки:

1) Ячейка условия: для указания логического условия, которое указывает, когда переход активен

2) Ячейка «Действие условия»: для указания действия, выполняемого при активном переходе

3) Ячейка назначения: для указания состояния назначения для перехода. Обратите внимание, что для указания места назначения относительно текущего состояния можно использовать специальные ключевые слова, такие как «$ NEXT», «$ PREV».

Эта диаграмма принимает пользовательские входные данные, например, вставлен ли диск и выбран ли радиорежим (FM, AM или CD). Затем диаграмма определяет механическую команду для вывода. Типы данных входных и выходных данных определяются как перечислимые типы данных в файлах MATLAB ®CdRequestMode.m и RadioRequestMode.m.

Команда вывода из «CdStartGroupManager» обрабатывается диаграммой «CdStartBehaviorModel», которая моделирует поведение механизма CD Player. Эта логика также реализуется с использованием таблицы перехода состояний.

Пользовательский интерфейс MATLAB используется для установки различных режимов CD/Radio.

Связанные темы