Красноярский государственный университет цветных металлов и золота Кафедра автоматизации производственных процессов ЦМ Дисциплина “Применение ЭВМ в СУ” Красноярск 2005 г. Лабораторная работа № 9 “Изучение пакета CtrlLAB системы MATLAB для проектирования и анализа систем управления с обратной связью“ ЦЕЛЬ РАБОТЫ 1. Ознакомиться с составом и назначением программного пакета CtrlLAB. 2. Ознакомиться с основными методами и примерами использования программного пакета CtrlLAB для моделирования и анализа систем управления. 3. Освоить расчет, настройку и анализ систем с обратной связью в среде CtrlLAB системы MATLAB. МЕТОДИКА ВЫПОЛНЕНИЯ РАБОТЫ 1. Открыть рабочее окно программы CtrlLAB. 2. Изучить теоретические сведения о пакете CtrlLAB. 3. Закончив изучение теоретических сведений о пакете CtrlLAB, выполнить задание по моделированию СУ. 1 Основные сведения о пакете CtrlLAB 3.0 CtrlLAB – это основанная на MATLAB программа, которая может быть использована при анализе и разработке SISO (система с одним входом и одним выходом) систем управления. В программе широко используются возможности графического интерфейса пользователя (GUI) MATLAB v5.0 и выше, чтобы сделать ее гибким, удобным для пользователя и мощным приложением как для обучения, так и для проектирования. Впервые CtrlLAB был опубликован на анонимном сайте MathWorks как пользовательская программа для MATLAB и с тех пор привлек к себе много внимания. Сейчас CtrlLAB является гораздо более совершенным приложением и предоставляет гораздо больше полезных и надежных функций. 1. 2. 3. 4. 5. 6. 7. 8. Основными возможностями CtrlLAB являются: Ввод моделей, включая моделирование SIMULINK. Показ моделей. Реализация пространства состояний системы. Упрощение систем с использованием различных методов. Анализ систем в частотной, комплексной и временной области. Вывод графиков с возможностью их редактирования и изменения. Матричный процессор и редактор GUI. Некоторые блоки проектирования контроллера, такие как классические (ПИД регулирование с временной задержкой, LQ optimal, положение полюсов, и т.д.), средства настройки и просмотра ПИД-регуляторов, методы разработки робастных контроллеров. 2 Основы работы с CtrlLAB 3.0 Чтобы запустить CtrlLAB, наберите в окне MATLAB ‘ctrllab’ . Появится графический интерфейс пользователя с меню, как показано на рисунке 1. Сначала пользователю необходимо задать модель объекта управления и другие модели, если таковые имеются, затем можно будет выполнять задачи анализа и конструирования. Рисунок 1 Графический интерфейс пользователя CtrlLAB Ввод передаточных функций Для ввода передаточной функции ОУ необходимо нажать левой кнопкой мыши по значку G(s) и в всплывающем окне (рисунок 2) ввести значения коэффициента усиления Коб и постоянной времени Тоб. Это же окно можно вызвать, выбрав в меню Model пункт Model select>G(s). Рисунок 2 Окно ввода модели объекта После нажатия кнопки “Apply” появится окно ввода данных, которое будет содержать введенную ПФ объекта управления (рисунок 3). Рисунок 3 Вид окна ввода данных с введенной ПФ объекта управления Чтобы изменить введенную передаточную функцию и вернутся к окну, показанному на рисунке 2, можно нажать кнопку Modify окна ввода данных. Также в CtrlLAB предусмотрен ввод моделей объекта, заданных в пространстве состояний, в виде нулей-полюсов или диаграмм SIMULINK. Чтобы задать модель любым из перечисленных способов, выберите соответствующий пункт в строке Other types окна ввода модели объекта. По умолчанию модель задается в виде передаточной функции. Модель в виде нулей-полюсов или пространства состояний может быть получена автоматически по заданной передаточной функции. Для этого, после ввода передаточной функции выберите пункт Polezero-gain или State space. Передаточная функция будет преобразована, и результат будет выведен на экран, как показано на рисунках 4 и 5. Рисунок 4 Модель объекта в виде нулей полюсов Рисунок 5 Модель объекта в виде пространства состояний Если анализируемая система содержит более сложные структуры, такие как блочные диаграммы или системы с нелинейностью, то для моделирования системы используется SIMULINK. Можно выбрать пункт SIMULINK в строке other types диалогового окна, показанного на рисунке 2, в этом случае необходимо будет задать имя модели (внутреннее имя), после чего появится среда редактирования SIMULINK, как показано на рисунке 6 (а) и (b). На рисунке (а) показана библиотека блоков, из которой можно получить все блоки SIMULINK. На рисунке (b) показано пустое окно редактора моделей SIMULINK, в котором можно задать свою систему между входным и выходным портом системы. Когда процесс ввода системы закончен, надо дважды щелкнуть мышкой кнопку Return to CtrlLAB, чтобы вернуться СtrlLAB. (а) Библиотека блоков (b) окно редактора модели Рисунок 6 Средства ввода моделей SIMULINK В СtrlLAB вместе с моделью SIMULINK будет создана и сохранена линеаризованная передаточная функция системы. После того, как модель объекта управления задана, нажатием левой кнопкой мыши по значку Exp(-Ts) введем значение запаздывания. Надпись в окне ввода данных изменится (рисунок 7). Рисунок 7 Окно ввода данных до введения запаздывания Нажимаем кнопку “Modify” и в появившемся окне вводим значение запаздывания. Также в этом окне можно ввести значение аппроксимации Pade (рисунок 8). Рисунок 8 Окно ввода запаздывания модели После нажатия кнопки “Apply” появится окно ввода данных, которое будет содержать значение введенного запаздывания и аппроксимации Pade (рисунок 9). Рисунок 9 Окно ввода данных с введенным запаздыванием и значением аппроксимации Pade Окно ввода данных можно закрыть. После выполнения этого действия модель объекта управления введена. Расчет ПИД-регулятора Если в рабочее поле MATLAB задана модель объекта управления, то для этой системы можно рассчитать ПИД-регулятор. В пакете CtrlLAB есть возможность расчета параметров ПИД-регулятора с помощью различных критериев: Ziegler-Nichols; Cohen-Coon; усовершенствованный метод Ziegler-Nichols; Chien (CHR) Tuning; модифицированный метод Ziegler-Nichols; внутреннее управление моделью. Наиболее часто применяемый критерии расчета параметров ПИД-регулятора – это критерий Ziegler-Nichols. Расчет ПИД-регуляторов осуществляется с помощью меню Design>PID controller, вид которого показан на рисунке 10. Рисунок 10 Меню расчета параметров контроллера Кроме стандартного ПИД-регулятора можно также рассчитать П, ПИ-регулятор и ПИДрегулятор с Д-составляющей в контуре обратной связи. Тип регулятора можно выбрать в меню Design>PID controller>Controller type, показанного на рисунке 11. Рисунок 11 Меню выбора типа контроллера Для расчета параметров ПИД-регулятора по методу Ziegler-Nichols выберем в меню Design>PID controller>Controller type пункт Normal PID, затем в меню Design>PID controller>One-shot design выберем пункт Ziegler-Nichols tuning. После расчета настроек регулятора появится окно ввода данных с ПФ регулятора в прямой связи (рисунок 12). Рисунок 12 Передаточная функция ПИД-регулятора по методу Ziegler-Nichols Построим переходные характеристики системы. Для этого выберем пункт меню Analysis>Time domain analysis>Step response, либо нажмем кнопку основного интерфейса. На экране появится переходная характеристика замкнутой системы вместе с характеристикой некомпенсированной системы, как показано на рисунке 13. Рисунок 13 Переходные процессы в системе с (compensated) и без (uncompensated) регулятора Рассчитаем также контроллер по методу Cohen-Coon. Для этого в меню, показанном на рисунке 10, выберем пункт One-shot design> Cohen-Coon. Рисунок 14 Передаточная функция ПИД-регулятора по методу Cohen-Coon Построим переходные характеристики системы. Рисунок 15 Переходные процессы в системе с (compensated) и без (uncompensated) регулятора В пакете CtrlLAB предоставлена возможность оптимизации рассчитанных настроек регулятора с помощью критериев ISE (минимум интеграла квадратичной ошибки), ISTE, IST2E и критерия оптимизации по фазе. Для выбора критерия выбираем необходимый в меню Design>PID-controller> Optimum tuning. После проведения оптимизации настроек регулятора по ISE критерию получаем следующие настройки ПИД-регулятора (см. рисунок 16). Рисунок 16 Оптимизированные настройки ПИД-регулятор (Ziegler-Nichols) После проведения оптимизации настроек ПИД-регулятора (см. рисунок 17) время регулирования уменьшились, качество регулирования улучшилось. Рисунок 17 Вид ПП после оптимизации настроек ПИД-регулятора (Ziegler-Nichols) 3 Анализ систем С помощью CtrlLAB можно выполнять различные виды анализа систем. Если известна модель объекта управления системы, то можно выбрать в меню главного интерфейса пункт Analysis и вызвать меню анализа системы, показанное на рисунке 18. Оно позволяет выполнять различные задачи анализа систем непосредственно с помощью меню CtrlLAB. Рисунок 18 Меню анализа системы Частотный анализ Построим диаграмму Боде системы. Для этого выберем в меню пункт Analysis>Frequency Domain Analysis>Bode diagram. Диаграмма Боде появится, как показано на рисунке 19 (а). Если пользователь выберет подменю Curves>Add asymptotic в окне диаграммы Боде, то вместе с точной на экран будет выведена асимптотическая диаграмма Боде, как показано на рисунке 19(b). (а) диаграмма Боде (b) точная и асимптотическая диаграммы Боде Рисунок 19 Диаграмма Боде разомкнутой системы Свойства графиков можно изменить. Для этого в окне диаграммы Боде выберем в меню File пункт preferences, появится диалоговое окно, показанное на рисунке 20, в котором можно будет изменить некоторые детали графика такие как рамка, координатная сетка, цвета и т.д. (подробнее о работе с графиками будет рассказано далее). Рисунок 20 Окно свойств графика Кроме того, с помощью этого окна можно строить графики как замкнутого, так и разомкнутого контура системы. Обратите внимание, что окно Combination с двумя флажками, которое позволяет пользователю анализировать как Compensated так и Uncompensated модели доступно только если задан блок контроллера. Теперь построим диаграммы Найквиста и Никольса, выбрав в меню Analysis пункты Frequency Domain Analysis>Nyquist plot и Frequency Domain Analysis>Nichols chart. Результат показан на рисунках 21 и 22 соответственно. Рисунок 21 Годограф Найквиста разомкнутой системы Рисунок 22 Диаграмма Никольса разомкнутой системы Чтобы получить график расположения корней, выберем в меню Analysis пункт Root locus (см. рисунок 23). Рисунок 23 График расположения корней Анализ систем во временной области График переходной и импульсной переходной характеристик можно получить, выбрав в меню соответственно Analysis>Time Domain Analysis>Step response и Analysis> Time Domain Analysis>Impulse response. Рисунок 24 Импульсная переходная характеристика замкнутой системы По умолчанию строится переходная характеристика замкнутого контура. Но можно построить переходную характеристику и разомкнутого контура, изменив соответствующий пункт диалогового окна (см. рисунок 20). Также можно установить диапазон графика, выбрав в меню окна графика пункт Zooming>User Define. Появится диалоговое окно, показанное на рисунке 25 в котором можно задать новый диапазон. Рисунок 25 Окно изменение диапазона графика Кроме выходного, можно получить временные отклики и других сигналов системы. Построим на одном графике отклики сигнала ошибки (е(t), сигнала управления (u(t) и выходного сигнала на единичное ступенчатое воздействие. Для этого сначала выберем в меню Analysis>Loop Specs and Signals пункт Error signal e(t), затем выберем пункт Close loop этого же мню. Построим переходной процесс как было описано ранее. В окне графика в меню File выберем пункт Axis and Grids>Hold figure. После этого аналогичным образом построим характеристики управляющего воздействия Actuating signal u(t) и выходного сигнала Output signal y(t). Результат построений приведен на рисунке 26. Рисунок 26 Отклики сигнала ошибки, управляющего воздействия и выходного сигнала Анализ свойств системы Получим запасы устойчивости по амплитуде и фазе анализируемой системы. Для этого в меню Analysis выберем пункт Parametric Analysis > Gain/Phase Margins. Появится информационное окно, показывающее предельные значения фазы и коэффициента усиления системы (см рисунок 27). Рисунок 27 Запас устойчивости по амплитуде и фазе Кроме запасов устойчивости в CtrlLAB можно также получить аналитическое выражение переходной характеристики. Для этого в меню Analysis выберем пункт Parametric Analysis>Analytical Solution. Появится информационное окно, содержащее выражение переходной характеристики системы. Рисунок 28 Аналитическое выражение переходной характеристики Для удобства работы, некоторые из вышеперечисленных функций вынесены в виде отдельных клавиш в основной интерфейс программы. К числу этих функции относятся: Диаграмма Боде Диаграмма Никольса Годограф Найквиста 4 Упрощение моделей Переходная характеристика Импульсная переходная характеристика Инверсный Разомкнутый Замкнутый Годограф контур Найквиста Порядок модели можно понизить. Для этого нужно в меню выбрать пункт Model>Reduction. На экране появится диалоговое окно упрощения модели (Рисунок 29), где представлены различные методы упрощения моделей, такие как аппроксимация Паде, метод Роуфа, метод основной волны, метод уравновешенной реализации, метод оптимального сокращения, FF-Pade метод, модальный метод, а также метод оптимальной аппроксимации Ханкеля. Если в качестве метода упрощения выбрать метод оптимального сокращения и задать желаемый порядок упрощенной модели (Рисунок 29), то получим результат, показанный на рисунке 30. Рисунок 29 Диалоговое окно упрощения модели Рисунок 30 Упрощенная модель Чтобы сравнить упрощенную и оригинальную модели, нажмите кнопку Compare responses в окне показа модели; появится новое диалоговое окно (см рисунок 31). Рисунок 31 Окно сравнения моделей Выберите модель и характеристики для сравнения. Можно сравнивать модели, упрощенные разными методами, а также различные отклики, такие как диаграмма Боде, годограф Найквиста, диаграмма Никольса, а также переходные и импульсные переходные характеристики оригинальной и упрощенной моделей. Затем нажмите кнопку Compare. Для примера, на рисунке 30 показаны в сравнений переходные характеристики оригинальной и упрощенной с помощью метода оптимального сокращения моделей. Оригинальная модель была заданна в виде G(s) = (1.5s2 + 8.7s + 6)/(s4 + 9s3 + 23s2 + +22.5s+ 6). Графики оригинальной модели изображаются сплошной синей линией, а упрощенной – зеленой. Как видно из графика, отклики моделей практически совпадают. Рисунок 32 Сравнение упрощенной и оригинальной моделей 5 Работа с графиками С построенными в CtrlLAB графиками можно проводить следующие действия: включать/выключать сетку на графике; наносить на поле графика необходимые надписи, выносные линии и перемещать их; изменять цвет осей, в которых построен график, области графика; изменять масштаб построенного графика; устанавливать в необходимом месте позицию курсора с указанием числовых значений; выбирать самостоятельно значения по осям координат; изменять тип, толщину и маркер кривой; выводить несколько графиков в одних координатах. Чтобы включить сетку, необходимо на графике в меню File выбрать пункт Axis and Grids>with grid. Для удобства чтения графиков в CtrlLAB можно добавлять легенду, различные надписи, линии выноски и указатели. Чтобы нанести надпись на график надо в меню Legends выбрать пункт New legend, либо нажать кнопку на панели окна графика. После этого указатель мыши превратиться в перекрестие. Установите перекрестие на то место, где должна быть надпись и нажмите левую кнопку мыши. Появится окно, в которое необходимо ввести текст надписи (см рисунок 33). Рисунок 33 Добавление легенды После того, как легенда добавлена, ее можно изменить, переместить или удалить с помощью пунктов меню Legends>edit, Legends>move и Legends>delete соответственно. Чтобы добавить к графику линии выноски и указатели, необходимо выбрать в меню Legends пункты Add a line и Add an arrow, либо нажать кнопки и соответственно. В этом случае указатель мыши превратиться в перекрестие. Установите перекрестие в точку, где должна начинаться линия и нажмите левую кнопку мыши. Затем переведите курсор в место, где линия должна закончиться и снова нажмите кнопку мыши. Удалить ранее нанесенные линии можно с помощью пункта delete меню Legends. С помощью меню Curves можно изменять цвет, толщину, вид и маркер кривой. Для этого можно выбрать соответствующие пункты меню: Change curve color, Line Thickness, Change Curve Line Style, Change Curve Marker, либо выбрать пункт Line properties. При выборе любого из этих пунктов курсор мыши превратится в перекрестие. Наведите перекресте на кривую, которую хотите изменить и нажмите левую кнопку мыши. Если был выбран пункт Line properties, то появится меню, в котором можно задать тип, маркер и толщину линии (см. рисунок 34). Рисунок 34 Меню свойств линии Иногда построенный график может оказаться непредставительным из-за неудачного масштаба. Чтобы изменить диапазон графика по осям необходимо в меню Zooming выбрать пункт User define. Появится меню, в котором можно задать начальные и конечные значения осей графика (см рисунок 35). Рисунок 35 Изменение диапазона графика В CtrlLAB можно выводить несколько графиков в одних координатах. Для этого необходимо в окне уже существующего графика выбрать в меню File пункт Axis and Grids>Hold Figure. После этого все последующие графики этого же типа будут построены в тех же координатах. Если необходимо знать координаты каких-то определенных точек графика, то их можно выделить, выбрав в меню Legends пункт Cursor Positioning (см. Рисунок 36). Рисунок 36 Подписи точек на графике ]6 Проектирование робастного контроллера В это разделе рассмотрена только задача расчета контроллера, хотя другие задачи тоже могут решаться с помощью CtrlLAB. В качестве примера используем модель с двойным интегратором. Меню проектирования робастных контроллеров может быть вызвано с помощью пункта меню Design>Robust control. Его содержание показано на рисунке 37(а). (а) меню робастного управления (b) диалоговое окно Н-нормы Рисунок 37 Интерфейс проектирования робастного управления Чтобы получить оптимальный контроллер, выберите в меню пункт Design>Robust control>H_inf optimal. Появится диалоговое окно, показанное на рисунке 37(b), в котором пользователь может задать различные весовые функции W1(s), W2(s), W3(s). Если требуется выполнить расчет задачи чувствительности, то необходимо поставить галочку в окне Sensitivity. Диалоговое окно в этом случае примет вид, показанный на рисунке 38 (а). В нем можно задать ожидаемый порядок и собственную частоту эталонной стандартной ITAE модели. Например, если задать n=2 и n=10, оптимальный контроллер будет получен в виде, показанном на рисунке 38(b). (а) диалоговое окно задачи чувствительности (b) оптимальный контроллер Рисунок 38 Результаты расчета робастного контроллера Диаграмма Никольса и переходная характеристика замкнутой системы после расчета регулятора показаны на рисунке 39 (а) и (b) соответственно. С помощью меню и диалоговых окон можно также рассчитывать и анализировать другие типы робастных контроллеров, таких как Н2 и LQG/LTR контроллеры. (а) Диаграмма Никольса (b) переходная характеристика замкнутой системы Рисунок 39 Анализ системы с робастным контроллером Практическое задание 1. Запустите пакет CtrlLAB, для этого в рабочем поле MATLAB наберите команду ctrllab. Появится основной интерфейс программы, показанный на рисунке 1. 2. По данным таблицы 1 в соответствии с номером варианта задайте передаточную функцию объекта управления с запаздыванием. Для этого щелкните левой кнопкой мыши по блоку G(s) и в появившемся окне задайте числитель и знаменатель ПФ. Для задания запаздывания щелкните мышкой по блоку Exp(-Ts), в появившемся окне нажмите кнопку Modify и затем введите значение запаздывания. 3. Для заданного объекта управления рассчитайте передаточную функцию ПИД-регулятора, выбрав в меню Design пункт PID controller>One-shot design>Ziegler-Nichols tuning. Затем построите переходной процесс в системе. Для этого в мню Analysis выберите пункт Time Domain Analysis>Step. В окне графика выберите в пеню File пункт Axis and Grids>Hold Figure. После этого рассчитайте ПИД-регулятор по методу Cohen-Coon и снова постройте переходной процесс. Сравните полученные результаты. 4. Оптимизируйте настройки ПИД-регулятора. Чтобы выполнить это в пункте PIDcontroller> Optimum tuning меню Design выберите соответствующий критерий (например ISE). Постройте переходной процесс. Сравните результаты. После этого выключите опцию Hold figure. 5. Постройте переходной процесс в системе по возмущению. Для этого щелкните мышкой по блоку Gs(s) и в появившемся окне нажмите кнопку Modify. Выделите значение, стоящее в знаменателе и запишите его в буфер обмена нажатием клавиш Ctrl+C. Закройте это окно. Далее нажмите на H(s) и впишите в знаменатель ПФ регулятора в ОС значение из буфера, после этого нажимаем Apply. Далее проделайте те же самые операции с числителями этих блоков. В результате ПФ регулятора в ОС имеет такое же значение, как и ПФ регулятора в ПС. Нажмите на блок Gc(s) и впишите в числителе и знаменателе ПФ регулятора в ПС единицы. Для построения ПП нажмите на кнопку (единичное ступенчатое воздействие). После этого на экране появляется график переходного процесса по возмущению. На титульном листе отчета укажите свою фамилию, группу и номер варианта. Таблица 1. № варианта 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Параметры объекта регулирования Kоб T1об, с Т2об, с 0,9 1,1 52 35 6 2,7 0,75 0,8 2,4 0,12 1,6 0,32 1,8 54 61 2,3 0,6 1,2 51 33 6,5 3,0 0,7 0,9 2,2 6,1 2,5 0,6 1,4 54 2,4 23 55 21 62 23 14 3,5 17 19,5 31 17 37 64 21 8 3,1 22 58 23 64 25 15 3,7 17,6 6 8,4 5,1 25 55 0,8 7 17 7 18 10 5 1,1 6,3 4,7 9,6 4,3 10 22 7,4 2,7 1,2 6,8 15 8 17 11 6,1 1,3 7,3 1,4 2,6 1,2 6,8 13 Контрольные вопросы для защиты 1. Состав и назначение пакета CtrlLAB. 2. Запуск и ввод блоков в CtrlLAB. об, с 0,1 2 8 3 9 5 1,2 0,1 0,5 2,2 1 1,5 1,6 2,5 4,2 0,5 0,2 1,2 4,4 1,5 6 2 1,3 0,2 1,8 0,2 0,5 0,16 0,8 2,4 3. Ввод нелинейных объектов в CtrlLAB. 4. Построение моделей СУ в CtrlLAB. 5. Расчет ПИД-регулятора в CtrlLAB. 6. Оптимизация настроек регулятора в CtrlLAB. 7. Упрощение моделей в CtrlLAB. 8. Построение характеристик системы в CtrlLAB. 9. Работа с графиками. 10. Расчет робастных контроллеров.