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