Эта модель показывает, как можно разработать переключающиеся контроллеры путем объединения степени функций Simulink® и Stateflow®.
SwitchingController
диаграммы Stateflow реализует простой контроллер переключения, который переключается между тремя состояниями: 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
состояния.