Оптимизация коэффициента передачи И-регулятора
Рассмотрим пример параметрической оптимизации замкнутой системы автоматического регулирования (рис. 9.3).
Данная система представляет собой замкнутую структуру, состоящую:
1) из объекта регулирования, который в модели отображен звеном 2-го порядка (блок Transfer Fcn) и звеном транспортного запаздывания (блок Transport Delay);
Рис.9.3. Пример использования системы NCD
2) интегрального регулятора (И-регулятора), отображаемого последовательно соединенными пропорциональным звеном с коэффициентом пропорциональности Kint и интегрирующим звеном с ограничением на выходной сигнал (блок Limited Integrator);
3) контура обратной связи и звена сравнения Sum.
В модель также введены источник входного сигнала в виде единичного скачка и NCD-блок типа NCD Output, подключенный к выходу системы (здесь данный блок имеет имя NCD Outport 1).
Нетрудно видеть, что в данном случае контролируемым сигналом является реакция системы на единичный скачок, то есть ее переходная функция. Настраиваемым (оптимизируемым) параметром является коэффициент Kint, а ограничения, накладываемые на переходную функцию, формулируются следующим образом:
- максимальное перерегулирование - не более 10 %;
- время нарастания - не более 10 с;
- длительность переходного процесса - не более 30 с.
В командной строке MATLAB наберем:
Kint=0.3
Далее двойным щелчком мыши откроем рабочее окно блока NCD Outport 1. В графической части окна показаны границы контролируемого сигнала, устанавливаемые по умолчанию. Легко заметить, что они не соответствуют заданным ограничениям, поэтому изменим их. Для этого, используя указатель мыши, переместим вертикальные и горизонтальные линии ограничений до положений, соответствующих нашим требованиям.
Заметим, что точную установку линий ограничения можно провести, выбирая требуемые линии с помощью щелчка левой кнопкой мыши (выбранная линия изменяет цвет - становится белой) и используя затем команду меню Edit > Edit constraint. В появляющемся окне редактора ограничений (Constraint Editor) в строке снизу необходимо задать начальную и конечную точки прямой в формате [x1 y1 х2 у2], нажав затем кнопку Done.
Точно такие же действия можно обеспечить, не используя пункты меню, а просто щелкнув на соответствующей линии правой кнопкой мыши.
Следующий этап - указание переменных, подлежащих оптимизации. Выбор команды меню Optimization>Parameters приведет к открытию диалогового окна задания настраиваемых параметров и интервала дискретизации - Optimization Parameters (рис. 9.4).
Рис.9.4. Настройка блока NCD Outport
Рис.9.5. Результаты оптимизации
В верхнем поле данного окна (Tunable Variables) введем имя настраиваемого параметра Kint (если таких параметров несколько, то их имена разделяются пробелами или запятыми), а величину интервала дискретизации (Discretization interval) установим равной 0,5 (ввод завершается нажатием кнопки Done).
Процесс поиска решения запускается нажатием кнопки Start окна блока NCD Outport. Данный поиск иллюстрируется начальной и конечной формами переходного процесса, а также выходной информацией MATLAB.
Выведенные сообщения носят в основном служебный характер (главное из них говорит о том, что процесс поиска решения завершился успешно - Optimization Converged Successfully). Что же касается формы переходного процесса для оптимизированной системы, то из рис. 9.5 видно, что она полностью соответствует заданным ограничениям.
Найденную оптимальную величину параметра Kint можно узнать, набрав в командной строке имя данного параметра.
Удаление графиков процессов в окне блока NCD Output производится с помощью команды меню Edit > Delete plots (или одновременным нажатием
клавиш Ctrl+X).
Меню окна блока NCD Output
Меню File (Файл) содержит стандартные команды Load (Загрузить), Close (Закрыть), Save (Сохранить) и Print (Печатать). Действия, выполняемые при выборе любой из данных команд, относятся к графикам заданных временных ограничений, отображаемым в основном окне рассматриваемого блока. Меню Edit (Правка) содержит уже рассмотренные команды Edit constraint и Delete plots, а также команду Undo (Отменить), производящую отмену последнего действия.
Меню Options (Настройка) содержит следующие команды:
- Initial response (Начальный отклик). Выбор данной команды приводит к выводу (в основном окне блока NCD Output) отклика исследуемой системы при начальных значениях ее параметров;
- Reference input (Задающий вход). Выбор данной команды приводит к открытию диалогового окна, в котором при желании - для вывода соответствующего графика - можно указать параметры входного задающего сигнала системы. Никакого влияния на процессы моделирования и оптимизации данные параметры не оказывают;
- Step response (Характеристики переходного процесса). Выбор этой команды приводит к открытию диалогового окна, в котором задаются параметры переходного процесса, такие как его длительность (Settling time), время нарастания (Rise time), максимальное перерегулирование (Percent overshoot), максимальное «недорегулирование» (Percent undershoot), соответствующие уровни определения данных характеристик (Percent settling и Percent rise, в процентах), а также начальное и конечное время моделирования (Step time и Final time), желаемые начальное и конечное значения выхода (Initial output и Final output). Все эти параметры пользователь может изменять;
- Time range (Временной диапазон). Выбор данной команды приводит к открытию диалогового окна, в котором можно задать или изменить диапазон времени моделирования и метку оси времени, то есть параметры оси абсцисс;
- Y-Axis (Ось Y). То же, что и для предыдущей команды, но по отношению к оси ординат;
- Refresh (Обновить) - перерисовать все временные ограничения.
Меню Optimization (Оптимизация) содержит рассмотренные ранее команды Parameters и Uncertainty, а также команду Start (Старт), выбор которой запускает процесс моделирования и оптимизации системы (это аналогично нажатию кнопки Start в окне Simulink или кнопки Start в панели кнопок в нижней части окна блока NCD Output). Команда Stop (Стоп) останавливает процесс моделирования (аналогичное действие выполняется при нажатии кнопки Stop в панели кнопок блока NCD Output).
Наконец, последним является меню Style (Стиль). Здесь имеются следующие команды:
- Grid (Сетка) - установка сетки на графике заданных ограничений;
- Snap (Привязка) - при установке данного режима линии временных ограничений можно проводить не под любым углом к оси абсцисс, а только под углом, кратным 22,5°;
- Hot-key help (Горячие клавиши) - вывод информации о «горячих» клавишах и их комбинациях;
- Readme.m (Файл справки) - вывод файла справки об окне блока NCD Output.
Из пяти кнопок панели, расположенной в нижней части окна рассматриваемого блока, четыре (Start, Stop, Help и Close) в дополнительных пояснениях не нуждаются. Что же касается пятой кнопки Split (Расщепить), то ее нажатие, при предварительном выборе с помощью левой кнопки мыши какой-либо ограничивающей линии, приводит к «расщеплению» этой линии на две одинаковые по длине половинки с возможностью последующего редактирования отдельно каждой из них.
Особенности решаемых задач
При решении различных оптимизационных задач с помощью пакета NCD Blockset следует иметь в виду следующие особенности этого пакета:
- пакет может использоваться для решения задач оптимизации переходного процесса, идентификации, настройки параметров системы с использованием квадратичного критерия качества - для случаев, когда все сигналы в исследуемой системе на этапе ее оптимизации являются детерминированными, а шумы наблюдений и измерений отсутствуют. При необходимости рекомендуется провести исследование оптимизированной системы с добавлением указанных шумов;
- оптимизация следящих систем проводится при входном сигнале типа единичного скачка;
- могут рассматриваться задачи оптимизации многомерных объектов с одновременным заданием временных ограничений на ряд сигналов системы (что требует использования нескольких блоков NCD Output);
- пакет может также использоваться для оптимизации размещения нулей и полюсов передаточной функции на комплексной плоскости. Для этого надо просто использовать блок Simulink Zero-pole или Transfer Fсn библиотеки Continuous и объявить (с помощью диалогового окна настраиваемых параметров) требуемые нули и полюса настраиваемыми, с заданием, разумеется, их предельных (наибольших и наименьших) значений.