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

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

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

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

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

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

Устраните ручное отслеживание действия состояния

  1. Откройте модель old_sf_car.

  2. Откройте окно Symbols путем выбора View> Symbols.

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

  4. В окне Symbols щелкните правой кнопкой по выходной переменной gear и выберите Delete.

Включите активный Вывод состояния

  1. Откройте Property Inspector путем выбора View> Property Inspector.

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

  3. В Property Inspector установите флажок Create output for monitoring и выберите Child activity.

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

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

  6. В модели Simulink повторно подключите выходной сигнал gear от графика shift_logic до подсистем Вычисления Передачи и Порога.

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

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

Похожие темы