Цель работы
- Ознакомление с процедурами оптимизации в SimInTech на примере синтеза оптимального
интегрирующего регулятора.
Формулировка заданий на параметрическую оптимизацию САР
При проектировании системы автоматического управления техническое задание содержит ряд
требование, которые относятся к системе: перерегулирование, заданный запас устойчивости,
динамическая и статическая ошибки. В итоге задача обеспечения требуемого качества переходных
процессов в проектируемой системе автоматического управления формируется, как задача
нелинейного программирования.
Объектом исследования является линейная следящая система, структурная схема которой
изображена на рисунке (Рисунок 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. Значение оптимизированных сигналов.