Выполним команду Start simulation в окне модели asd99*. В окне Output осциллографа будем наблюдать переходный процесс (Рис. 3. 25). Регистрация параметров переходной характеристики показывает, что имеющиеся показатели качества не удовлетворяют заданным: Большое время переходного процесса, появилось перерегулирование
Заданные показатели качества и запасы устойчивости:
Время регулирования ≤0.2 с
Статическая ошибка ≤0,05
Перерегулирование ≤1 %
Время нарастания ≤0.1 с
Устойчивость по амплитуде ≥10 дБ
Устойчивость по фазе от 30 до 80 градусов.
3. 23. Simulink-модель системы
Рис. 3. 24. График переходного процесса
Исходя из выше изложенных рекомендаций и учитывая, что вид переходной характеристики должен соответствовать апериодическому процессу, выполним процедуру оптимизации построенной системы управления. Для оптимизации параметров регулятора воспользуемся пакетом прикладных программ для построения систем управления Nonlinear Control Design (NCD) Blockset, реализующий метод динамической оптимизации.
ГЛАВА 4 ОПТИМИЗАЦИЯ ПАРАМЕТРОВ МОДЕЛИРУЕМОЙ СИСТЕМЫ
Для оптимизации параметров регулятора воспользуемся пакетом прикладных программ для построения систем управления Nonlinear Control Design (NCD) Blockset, который реализует метод динамической оптимизации. Этот инструмент, строго говоря, представляющий собой набор блоков, разработанных для использования с Simulink, автоматически настраивает параметры моделируемых систем, основываясь на определённых пользователем ограничениях на их временные характеристики. Сеанс в среде Simulink с использованием возможностей и блоков NCD Blockset состоит из ряда стадий:
· Создание модели системы из стандартных блоков в среде Simulink.
· Соединение входа блока NCD Outport с теми точками системы, на сигналы которых накладываются ограничения. Этими сигналами могут быть, например выходы системы, их среднеквадратические отклонения и т.д.
· Задание в режиме командной строки MATLAB начальных значений параметров, подлежащих оптимизации.
· Раскрытие блоков двойным щелчком мыши на пиктограмме NCD Outport
· Изменение конфигураций и размеров областей ограничений для сигналов с помощью мыши.
· Задание интервалов дискретизации в меню блока NCD Outport (один или два процента от длительности процесса моделирования) и указание идентификаторов параметров системы, подлежащих оптимизации.
· Задание параметров системы и указание их номинальных значений.
· Сохранение сформированных ограничений в виде файла с помощью команды Save (позднее они могут быть загружены с помощью команды load).
· Процесс оптимизации системы инициализируется нажатием кнопки Start.
Преобразуем Simulink-модель системы, включив в нее дополнительно пропорциональное звено (П-регулятор) с коэффициентом пропорциональности kp (Рис. 4.1, Gain1). Для этого в окне Function Parameters редактора компоненты Gain1 выставим kp. (Рис. 4. 2). Подключим к выходу системы блок Signal Constraint из библиотеки Simulink, Рис. 4. 1. Преобразованная Simulink-модель системы управления Рис. 4. 2. Окно редактора пропорционального звенасодержащийся в разделе Simulink Response Optimization. В данной операции контролируемым сигналом является реакция системы на единичный скачек, т. е. ее переходная функция. Оптимизируемым параметром является коэффициент kp. На переходную функцию накладываются ограничения: максимальное перерегулирование – не более 5%; время нарастания – не более 3 с; длительность переходного процесса - не более 6 с.
Для выполнения процедуры оптимизации наберем в командной строке MATLAB начальное значение настраиваемого параметра kp = 2 и введем его. Далее двойным щелчком мыши откроем рабочее окно блока Signal Constraint (Рис. 4. 3).
Рис. 4 3. Рабочее окно блока Signal Constraint.
В графической части окна показаны границы контролируемого сигнала, установленные по умолчанию. Для изменения границ в соответствии с заданными значениями используется указатель мыши, позволяющий перемещать линии в вертикальном и горизонтальном направлении. Точную установку линий ограничения можно выполнить, выделяя требуемую линию двойным щелчком левой клавиши мыши. При этом откроется окно редактора Edit Constraint (Рис. 4. 4), где можно установить диапазон длины и уровня выделенной линии.
Рис. 4.4. Окно редактора Edit Constraint.
Следующий этап состоит в объявлении переменных, подлежащих оптимизации. Выбор команды меню Optimization ››Tuned Parameters приведет к открытию диалогового окна задания настраиваемых параметров Tuned Parameters (Рис. 4. 5). В котором, после нажатия кнопки Add, появится диалоговое окно Add Parameters, в нижнем поле
Рис. 4. 5. Окна задания настраиваемых параметров Tuned Parameters
которого необходимо набрать имя коэффициента пропорциональности kp, подтвердив операцию нажатием кнопки ОК (Рис. 4. 6).
Рис. 4. 6. Диалоговое окно Add Parameters
Появится график переходного процесса, подлежащего корректировке. Теперь необходимо запустить процесс оптимизации, нажав кнопку Start optimization. По окончании процесса оптимизации появится семейство графиков переходного процесса (Рис. 4. 7), в которых отражена динамика оптимизации при различных значениях коэффициента пропорциональности П – регулятора. Совокупность графиков содержит финальный график оптимального переходного процесса. График вписывается в установленные уровни.
Появится также окно выходной информации MATLAB (Рис. 4. 8), где содержится информация о процессе оптимизации и значение kp, соответствующее найденной оптимальной величине параметра П – регулятора. Характер оптимизированного переходного процесса можно также просмотреть на экране осциллографа (Рис. 4. 9).
Рис. 4. 7. Диалоговое окно Signal Constraint
max Directional First-order
Iter S-count f(x) constraint Step-size derivative optimality Procedure
0 1 0 2538
1 6 0 312.9 2.15 0 1 infeasible
2 9 0 1079 1.02 0 1 infeasible
3 12 0 202.2 0.831 0 1 infeasible
4 15 0 160.7 0.198 0 1 infeasible
5 18 0 203.8 0.199 0 1 Hessian modified; infeasible
6 21 0 168.6 0.203 0 1 Hessian modified twice; infeasible
7 24 0 202.8 0.202 0 1 Hessian modified; infeasible
8 27 0 163.5 0.2 0 1 Hessian modified twice; infeasible
9 30 0 203.5 0.2 0 1 Hessian modified; infeasible
10 33 0 166.7 0.202 0 1 Hessian modified twice; infeasible
11 36 0 203 0.201 0 1 Hessian modified; infeasible
12 39 0 164.6 0.2 0 1 Hessian modified twice; infeasible
13 42 0 203.3 0.201 0 1 Hessian modified; infeasible
14 45 0 166 0.201 0 1 Hessian modified twice; infeasible
15 48 0 203.1 0.201 0 1 Hessian modified; infeasible
16 51 0 165.1 0.201 0 1 Hessian modified twice; infeasible
17 54 0 203.2 0.201 0 1 Hessian modified; infeasible
18 57 0 165.7 0.201 0 1 Hessian modified twice; infeasible19 60 0 203.2 0.201 0 1 Hessian modified; infeasible
20 63 0 165.3 0.201 0 1 Hessian modified twice; infeasible
21 66 0 203.2 0.201 0 1 Hessian modified; infeasible
22 69 0 165.5 0.201 0 1 Hessian modified twice; infeasible
23 72 0 203.2 0.201 0 1 Hessian modified; infeasible
24 75 0 165.4 0.201 0 1 Hessian modified twice; infeasible
25 78 0 203.2 0.201 0 1 Hessian modified; infeasible
26 81 0 165.5 0.201 0 1 Hessian modified twice; infeasible
27 84 0 203.2 0.201 0 1 Hessian modified; infeasible
28 87 0 165.4 0.201 0 1 Hessian modified twice; infeasible
29 90 0 203.2 0.201 0 1 Hessian modified; infeasible30 93 0 165.5 0.201 0 1 Hessian modified twice; infeasible
31 96 0 203.2 0.201 0 1 Hessian modified; infeasible
32 99 0 165.4 0.201 0 1 Hessian modified twice; infeasible
33 102 0 203.2 0.201 0 1 Hessian modified; infeasible
34 105 0 165.5 0.201 0 1 Hessian modified twice; infeasible
35 108 0 203.2 0.201 0 1 Hessian modified; infeasible
36 111 0 165.5 0.201 0 1 Hessian modified twice; infeasible
37 114 0 203.2 0.201 0 1 Hessian modified; infeasible
38 117 0 165.5 0.201 0 1 Hessian modified twice; infeasible
39 120 0 203.2 0.201 0 1 Hessian modified; infeasible
40 123 0 165.5 0.201 0 1 Hessian modified twice; infeasible
41 126 0 203.2 0.201 0 1 Hessian modified; infeasible
42 129 0 165.5 0.201 0 1 Hessian modified twice; infeasible
43 132 0 203.2 0.201 0 1 Hessian modified; infeasible
44 135 0 165.5 0.201 0 1 Hessian modified twice; infeasible
45 138 0 203.2 0.201 0 1 Hessian modified; infeasible
46 141 0 165.5 0.201 0 1 Hessian modified twice; infeasible
47 144 0 203.2 0.201 0 1 Hessian modified; infeasible
48 147 0 165.5 0.201 0 1 Hessian modified twice; infeasible
49 150 0 203.2 0.201 0 1 Hessian modified; infeasible
50 153 0 165.5 0.201 0 1 Hessian modified twice; infeasible
51 156 0 203.2 0.201 0 1 Hessian modified; infeasible
52 159 0 165.5 0.201 0 1 Hessian modified twice; infeasible
53 162 0 203.2 0.201 0 1 Hessian modified; infeasible
54 165 0 165.5 0.201 0 1 Hessian modified twice; infeasible
55 168 0 203.2 0.201 0 1 Hessian modified; infeasible
56 171 0 165.5 0.201 0 1 Hessian modified twice; infeasible
57 174 0 203.2 0.201 0 1 Hessian modified; infeasible
58 177 0 165.5 0.201 0 1 Hessian modified twice; infeasible
59 180 0 203.2 0.201 0 1 Hessian modified; infeasible
60 183 0 165.5 0.201 0 1 Hessian modified twice; infeasible
61 186 0 203.2 0.201 0 1 Hessian modified; infeasible
62 189 0 165.5 0.201 0 1 Hessian modified twice; infeasible