Uploaded by t.pozdysheva

Kontr rabota 1 po SUOI

advertisement
1
Контрольная работа № 1
(вариант №…)
Моделирование систем управления в пакете SIMULINK
Цель работы

освоение методов моделирования линейных систем управления в пакете SIMULINK
Задачи работы





научиться строить и редактировать модели систем управления в пакете SIMULINK
научиться изменять параметры блоков
научиться строить переходные процессы
научиться оформлять результаты моделирования
изучить метод компенсации постоянных возмущений с помощью ПИД-регулятора
1 ЗНАКОМСТВО С SIMULINK
SIMULINK – это компьютерная программная система для моделирования
динамических систем управления. Simulink работает под управлением MATLAB и
использует для моделирования все его возможности. Им моделируют линейные,
нелинейные, непрерывные, дискретные и гибридные системы.
Модель исследуемой системы составляется в виде блок-схемы. Блоки
перетаскиваются мышью из библиотеки типовых блоков SIMULINK, являющихся
моделями элементов технических или экономических систем. Каждый типовой блок
является объектом с графическим начертанием, графическим и математическим
символом, выполняемой программой и числовыми или формульными параметрами. Блоки
соединяются линиями, отображающими движение материальных, финансовых и
информационных потоков между объектами.
Модели могут быть иерархическими, т.е. включать подсистемы в виде одного блока.
Двойным щелчком мыши на блоке подсистемы открывается содержимое этой подсистемы
(более низкий уровень иерархии).
После построения модели можно моделировать, используя различные методы
интегрирования дифференциальных уравнений, как из меню SIMULINK, так и из
командной строки MATLAB. Используя блок Scope (графопостроитель) или Display
(числовое отображение), можно просмотреть результаты моделирования.
Результаты моделирования могут быть переданы в рабочую область MATLAB для
последующей обработки и визуализации.
Загрузка SIMULINK.
Перед тем как загрузить SIMULINK, необходимо загрузить MATLAB. После
загрузки MATLAB SIMULINK можно включить двумя способами:
1. Набрать в командной строке simulink и нажать ввод (рис. 1);
2. На панели инструментов выбрать иконку, символизирующую SIMULINK
(рис. 1).
2
Рисунок 1 – Способы загрузки SIMULINK.
Работа в среде MATLAB + SIMULINK
С SIMULINK можно работать как в командном режиме (производить ввод команд в
командной строке), так и в графическом режиме.
Для вывода полного перечня команд Simulink необходимо выполнить команду:
>> help simulink
После ввода данной команды появится весь перечень команд SIMULINK с
указанием версии программы.
Дополнительную информацию можно получить, используя команды help blocks и
help simdemos. Первая команда дает информацию об основных библиотеках SIMULINK и
примерах применения S-функций, а вторая выводит список демонстрационных примеров.
Запуск этих примеров дает возможность практически познакомиться с возможностями
пакета Simulink и оценить степень сложности систем и устройств, которые могут
моделироваться с помощью этого пакета.
После ввода команды demo происходит открытия окна help/demos в котором
приведены демонстрационные возможности пакета MATLAB, а также его раздела
Simulink.
При работе в графическом режиме в среде SIMULINK создается новый документ
(рисунок 3), в который переносятся нужные блоки, которые соединяются посредством
линий.
При работе в графическом режиме блоки берутся из библиотеки SIMULINK,
которая открывается сразу же при открытии пакета SIMULINK (рисунок 2).
3
Рисунок 2 – Окно браузера библиотек SIMULINK.
Рисунок 3 – Окно нового документа SIMULINK.
Особенности интерфейса SIMULINK
Меню системы (документ в среде SIMULINK) содержит следующие пункты:
1. File – работа с файлами моделей и библиотек (их создание, сохранение,
считывание и печать);
2. Edit – операции редактирования, работа с буфером обмена и создание
подсистем;
3. View – управление отображением панели инструментов и строки состояния;
4. Simulation – управление процессом моделирования (старт, пауза, вывод окна
настройки параметров моделирования);
4
5. Format – операции форматирования модели (смена шрифтов, редактирование
надписей, повороты блоков, использование тени от блоков, операции с
цветами линий блоков, их фоном и общим фоном;
6. Tools – управление видом анализа (в линейной области и в режиме реального
времени RTW).
Работа с демонстрационными моделями
Как уже отмечалось выше все демонстрационные модели можно увидеть, набрав
help simdemos в командной строке. После набора в командной строке названия
демонстрационного пакета (рисунок 4) откроется документ с сохраненной моделью.
Рисунок 4 – Ввод имени демонстрационной модели.
Все
имеющиеся
модели
можно
найти
в
следующей
папке
C:\MATLAB6p5\Toolbox\Simulink\Simdemos. Для загрузки примеров используется
команда Open в меню File браузера библиотеки SIMULINK.
СОЗДАНИЕ МОДЕЛЕЙ
Создание собственных моделей происходит путем перетаскивания необходимых
блоков в поле рабочего документа из библиотеки компонентов (блоков), с последующим
их соединением.
Рисунок 7 – Оглавление библиотеки компонентов (блоков) системы SIMULINK
Как видно из рис. 7, в состав библиотеки графических элементов входят следующие
разделы:

Sources – открытие окна с перечнем источников сигналов и воздействий;
5





Sinks – открытие окна с перечнем регистрирующих компонентов;
Continuous – открытие окна с перечнем линейных компонентов;
Discrete – открытие окна с перечнем дискретных компонентов;
Math Operations - открытие окна с перечнем линейных и математических
компонентов;
и т.д.
Чтобы открыть интересующий раздел библиотеки, достаточно дважды щелкнуть на
нем левой кнопкой мыши.
Каждый блок, входящий в библиотеку SIMULINK, имеет, по крайней мере, один
параметр настройки. Задавая требуемое значение параметра (или выбирая его из
предлагаемого меню), пользователь имеет возможность скорректировать функцию,
реализуемую данным блоком. Чтобы открыть окно настройки параметров, нужно дважды
щелкнуть левой кнопкой мыши на изображении блока. Однако возможность изменения
значения параметров появляется только после того, как блок будет помещен в окно блокдиаграммы.
2 ВЫПОЛНЕНИЕ РАБОТЫ
Оформление работы
Контрольная работа оформляется в соответствии с требованиями МИДО БНТУ. Она
должна включать




титульный лист
номер варианта
краткое описание исследуемой системы
результаты выполнения всех пунктов инструкции, которые выделены серым фоном
(см. ниже): результаты вычислений, графики, ответы на вопросы.
Описание системы
В работе рассматривается система управления движущимся объектом (судном) по
курсу. Ее структурная схема показана на рисунке.
0
привод
регулятор
+
–


u
C(s)
–
объект
R0(s)

P(s)
H(s)
измерительная система
Структурная схема системы стабилизации судна на курсе
Линейная математическая модель, описывающая рыскание судна, имеет вид
6
   y
y 

1
K
y 

Ts
Ts
где  – угол рыскания (угол отклонения от заданного курса),  y – угловая скорость
вращения вокруг вертикальной оси,  – угол поворота вертикального руля относительно
положения равновесия, Ts – постоянная времени, K – постоянный коэффициент, имеющий
размерность рад/сек. Передаточная функция от угла поворота руля к углу рыскания
запишется в виде
K
P( s) 
.
s (Ts s  1)
Привод (рулевая машина) приближенно моделируется как интегрирующее звено,
охваченное единичной отрицательной обратной связью, так что его передаточная функция
равна
1
R( s) 
.
TR s  1
Для измерения угла рыскания используется гирокомпас, математическая модель
которого записывается в виде апериодического звена первого порядка с передаточной
функцией1
1
H (s) 
.
Toc s  1
Исследуются переходные процессы в системе при использовании ПД-регулятора

Ts 
C ( s)  K c 1  s  ,
 Tv s  1 
и ПИД-регулятора

Ts  1
.
C (s)  K c 1  s  
T
s

1
T
s
v
I


Инструкция по выполнению работы
Этап выполнения задания
Команды MATLAB
1. Для запуска пакета SIMULINK щелкните по
кнопке
в командном окне MATLAB или
введите команду simulink в командной
строке.
2. Создайте новую модель с помощью верхнего
меню открывшегося окна Simulink Library
Browser.
3. Перетащите блок Transfer Fcn (передаточная
функция) из окна Simulink Library Browser
(группа Continuous) в окно модели и введите
числитель и знаменатель передаточной
функции модели судна.
1
Численные значения K ,
simulink
File – New – Model
Двойной щелчок на блоке

Numerator

Denominator [Ts 1 0]
Ts , TR и Toc надо взять из таблицы в конце файла.
[K]
7
4. Дайте блоку название Объект.
ЛКМ на имени блока
5. Аналогично добавьте еще три блока типа Transfer Fcn, назовите их Привод, Регулятор и
Гирокомпас, введите нужные параметры. Заметьте, что передаточная функция привода
1
должна быть R ( s ) 
с учетом внутренней обратной связи.
TR s  1
6. Сохраните модель в своей папке под именем
lab3.mdl2.
File – Save
7. Выделите блок Гирокомпас и разверните его в
другую сторону.
Нажать Ctrl+I или дважды
нажать Ctrl+R.
8. Сделайте, чтобы названия блоков Объект,
Привод и Регулятор были над блоками.
ПКМ на блоке,
Format - Flip name
9. Выберите цвет блоков на свой вкус.
ПКМ на блоке,
Format – Background color
10. Перетащите в окно модели блок Sum из группы
Math Operations и установите его слева от
регулятора.
ЛКМ
11. Сделайте так, чтобы второй вход учитывался в
сумме со знаком минус (отрицательная
обратная связь).
Двойной щелчок на блоке,
ввести |+- в поле
List of signs
12. Перетащите в окно модели блок Step из группы
Sources и установите его слева от сумматора.
Дайте ему имя Заданный курс.
13. Установите время подачи сигнала 0 и величину
сигнала 10 (исследуем поворот на 10 градусов).
Двойной щелчок на блоке,
0 в поле Step time
10 в поле Final value
14. Соедините все блоки нужным способом.
ЛКМ на источнике, удерживать
Ctrl и ЛКМ на приемнике, или
протащить ЛКМ от выхода одного
блока к входу другого
15. Перетащите в окно модели два блока Scope
(осциллограф) из группы Sinks и установите их
в правой части. Назовите их Руль и Курс.
16. Сделайте, чтобы на первый блок Scope
поступал сигнал управления (угол поворота
руля, после блока Привод), а на второй –
сигнал выхода (курс судна). Сохраните модель.
Нажать ПКМ на линии в точке
отбора сигнала, затем, не
отпуская ПКМ, тащить линию к
входу блока.
17. Уменьшите окно до минимального размера,
при котором видны все элементы, и скопируйте
модель в буфер обмена. Затем вставьте ее из
буфера обмена в отчет.
Edit – Copy model to clipboard
2
Все файлы моделей в пакете SIMULINK имеют расширение .mdl.
8
18. Установите время моделирования 100 секунд.
Simulation – Simulation
parameters
100 в поле Stop time
19. Выполните моделирование.
ЛКМ по кнопке
20. Посмотрите результаты моделирования, открыв
окна для блоков Курс и Руль.
Двойной щелчок по блоку
21. Настройте масштаб по осям в окнах обоих
блоков,
ЛКМ по кнопке
–
установить оптимальный масштаб
22. Сохраните настройки,
23. Сделайте так, чтобы результаты моделирования
передавались с обоих блоков Scope в рабочую
область MATLAB в виде матриц, в которых
первый столбец – время, а второй – сигнал
(курс или угол поворота руля).
ЛКМ по кнопке
ЛКМ по кнопке
вкладка Data history
Variable name:
phi
(Курс) или
delta (Руль)
Format: Array
24. Выполните моделирование еще раз.
ЛКМ по кнопке
25. Перейдите в командное окно MATLAB и
создайте новое окно для графика. В одном окне
будут построены две кривых на разных осях.
figure(1);
26. Разбейте окно на 2 части по вертикали и
сделайте активным первый график. Первое
число в команде subplot означает количество
ячеек с графиками по вертикали, второе – по
горизонтали, третье – номер ячейки, которую
надо сделать активной3.
subplot(2, 1, 1);
27. Постройте график изменения курса. В команде
plot сначала указывают массив абсцисс, затем
– массив ординат. Двоеточие означает, что
используются все строки.
plot(phi(:,1),phi(:,2));
28. Введите заголовок графика.
title('Курс');
29. Введите названия осей координат. Внутри
апострофов для ввода греческих букв
разрешается использовать команды LaTeX,
Например, «\phi» означает греческую букву
 , а «\delta» – букву  .
xlabel('Время, сек');
ylabel('\phi, градусы');
3
При вводе этой и следующих команд окно с графиком не появляется на экране. Чтобы увидеть изменения,
надо вручную сделать его активным, щелкнув мышью на соответствующей кнопке в панели задач.
9
30. Аналогично постройте во второй ячейке график
изменения угла поворота руля, используя
данные из массива delta, полученного в
результате моделирования.
subplot(2, 1, 2);
plot(delta(:,1),delta(:,2));
title('Угол поворота руля');
xlabel('Время, сек');
ylabel('\delta, градусы');
31. Скопируйте построенный график в отчет.
print -dmeta
32. Удалите в окне модели связь между приводом
и объектом.
ЛКМ по линии, нажать Delete.
33. Добавьте еще один блок Sum из группы Math
Operations и установите его на
освободившееся место. Настройте
расположение входов и выхода так, чтобы
первый вход был в верхней части круга..
Двойной щелчок по блоку
++| в поле List of signs
34. Исследуем реакцию системы на постоянный сигнал, приложенный непосредственно к входу
объекта. Он может моделировать какое-то постоянное возмущающее воздействие,
например, влияние ветра.
35. Скопируйте блок Заданный курс, перетащив
его правой кнопкой мыши, и установите для
него величину скачка 2 градуса. Дайте ему
название Возмущение. Подключите его выход
к новому сумматору. Достройте нужные
соединительные линии.
Перетаскивание ПКМ.
Двойной щелчок по блоку
2 в поле Final Value
Двойной щелчок по имени
36. Скопируйте полученную модель в отчет.
Edit – Copy model to clipboard
37. Увеличьте время моделирования до 500 и
выполните моделирование. Проверьте, вышло
ли судно на заданный курс 10 градусов.
Simulation – Simulation
parameters - Stop time
ЛКМ по кнопке
38. Постройте передаточную функцию по возмущению замкнутой системы с ПД-регулятором.
С ее помощью объясните результат, полученный на предыдущем шаге.
39. Для этой передаточной функции вычислите коэффициент усиления в установившемся
режиме. С его помощью рассчитайте установившееся значение сигнала выхода при
заданном курсе 10 градусов и постоянном возмущении, эквивалентном 2 градусам поворота
руля. Совпадает ли это число с результатами моделирования?
40. Перейдите в командное окно MATLAB и
запомните результаты моделирования в новых
массивах. Они понадобятся для того, чтобы
сравнить исходный и скорректированный
варианты системы.
phi0 = phi;
delta0 = delta;
10
41. Чтобы регулятор компенсировал постоянную
составляющую возмущения, надо добавить в
него интегральный канал. Таким образом,
получается ПИД-регулятор. Подключите
параллельно регулятору интегрирующее звено
1
с передаточной функцией
, Ti  200 сек.
Ti s
Сохраните модель и скопируйте ее в отчет.
42. Выполните моделирование. Проверьте, вышло
ли судно на заданный курс 10 градусов.
ЛКМ по кнопке
43. Постройте передаточную функцию по возмущению замкнутой системы с ПИДрегулятором. С ее помощью объясните результат, полученный на предыдущем шаге.
44. Для этой передаточной функции вычислите коэффициент усиления в установившемся
режиме. С его помощью рассчитайте установившееся значение сигнала выхода. Совпадает
ли это число с результатами моделирования?
45. Постройте в верхней части графика 2 кривых –
переходные процессы по курсу для ПД- и ПИДрегуляторов. В команде plot можно
перечислять несколько пар массивов – первая
пара соответствует первому графику, вторая –
второму и т.д. Три точки в конце строки
означают перенос команды на следующую
строку. Команда legend служит для вывода
легенды – символьных строк, описывающих
каждый из построенных графиков.
subplot(2, 1, 1);
plot(phi0(:,1), phi0(:,2),...
phi (:,1), phi(:,2));
title('Курс');
xlabel('Время, сек');
ylabel('\phi, градусы');
legend('ПД-регулятор', ...
'ПИД-регулятор');
46. Аналогично постройте в нижней части графика
2 кривых – изменение угла перекладки руля для
ПД- и ПИД-регуляторов, используя данные из
массивов delta0 и delta.
47. Скопируйте построенный график в отчет через буфер обмена. Сделайте выводы о влиянии
интегрального канала на переходные процессы в системе.
48. Постройте передаточную функцию
разомкнутой системы с ПИД-регулятором.
49. Определите запасы устойчивости системы с
ПИД-регулятором. Являются ли они
достаточными?
[gm,phim] = margin(W)
gm = 20*log10(gm)
11
Таблица коэффициентов
Вариант
Ts , сек
K , рад/сек
TR , сек
Toc , сек
1.
16.0
0.06
1
1
2.
16.2
0.07
2
2
3.
16.4
0.08
1
3
4.
16.6
0.07
2
4
5.
16.8
0.06
1
5
6.
17.0
0.07
2
6
7.
17.2
0.08
1
1
8.
17.4
0.07
2
2
9.
17.6
0.06
1
3
10.
17.8
0.07
2
4
11.
18.0
0.08
1
5
12.
18.2
0.09
2
6
13.
18.4
0.10
1
1
14.
18.6
0.09
2
2
15.
18.8
0.08
1
3
16.
19.0
0.07
2
4
17.
19.2
0.08
1
5
18.
19.4
0.09
2
6
19.
19.6
0.10
1
1
20.
18.2
0.06
2
2
21.
18.2
0.08
1
3
22.
18.2
0.07
2
4
23.
18.2
0.08
1
5
24.
18.2
0.10
2
6
25.
18.2
0.09
1
1
26.
18.2
0.08
2
2
27.
18.2
0.07
1
3
28.
18.2
0.06
2
4
29.
18.2
0.07
1
5
30.
18.2
0.08
2
6
31.
18.2
0.09
1
1
32.
18.2
0.10
2
2
12
ПРИМЕР
1. Описание системы
Исследуется система управления судном по курсу, структурная схема которой
показана на рисунке.
0
привод
регулятор
+
–


u
C(s)
–
объект
R0(s)

P(s)
H(s)
измерительная система
Движение судна описывается линейной математической моделью в виде передаточной
функции
K
P( s ) 
, где K  0.0694 рад/сек, Ts  18.2 сек,
s (Ts s  1)
Привод моделируется как интегрирующее звено, охваченное единичной отрицательной
обратной связью, так что его передаточная функция равна
1
R( s) 
, TR  2 сек,
TR s  1
Измерительное устройство (гирокомпас) моделируется как апериодическое звено с
передаточной функцией
1
H (s) 
, Toc  6 сек,
Toc s  1
2. Исследование системы с ПД-регулятором
 передаточная функция ПД-регулятора, обеспечивающего переходный процесс
минимальной длительности

Ts 
C ( s)  K c 1  s  , где K c  0.7045 , Ts  18.2 сек, Tv  1 сек,
 Tv s  1 
 модель системы с ПД-регулятором
 переходные процессы в системе с ПД-регулятором при изменении курса на 10
градусов
13
Курс
12
 , градусы
10
8
6
4
2
0
0
10
20
30
40
50
Время, сек
60
70
80
90
100
70
80
90
100
Угол поворота руля
40
, градусы
30
20
10
0
-10
0
10
20
30
40
50
Время, сек
60
 модель системы с ПД-регулятором с учетом внешнего возмущения
 передаточная функция по возмущению для системы с ПД-регулятором
0.003813 s^3 + 0.006355 s^2 + 0.00286 s + 0.0003178
-----------------------------------------------------------------s^5 + 1.722 s^4 + 0.8416 s^3 + 0.1245 s^2 + 0.008877 s + 0.0002239
 объект с ПД-регулятором не вышел на заданный курс 10 градусов, потому что …
 статический коэффициент усиления k s  1.419 , установившееся значение сигнала
выхода должно быть равно   ... , потому что …; эти данные согласуются с
результатами моделирования
3. Исследование системы с ПИД-регулятором
 передаточная функция ПИД-регулятора

Ts  1
,
C (s)  K c 1  s  
T
s

1
T
s
v

 I
где K c  0.7045 , Ts  18.2 сек, Tv  1 сек, TI  200 сек,
 модель системы с ПИД-регулятором с учетом внешнего возмущения
14
 передаточная функция по возмущению для системы с ПИД-регулятором
0.003813 s^4 + 0.006355 s^3 + 0.00286 s^2 + 0.0003178 s
----------------------------------------------------------------------------------s^6 + 1.722 s^5 + 0.8416 s^4 + 0.1245 s^3 + 0.008877 s^2 + 0.0002255 s + 1.589e-006
 при использовании ПИД-регулятора объект выходит на заданный курс, потому что
…
 статический коэффициент усиления k s  ... , установившееся значение сигнала
выхода должно быть равно   ... , потому что …; эти данные согласуются с
результатами моделирования
 переходные процессы в системах с ПД- и ПИД-регуляторами
Курс
10
градусы
 , градусы
15
5
ПД-регулятор
ПИД-регулятор
0
0
50
100
150
200
250
300
Время, сек
350
400
450
500
Угол перекладки руля
40
ПД-регулятор
ПИД-регулятор
градусы
 , градусы
30
20
10
0
-10
0




50
100
150
200
250
300
Время, сек
350
400
450
500
при использовании ПИД-регулятора вместо ПД-регулятора … (что улучшилось?),
при этом сигнал управления … (как изменился?)
в то же время … (что ухудшилось?)
передаточная функция разомкнутой системы с ПИД-регулятором
0.004298 s^2 + 0.0002255 s + 1.589e-006
-------------------------------------------------------s^6 + 1.722 s^5 + 0.8416 s^4 + 0.1245 s^3 + 0.004579 s^2
 запас устойчивости по амплитуде g m  18.4 дБ, по фазе  m  63 , запасы являются
достаточными
Download