проектирования и анализа систем управления с обратной связью“
Красноярский государственный университет цветных металлов и золота
Кафедра автоматизации производственных процессов
![]()
|
Красноярск 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 является гораздо более совершенным приложением и предоставляет гораздо больше полезных и надежных функций.
Основными возможностями CtrlLAB являются:
1. Ввод моделей, включая моделирование SIMULINK.
2. Показ моделей.
3. Реализация пространства состояний системы.
4. Упрощение систем с использованием различных методов.
5. Анализ систем в частотной, комплексной и временной области.
6. Вывод графиков с возможностью их редактирования и изменения.
7. Матричный процессор и редактор GUI.
8. Некоторые блоки проектирования контроллера, такие как классические (ПИД регулирование с временной задержкой, 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 окна ввода модели объекта. По умолчанию модель задается в виде передаточной функции. Модель в виде нулей-полюсов или пространства состояний может быть получена автоматически по заданной передаточной функции. Для этого, после ввода передаточной функции выберите пункт Pole-zero-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 Проектирование робастного контроллера
В это разделе рассмотрена только задача расчета H¥ контроллера, хотя другие задачи тоже могут решаться с помощью CtrlLAB. В качестве примера используем модель с двойным интегратором. Меню проектирования робастных контроллеров может быть вызвано с помощью пункта меню Design>Robust control. Его содержание показано на рисунке 37(а).
|
|
(а) меню робастного управления (b) диалоговое окно Н-нормы
Рисунок 37 Интерфейс проектирования робастного управления
Чтобы получить оптимальный H¥ контроллер, выберите в меню пункт Design>Robust control>H_inf optimal. Появится диалоговое окно, показанное на рисунке 37(b), в котором пользователь может задать различные весовые функции W1(s), W2(s), W3(s). Если требуется выполнить расчет задачи чувствительности, то необходимо поставить галочку в окне Sensitivity. Диалоговое окно в этом случае примет вид, показанный на рисунке 38 (а). В нем можно задать ожидаемый порядок и собственную частоту эталонной стандартной ITAE модели. Например, если задать n=2 и wn=10, оптимальный H¥ контроллер будет получен в виде, показанном на рисунке 38(b).
|
|
(а) диалоговое окно задачи чувствительности (b) оптимальный H¥ контроллер
Рисунок 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. Оптимизируйте настройки ПИД-регулятора. Чтобы выполнить это в пункте PID-controller> Optimum tuning меню Design выберите соответствующий критерий (например ISE). Постройте переходной процесс. Сравните результаты. После этого выключите опцию Hold figure.
5. Постройте переходной процесс в системе по возмущению. Для этого щелкните мышкой по блоку Gs(s) и в появившемся окне нажмите кнопку Modify. Выделите значение, стоящее в знаменателе и запишите его в буфер обмена нажатием клавиш Ctrl+C. Закройте это окно. Далее нажмите на H(s) и впишите в знаменатель ПФ регулятора в ОС значение из буфера, после этого нажимаем Apply. Далее проделайте те же самые операции с числителями этих блоков. В результате ПФ регулятора в ОС имеет такое же значение, как и ПФ регулятора в ПС. Нажмите на блок Gc(s) и впишите в числителе и знаменателе ПФ регулятора в ПС единицы. Для построения ПП нажмите на кнопку
(единичное ступенчатое воздействие). После этого на экране появляется график переходного процесса по возмущению.
На титульном листе отчета укажите свою фамилию, группу и номер варианта.
Таблица 1.
№ варианта | Параметры объекта регулирования | |||
Kоб | T1об, с | Т2об, с | tоб, с | |
1 | 0,9 | 2,4 | 0,8 | 0,1 |
2 | 1,1 | 23 | 7 | 2 |
3 | 52 | 55 | 17 | 8 |
4 | 35 | 21 | 7 | 3 |
5 | 6 | 62 | 18 | 9 |
6 | 2,7 | 23 | 10 | 5 |
7 | 0,75 | 14 | 5 | 1,2 |
8 | 0,8 | 3,5 | 1,1 | 0,1 |
9 | 2,4 | 17 | 6,3 | 0,5 |
10 | 0,12 | 19,5 | 4,7 | 2,2 |
11 | 1,6 | 31 | 9,6 | 1 |
12 | 0,32 | 17 | 4,3 | 1,5 |
13 | 1,8 | 37 | 10 | 1,6 |
14 | 54 | 64 | 22 | 2,5 |
15 | 61 | 21 | 7,4 | 4,2 |
16 | 2,3 | 8 | 2,7 | 0,5 |
17 | 0,6 | 3,1 | 1,2 | 0,2 |
18 | 1,2 | 22 | 6,8 | 1,2 |
19 | 51 | 58 | 15 | 4,4 |
20 | 33 | 23 | 8 | 1,5 |
21 | 6,5 | 64 | 17 | 6 |
22 | 3,0 | 25 | 11 | 2 |
23 | 0,7 | 15 | 6,1 | 1,3 |
24 | 0,9 | 3,7 | 1,3 | 0,2 |
25 | 2,2 | 17,6 | 7,3 | 1,8 |
26 | 6,1 | 6 | 1,4 | 0,2 |
27 | 2,5 | 8,4 | 2,6 | 0,5 |
28 | 0,6 | 5,1 | 1,2 | 0,16 |
29 | 1,4 | 25 | 6,8 | 0,8 |
30 | 54 | 55 | 13 | 2,4 |
Контрольные вопросы для защиты
1. Состав и назначение пакета CtrlLAB.
2. Запуск и ввод блоков в CtrlLAB.
3. Ввод нелинейных объектов в CtrlLAB.
4. Построение моделей СУ в CtrlLAB.
5. Расчет ПИД-регулятора в CtrlLAB.
6. Оптимизация настроек регулятора в CtrlLAB.
7. Упрощение моделей в CtrlLAB.
8. Построение характеристик системы в CtrlLAB.
9. Работа с графиками.
10. Расчет робастных контроллеров.











