Упрощение диаграмм Stateflow путем включения выхода активного состояния

Активные данные о состоянии могут упростить проект некоторых графиков Stateflow ®, потому что вы не должны поддерживать данные, которые сильно коррелированы с иерархией графика. Когда вы активируете активные данные о состоянии, Stateflow сообщает об активности состояния через выходной порт в Simulink ® или как локальные данные на графике. Этот пример показов, как упростить проект диаграммы Stateflow путем добавления данных выходов активного состояния. Для получения дополнительной информации смотрите Мониторинг активности состояния через данные активного состояния.

В унаследованной модели old_sf_car, диаграмма Stateflow shift_logic отслеживает активность дочернего состояния в gear_state путем обновления значения выходных данных gear.

Путем включения данных о активном состоянии, модель sf_car избегает ручных обновлений данных, отражающих активность графика. Вместо этого график автоматически выходы действие дочернего состояния через активное состояние выхода передачи.

Измените модель

Чтобы упростить проект old_sf_car модель, устранить данные, которые сильно коррелируют с иерархией графика и включить автоматический мониторинг активности дочернего состояния в gear_state.

Шаг 1: Исключить ручное отслеживание деятельности государства

  1. В модель old_sf_car, откройте график shift_logic.

  2. Откройте панель «Символы». На вкладке Моделирование (Modeling) выберите Панель символов (Symbols Pane).

  3. В каждом подсостоянии gear_stateудалите действие входа, присвоив значение переменного выхода данных gear.

  4. На панели «Символы» щелкните правой кнопкой мыши переменный выход gear и выберите Delete.

Шаг 2: Включите выход активного состояния

  1. Откройте Property Inspector. На вкладке « Моделировании» выберите Property Inspector.

  2. В редакторе Stateflow выберите состояние gear_state.

  3. В Property Inspector установите флажок Создать выход для мониторинга и выберите Child activity.

  4. В поле Data name введите имя gear данных о активном состоянии.

  5. В поле Имя перечисления введите имя gearType типа данных перечисления для данных о активном состоянии.

Шаг 3: Соедините сигнал с блоками Simulink

  1. В модели Simulink добавьте блок Cast To Double. Этот блок преобразует перечисленный выход из диаграммы Stateflow в сигнал типа double. Для получения дополнительной информации смотрите Преобразование типа данных (Simulink).

  2. Подключите выход сигнал gear от shift_logic график для блока Cast To Double.

  3. Подключите сигнал выхода от блока Cast To Double к Подсистеме Передачи.

  4. Добавьте блок памяти (Simulink). Этот блок препятствует алгебраическому циклу между диаграммой Stateflow и подсистемой Threshold Calculation.

  5. Выполните второе подключение от выхода сигнала от блока Cast To Double к блоку Памяти.

  6. Соедините выход блока Memory с подсистемой Threshold Calculation.

Просмотр результатов симуляции

Выходной сигнал gear - перечисленный тип, управляемый Stateflow. Можно просмотреть выход сигнала активного состояния во время симуляции, соединив график с блоком Scope. Имена перечисленных значений совпадают с именами подсостояний в gear_state. Дополнительное перечисленное значение None указывает временные шаги, когда нет активного дочернего элемента.

См. также

(Simulink) | (Simulink)

Похожие темы