Эта модель показывает, как вы можете проектировать контроллеры коммутации, комбинируя степень функций Stateflow ® и Simulink ®.
Диаграмма Stateflow SwitchingController
реализует простой контроллер переключения, который переключается между тремя состояниями: STEADY
, P
и PID
. Когда в STEADY
состояние, мы производим нуль выход управления. Когда в P
или PID
мы делегируем подсистемам вызова функции Simulink в порядок, чтобы вычислить необходимые усилия по управлению.
Опция Создать данные для мониторинга состояния PID
проверяется. Поэтому в дополнение к управляющему выходу u
Диаграмма Stateflow также создает выход логгирования с таким же именем, как и состояние PID
.
Условие переключения с P
на PID
основан на том, что ошибка достаточно низкая [e < PID_TRESH]
. PID_TRESH
- переменная, заданная в Рабочем пространстве Модели со значением 0,3.
Подсистема Simulink SwitchingController/P.p_control
реализует очень простое пропорциональное управление с усилением 3. Если бы мы продолжали оставаться в состоянии P
коэффициент усиления системы с обратной связью в установившемся состоянии равен 3/4 = 0,75. Поэтому мы получили бы ошибку 0,25.
Подсистема Simulink SwitchingController/PID.pid_control
реализует простую стратегию управления ПИД. Пропорциональная составляющая такой же, как и в P
тем самым обеспечивая плавность перехода в усилии управления.
Когда мы симулируем модель, мы замечаем, что ошибка устойчивого состояния приближается к нулю.
В отсутствие контроля ПИД у нас была бы устойчивая ошибка 0,25. Если мы изменим PID_TRESH
до 0.1, мы никогда не доберемся до PID
, потому что ошибка никогда не станет ниже 0,25, пока мы находимся в состоянии P
.