Оптимизация параметров САР по нескольким параметрам

Цель работы

Формулировка заданий на параметрическую оптимизацию САР

При проектировании системы автоматического управления техническое задание содержит ряд требование, которые относятся к системе: перерегулирование, заданный запас устойчивости, динамическая и статическая ошибки. В итоге задача обеспечения требуемого качества переходных процессов в проектируемой системе автоматического управления формируется, как задача нелинейного программирования.

Объектом исследования является линейная следящая система, структурная схема которой изображена на рисунке (Рисунок 1).

Следящая система содержит следующие функционально необходимые элементы:
  • 1 блок «Константа» из вкладки «Источники»;
  • 1 блок «Сравнивающие устройство» и 1 блок «Усилитель» из вкладки «Операторы»;
  • 2 блока «Инерционное звено 1-го порядка», 1 блок «Передаточная функция общего вида» и 1 блок «Интегратор» из вкладки «Динамические»;
  • «Временной график» из вкладки «Вывод данных».
Расположить блоки на схеме согласно рисунку (Рисунок 1)

Рисунок 1. Структурная схема проектируемой САУ.

Для настройки параметров схемы необходимо нажать на кнопку «Параметры расчета» (Рисунок 2). В открывшемся окне «Параметры проекта» нужно указать минимальный и максимальный шаг интегрирования, метод интегрирования и установить ошибки расчета.

Рисунок 2. Окно «Параметры проекта».

Требуется изменить параметры структурной схемы, изменив свойства соответвующего блока. Для этого необходимо нажать правой кнопкой мыши на необходимый блок и выбрать в контекстном меню пункт «Свойства объекта»:
  • Для блока «Константа» изменить свойства согласно рисунку (Рисунок 3).

    Рисунок 3. Свойства блока «Константа».

  • Для блока «Инерционное звено 1-го порядка» изменить свойства согласно рисунку (Рисунок 4).

    Рисунок 4. Свойства блока «Инерционное звено 1-го порядка».

  • Для блока «Передаточная функция общего вида» изменить свойства согласно рисунку (Рисунок 5).

    Рисунок 5. Свойства блока «Передаточная функция общего вида».

  • Для блока «Инерционное звено 1-го порядка» изменить свойства согласно рисунку (Рисунок 6).

    Рисунок 6. Свойства блока «Инерционное звено 1-го порядка».

  • Для блока «Интегратор» оставить значения по умолчанию.
Запустить проект на моделирование нажитием на кнопку «Пуск». В результате моделирования получившийся график переходного процесса (Рисунок 7) для данного варианта неустойчив.

Рисунок 7. Переходной процесс при начальных условиях.

Последовательность действий по оптимизации

Перечень основных этапов, которые необходимо выполнить для реализации оптимизации:
  • задать варьируемые параметры как глобальные переменные (точнее - сигнал проекта), используя соответствующие интерфейсные процедуры;
  • сформировать локальные критерии оптимизации, которые необходимы для решения основной задачи оптимизации;
  • поместить на схему блок «Оптимизатор» и ввести в его настройках требуемые данные, включая:
    • имена варьируемых параметров, пределы их изменения и погрешность расчета,
    • имена локальных критериев и допустимые пределы их значений;
    • расчетный метод оптимизации и его настройки;
  • запустить задачу.

Задание варьируемого параметра как глобального сигнала проекта

Процедура задания глобальных сигналов выполняется в специальном окне с заголовком «Редактор сигналов проекта». Для вызова данного окна необходимо в главном меню программы выбрать пункт «Сервис» подпункт «Сигналы…» (Рисунок 8).

Рисунок 8. Пункт «Сигналы…».

Так же, для быстрого доступа к сигналам проекта вынесена отдельная кнопка в главном окне SimInTech (Рисунок 9).

Рисунок 9. Кнопка «Сигналы...».

Список сигналов проекта позволяет создать список переменных, которые используются в процессе моделирования во всех субмоделях проекта и обеспечивают доступ к данным переменным по их имени.

В открывшемся окне «Редактор сигналов проекта» в нижней части необходимо нажать на кнопку «Добавить сигнал» для добавления нового сигнала в списке сигналов. После создания сигнала пользователь получает возможность задать его имя и атрибуты.

Для оптимизации тестовой задачи требуется создать восемь сигналов:
  • «k1», «k2», … «k6» – коэффициенты, сигнал (параметр), который оптимизируем в задаче;
  • «tpp» – время переходного процесса;
  • «dy» – величина перерегулирования.
Создать восемь сигналов и настроить их атрибуты согласно рисунку (Рисунок 10).

Рисунок 10. Список сигналов проекта.

Прим.: Переменные данного списка могут быть использованы в качестве свойств блоков расчетной схемы.
Поскольку переменные из списка сигналов проектов могут быть использованы в качестве свойств блоков, то в свойствах блока «Передаточная функция общего вида» вместо численного значения в числителе и знаменателе требуется задать переменные («k1», «k2», … «k6») (Рисунок 11).

Рисунок 11. Свойства блока «Передаточная функция общего вида».

Для создания скрипта, инициализирующего начальные значения, необходимо в главном меню выбрать пункт «Сервис» подпункт «Скрипт…», (Рисунок 12).

Рисунок 12. Пункт «Скрипт...».

Для быстрого доступа к скрипту проекта вынесена отдельная кнопка в главном окне SimInTech (Рисунок 13).

Рисунок 13. Кнопка «Скрипт...».

Или можно воспользоваться кнопкой «Скрипт» в самом проекте (Рисунок 14).

Рисунок 14. Кнопка «Скрипт…» в окне проекта.

В открывшемся окне записать скрипт проекта, как показано на рисунке (Рисунок 15).

Рисунок 15. Окно «Скрипт страницы».

Расчет локальных критериев оптимизации

Для расчета параметров переходного процесса используем новую субмодель, в которой будет создана расчетная схема.Поместить на схему блок «Субмодель» из вкладки «Субструкутры» и осуществить двойное нажатие на блок для входа в субмодель.

В рабочую область блока «Субмодель» необходимо поместить следующие блоки:
  • 2 блока «Порт входа» и 2 блока «Порт выхода» из вкладки «Субструктуры»;
  • 1 блок «Абсолютное значение» из вкладки «Операторы»;
  • 1 блок «Часы» из вкладки «Источники»;
  • 1 блок «Ключи-3» из вкладки «Ключи»;
  • 1 блок «Задержка на шаг интегрирования» и 1 блок «Нижний или верхний передел» из вкладки «Нелинейные».
Блоки «Порт входа» и «Порт выхода» рекомендуется поместить с левой стороны один под другим, тогда их порядок будет соответствовать порядку входов блока схеме верхнего уровня. Разместить блоки на схеме, задать им подписи и размер согласно рисунку(Рисунок 16).

Рисунок 16. Расчет параметров переходного процесса.

Для настройки расчета параметров переходного процесса необходимо задать значения блоков субмодели.
  • В свойствах блока «Ключ-3» с подписью «Величина допуска» задать значение свойства «Значения уставок» равным «0.21875», что соответствует 25%-й «трубке» от будущего установившегося значения.
  • В свойствах блока «Нижний или верхний предел» задать значение свойства «Тип операции» равным «Максимум», что обеспечит запись максимального значения величины, полученной из входного порта в список сигналов.

  • Задать название портов входов и выходом, путем двойного нажатия по блокам «Порт входа» и «Порт выхода» и вызова окна «Порт субмодели». В открывшемся окне в поле «Имена портов субмодели» задать названия портов «Рассогласование», «y(t)», «tpp», «dy» в соответствии с рисунком (Рисунок 17).

    Рисунок 17. Рабочая область проекта с заданными параметрами блоков.

Схема расчета времени переходного процесса работает следующим образом:
  • На средний (логический) входной порт блока «Ключ-3» (Величина допуска) подается модуль сигнала рассогласования.
  • Если этот сигнал больше уставки (25 % от 0.875), то на выход блока «Ключ-3» передается сигнал с 3-го (нижнего) входного порта, т.е. текущее модельное время.
  • Если управляющий сигнал (на среднем входном порту) меньше уставки, то на выход блока «Ключ-3» передается сигнал с 1-го (верхнего) входного порта, т.е. тот же сигнал, но задержанный на один шаг интегрирования.
  • Задержку на 1 шаг интегрирования осуществляет блок с подписью «Время переходного процесса» (блок «Задержка на шаг интегрирования» из вкладки «Нелинейные»).

Таким образом, после завершения расчета в переменных «tpp» и «dy» будет находиться значение времени переходного процесса и максимальное значение выхода из блока «Передаточная функция общего вида» .

Выйти из рабочей области субмодели, выполнив двойное нажатие мышью на свободное пространство окна проекта или нажав на клавишу «Pg Up».

В окне проекта добавить два блока «Запись в список сигналов» из вкладки «Сигналы» и задать в их свойствах значение свойства «Имена сигналов» равным «tpp» и «dy» соответвтвенно. После этого необходимо подключить к входным портам входа субмодели, значения сигнала рассогласования и выходное значение блока «Передаточная функция общего вида», а также подключить выходы субмодели к соответвующим сигналам «tpp» и «dy». Разместить блоки на схеме согласно рисунку (Рисунок 18).

Рисунок 18. Схема с расчетом параметров переходного процесса.

Настройка блока оптимизация

Поместить на схему следующие блоки:
  • 2 блока «Чтение из списка сигналов» и 6 блоков «Запись в список сигналов» из вкладки «Сигналы»;
  • 1 блок «Мультиплексор» и 1 блок «Демультиплексор» из вкладки «Векторные»;
  • 1 блок «Оптимизатор» из вкладки «Анализ и оптимизация».
Собрать схему как показано на рисунке (Рисунок 19).

Рисунок 19. Рабочая облась проекта с размещенными блоками.

Увеличить количество выходных портов блока «Демультиплексор» до 6 портов. Произвести настройку блоков «Чтение из списка сигналов» и «Запись в список сигналов», а также соединить линии связи согласно рисунку (Рисунок 20).

Рисунок 20. Рабочая область проекта с блоком «Оптимизатор».

Поясним работу данной схемы: два сигнала, максимальная величина значения – «dy», и время переходного процесса – «tpp», рассчитанные в блоке «Субмодель», упаковываются в вектор блоком «Мультиплексор» и передаются в блок оптимизации. Блок «Оптимизатор» рассчитывает значение, передаваемое в сигнал («k1», «k2», … «k6»), который, в свою очередь определяет коэффициенты в блоке «Передаточная функция общего вида», и должен обеспечить заданную характеристику переходного процесса.

В качестве параметров оптимизации используем время переходного процесса и максимальное значение в течении переходного процесса, соответственно оптимизация должна рассчитываться по всему переходному процессу. Блок «Оптимизатор» может вычислять оптимальные значения и во время переходного процесса, но для этого необходимо использовать критерии оптимизации, рассчитываемые в каждый момент времени. В свойствах блока «Оптимизатор» (Рисунок 21) можно настроить необходимые критерии оптимизации:
  • «Режим оптимизации параметров» – оптимизация осуществляется либо динамически в течение одного цикла моделирования системы, изменяя параметр оптимизации прямо в ходе моделирования, либо по полному переходному процессу системы с помощью серии последовательных циклов моделирования, в каждом из которых обновляется значение оптимизируемого параметра.
  • «Периодичность анализа критериев оптимизации при расчете в динамике» - данное свойство используется при расчете критериев оптимизации в динамике.
  • «Начальное приближение выходов блока» – данное свойство задает вектор начальных значений оптимизируемых параметров (в данном случае оптимизируемые параметры («k1», «k2», … «k6»). При необходимости создания вектора определенной размерности с одинаковыми элементами используется оператор «#» («A#B» - размножение числа B в вектор размерностью A).
  • «Минимальные значения выходов блока» и «Максимальное значение выходов блока» – ограничивают диапазон поиска оптимальных параметров системы.
  • «Абсолютная точность подбора значений выходов» – задает точность при расчете оптимизируемых параметров.
  • «Начальное приращение выходов» – задает первый шаг приращения при подборе значений оптимума. Чем больше шаг, тем быстрее меняются подираемые значения в начале поиска экстремума, но также есть шанс что оптимальное значение будет пропущено. В данной задаче задается шаг равный точности расчета модели. Это замедляет расчет, но гарантирует поиск с заданной точностью.
  • «Минимальные значения входных критериев оптимизации» и «Максимальные значения входных критериев оптимизации» – задают границы целевого диапазона критериев оптимизации.
  • «Тип суммарного критерия оптимизации» – метод свертывания критериев, для формирования целевой функции.
  • «Метод оптимизации» – метод свертывания критериев, для формирования целевой функции.
В данном примере вектор критериев состоит из шести критериев оптимизации («k1», «k2», … «k6»). основанных на двух параметрах:
  • Первый параметр – величина перерегулирования. По условию задачи необходимо на выходе системы попасть в трубку 25% от заданной величины, этому соответствует минимальное значение 0,875.
  • Второй параметр – время переходного процесса. Минимальное время у нас не ограничено, поэтому оставляем 0.
По требованию задачи не должно быть перерегулирования максимального значения первого критерия 1.125, а время переходного процесса должно быть не более 0.6 секунд.

Рисунок 21. Свойства блока «Оптимизатор».

Расчет оптимального регулятора

При нажатии на кнопку «Пуск» в главном окне происходит запуск моделирование.

Прим.: при добавленном блоке «Оптимизатор» с выбранным режимом «Оптимизации по полному переходному процессу», модель будет рассчитывается не один раз в динамике, а несколько повторных раз до получения оптимального результата.

В данном случае в окне сообщений, в нижней части схемного окна появляется информация об оптимизированном параметре и достигнутых критериях оптимизации (Рисунок 22).

Рисунок 22. Расчет модели с оптимизацией параметров.

Рисунок 23. Оптимизированный переходной процесс.

Для того что бы посмотреть значение сигналов («k1», «k2», … «k6»), в который записано оптимизированное значение коэффициента, требуется дважды нажать на блок «Передаточная функция общего вида» или открыть «Список сигналов проекта» (Рисунок 24 и Рисунок 25).

Рисунок 24. Значения оптимизированных коэффициентов.

Рисунок 25. Значение оптимизированных сигналов.