SimulinkResponseOptimization
Пакет SimulinkResponseOptimization(оптимизация отклика в среде Simulink) представляет графический интерфейс пользователя для осуществления проектирования систем управления.
С помощью пакета SimulinkResponseOptimization можно найти оптимальные параметры настройки для модели системы управления в Simulink, которые обеспечат требуемый переходной процесс по заданным графически ограничениям в окне временной области. Любое число переменных Simulink, включая скалярные, векторные и матричные величины, могут быть объявлены настраиваемыми или оптимизируемыми. Для этого надо ввести имена переменных в соответствующем диалоговом боксе. Для использования пакета SimulinkResponseOptimization необходимо включить в схему модели Simulink специальный блок SignalConstraint. Для этого блок соединяют с тем сигналом модели, для которого, вы хотите установить какие-то ограничения.
Пакет SimulinkResponseOptimization автоматически преобразует ограничения во временной области в ограничения задачи оптимизации параметров СУ и затем решает задачу, используя алгоритмы и процедуры, заложенные в пакете. Задача оптимизации переменных с учетом наложенных ограничений, сформулированная в пакете SimulinkResponseOptimization, последовательно вызывает симуляцию работы модели СУ в Simulink, сравнивает полученные результаты с заданными ограничениями переходного процесса и, используя градиентный метод, изменяет настраиваемые параметры для достижения заданной формы процесса.
Пакет SimulinkResponseOptimization позволяет вводить неопределенность в задание динамических параметров объекта управления, проводить симуляцию методом Монте Карло, задавать верхние и нижние границы настраиваемых переменных и изменять критерий достижения цели. Ход процесса оптимизации можно видеть в графическом окне задания ограничений прямо при выполнении симуляции. По окончанию процесса результаты можно просмотреть в рабочем окне Matlab.
Пакет SimulinkResponseOptimization использует задание верхних и нижних границ отклика СУ с помощью ограничительных линий в графическом окне. Эти ограничительные линии можно растягивать, перемещать, разбивать и открывать различными способами. SignalConstraint - блок можно подключать к любой модели, созданной ранее в Simulink. Для этого нужно:
1. Подсоединить SignalConstraint -блок ко всем сигналам, которые вы желаете ограничить.
2. Подать на вход СУ воздействие (ступенчатое, импульсное, по данным наблюдения), для которого требуется получить желаемый переходной процесс.
3. В рабочей области Matlab задать начальные, наилучшие по предварительной оценке значения настраиваемых переменных.
4. Двойным щелчком мыши по SignalConstraint -блоку вызвать графическое окно задания ограничений для каждой выходной величины.
5. Изменяя, перемещая, разбивая ограничительные линии с помощью меню, мыши или горячих клавиш, задать требуемый вид переходного процесса каждой выходной величины.
6. При необходимости открыть диалоговой бокс UncertainParameters (Неточно определенные параметры) из меню Optimization (Оптимизация). Начальные значения этих неточно определенных переменных принимаются равными номинальным значениям и задаются в рабочем окне Matlab.
7. Для того чтобы задать в блоке SignalConstraint начальный и конечный момент времени симуляции, нужно зайти в меню Optimization (Оптимизация), там выбрать подменю SimulationOptions (настройки симуляции). В открывшемся окне можно изменить время начала симуляции Starttime и ее окончания Stoptime. Подобным же образом можно изменить время начала и конца оптимизации, для этого в том же окне SimulationOptions нужно выбрать закладку OptimizationOptions (настройки оптимизации) (или в меню блока OptimizationConstraint выбрать подменю OptimizationOptions). Время начала и конца симуляции и оптимизации обычно задается автоматически и принимается равным соответствующим значениям времен, настроенных в Simulink, при необходимости их можно изменять.
8. Нажать кнопку Start или выбрать опцию Start в меню Optimization.
В следующей задаче рассчитываются параметры ПИД регулятора одномерного объекта с передаточной функцией третьего порядка, Рис.10.1.
ПИД регулятор построен на основе рассмотренных ранее пропорционального, интегрального и дифференциального звеньев, его схема, заключенная в блоке PIDController, представлена на Рис.12.1.
Рис.12.1. Модель объекта, управляемого ПИД регулятором.
Рис.12.2. Схема ПИД регулятора из блока PIDController.
Постановка задачи
Необходимо рассчитать коэффициенты ПИД регулятора так, чтобы замкнутая система управления c возмущением отвечала следующим требованиям:
• максимальное перерегулирование было не более 20%;
• максимальное время нарастания равнялось 10с;
• максимальное время установления (регулирования) было не более 20с.
Модель pidtune_demo в Simulink включает объект (Plant) и PID регулятор, как показано на рисунке. Чтобы открыть модель, нужно напечатать в командном окне Matlab:pidtune_demo.
На вход модели подается ступенчатое воздействие (Step). Блок SignalConstraint присоединен к выходу объекта, поскольку именно этот сигнал необходимо настроить.
Просмотр опции Simulation (Моделирование), Parameters (Параметры) показывает, что каждая симуляция продолжается 100 секунд.
Настраиваемые параметры Kp, Ki, и Kd вычисляются по методу Ziegler - Nichols для определения параметров настройки PID регулятора вручную.
Этот метод заключается в следующем:
• Устанавливают коэффициенты интегральной Ki и дифференциальной Kd составляющих PID регулятора равными нулю и увеличивают коэффициент Kp пропорциональной составляющей до тех пор, пока система управления станет неустойчивой – начинаются колебания.
• Обозначают это значение Ku и измеряют период колебаний Pu.
• Вычисляют следующие значения коэффициентов:
Kp = 3 Ku/5, Ki = 6 Ku / (5 Pu), и Kd = 3 KuPu/40.
Дважды щелкните на блоке SignalConstraint, чтобы открыть окно для задания ограничений на переходной процесс в системе управления, Рис.12.3. Нижние и верхние ограничивающие линии задают ограничения на максимальное динамическое отклонение, время нарастания и время регулирования (установления) выходной величины.
Рис.12.3. Задание границ выходного сигнала.
В этом окне нужно задать диапазон моделирования - переместить мышью ограничительные линии таким образом, чтобы выполнить условия моделирования, затем нажать на кнопку Updateblock.
В командном окне Matlab задать исходные значения коэффициентов Kp, Ki и Kd. НажатькнопкуменюOpenResponseOptimizationTool, появитсяокно, представленное на Рис.12.4:
Рис.12.4. Окно инициализации итерационной процедуры определения коэффициентов ПИД регулятора.
НажатькнопкусострелкойDesignVariablesSet>New. Получим:
Рис.12.5. Выбор настраиваемых параметров.
Перенести стрелкой Kp, Ki и Kd в левую часть, определив тем самым настраиваемые параметры. Кнопка New наРис. позволяет выбрать метод анализа. После выбора этих настроек нажать зеленую кнопку – начать симуляцию. На графике будет отображена итерационная процедура, получение результирующей кривой иногда может занять довольно много времени, Рис.12.6.
Рис.12.6.Итерационная процедура подгонки параметров регулятора.
Значения подогнанных коэффициентов можно увидеть на Рис.12.4 или получить в командном окне Matlab.