Uploaded by tatiana_bogatireva

Лабораторная работа Моделирование систем управления в пакете Xcos

advertisement
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
Лабораторная работа № 2
Моделирование систем управления в пакете XCOS
Цели работы

освоение методов моделирования линейных систем в пакете XCOS
Задачи работы





научиться строить и редактировать модели систем управления в пакете XCOS
научиться изменять параметры блоков
научиться строить переходные процессы
научиться оформлять результаты моделирования
изучить метод компенсации постоянных возмущений с помощью ПИД-регулятора
Оформление отчета
Отчет по лабораторной работе выполняется в виде связного (читаемого) текста в файле
формата Microsoft Word (шрифт основного текста Times New Roman, 12 пунктов, через
1,5 интервала, выравнивание по ширине). Он должен включать






название предмета, номер и название лабораторной работы
фамилию и инициалы авторов, номер группы
фамилию и инициалы преподавателя
номер варианта
краткое описание исследуемой системы
результаты выполнения всех пунктов инструкции, которые выделены серым фоном
(см. ниже): результаты вычислений, графики, ответы на вопросы.
При составлении отчета рекомендуется копировать необходимую информацию через
буфер обмена из рабочего окна среды SCILAB. Для этих данных используйте шрифт
Courier New, в котором ширина всех символов одинакова.
Передаточные функции в отчете должны быть записаны в стандартной форме –
старший коэффициент знаменателя должен быть равен 1. При необходимости числитель и
знаменатель передаточной функции нужно разделить на этот коэффициент.
Все формулы, в том числе и передаточные функции, набираются в редакторе
формул текстового процессора.
Файлы, присылаемые на проверку, должны иметь информативные имена,
содержащие фамилию автора и номер работы (например, Иванов_работа_1.docx, а не
Документ.docx).
Все числовые значения округляются до трёх знаков в дробной части (например,
вместо 0,123987678 пишем 0,124).
Линии на диаграммах должны быть ровными и пересекаться под прямым углом.
Описание системы
В работе рассматривается система управления судном по курсу. Ее структурная
схема показана на рисунке.
1
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
возмущение
0
привод
регулятор
+
–

f

u
C(s)

R0(s)
–
объект
P(s)
H(s)
измерительная система
Структурная схема системы стабилизации судна на курсе
Задача системы стабилизации – сохранять заданное значение выхода  0 при
действии возмущения f (например, морского волнения и ветра).
Линейная математическая модель, описывающая рыскание судна, имеет вид
   y
y 

1
K
y 

Ts
Ts
где  – угол рыскания (угол отклонения от заданного курса),  y – угловая скорость
вращения вокруг вертикальной оси,  – угол поворота вертикального руля относительно
нейтрального положения, Ts – постоянная времени, K – постоянный коэффициент,
имеющий размерность рад/сек. Передаточная функция от угла поворота руля к углу
рыскания запишется в виде
K
P( s) 
.
s (Ts s  1)
Привод (рулевая машина) приближенно моделируется как интегрирующее звено с
постоянной врмени TR, охваченное единичной отрицательной обратной связью:
привод
u
1
TR s
–

так что его передаточная функция равна
1
.
TR s  1
Для измерения угла рыскания используется гирокомпас, математическая модель
которого записывается в виде апериодического звена первого порядка с передаточной
функцией1
1
H (s) 
.
Toc s  1
R( s) 
Исследуются переходные процессы в системе при использовании ПД-регулятора

Ts 
C ( s)  K c 1  s  ,
 Tv s  1 
1
Численные значения K ,
Ts , TR и Toc надо взять из таблицы в конце файла.
2
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
и ПИД-регулятора

Ts  1
.
C (s)  K c 1  s  
T
s

1
T
s
v

 I
Инструкция по выполнению работы
Этап выполнения задания
Команды SCILAB
1. Для запуска пакета XCOS щелкните по
кнопке
в командном окне SCILAB
или введите команду Xcos в
командной строке.
xcos
2. В палитре блоков откройте группу
«Системы с непрерывным временем» и
перетащите блок
Двойной щелчок на блоке
(передаточная функция) из
библиотеки блоков в окно модели.
Введите числитель и знаменатель
передаточной функции модели судна.
Значения постоянных времени и
коэффициентов возьмите из таблицы
(см. ниже) для своего варианта.

Numerator

Denominator Ts*s^2+s
K
3. Дайте блоку название Судно. Для нажмите на блоке на правую кнопку мыши, выберите
пункт контекстного меню Формат – Правка и введите текст на вкладке Настройки текста.
4. Аналогично добавьте еще три передаточные функции, назовите их Привод, Регулятор и
Гирокомпас, введите нужные параметры (см. таблицу в конце файла для вашего варианта).
1
Заметьте, что передаточная функция привода должна быть R ( s ) 
с учетом
TR s  1
внутренней обратной связи. Передаточная функция регулятора (для всех вариантов):
13,53s  0.7
C ( s) 
s 1
5. Сохраните модель в своей папке под
именем lab2.zcos2.
Файл – Сохранить
6. Выделите блок Гирокомпас и
разверните его в другую сторону.
Нажать Ctrl+M или дважды нажать
Ctrl+R.
7. Выберите цвет блоков на свой вкус.
ПКМ на блоке,
Формат–Правка-Цвет заливки
2
Все файлы моделей в пакете XCOS имеют расширение .zcos.
3
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
8. Перетащите в окно модели блок
ЛКМ
из группы «Общеупотребительные
блоки» и установите его слева от
регулятора.
9. Сделайте так, чтобы второй вход
учитывался в сумме со знаком минус
(отрицательная обратная связь).
Двойной щелчок на блоке,
ввести [1;-1] в поле
Input ports signs/gain
10. Перетащите в окно модели блок
из группы Источники сигналов и воздействий и установите его слева от сумматора. Дайте
ему имя Заданный курс.
11. Установите время подачи сигнала 0 и
величину сигнала 10 (исследуем
поворот на 10 градусов).
Двойной щелчок на блоке,
0 в поле Step time
10 в поле Итоговое значение
12. Соедините все блоки нужным
способом (см. схему в теоретической
части).
С помощью ЛКМ вытащить линию с
выхода одного блока к входу другого,
щелчок – точка излома.
13. Перетащите в окно модели два блока
(осциллограф) из группы Регистрирующие устройства и установите их в правой части.
Назовите их Руль и Курс.
14. Сделайте, чтобы на первый блок
CSCOPE поступал сигнал управления
(угол поворота руля, после блока
Привод), а на второй – сигнал выхода
(курс судна). Сохраните модель.
Нажать ПКМ на линии в точке отбора
сигнала, затем, не отпуская ПКМ, тащить
линию к входу блока. Дополнительную
точку перегиба линии можно поставить
двойным щелчком на этой линии.
15. Добавьте часы – блок
из группы «Обработка событий», и соедините выход этого блока с красными
(синхронизирующими) входами блоков-осциллографов.
4
Исследование импульсных систем с помощью среды Scilab
16. Уменьшите окно до минимального
размера, при котором видны все
элементы, и сохраните картинку на
диск в формате GIF. Затем вставьте её
в отчёт.
© К. Поляков, 2016
Файл - Экспортировать
17. Установите для блока «часы»
(таймера, генератора событий)
интервал 0,1 с и время инициализации
– 0 с.
Двойной щелчок по блоку, свойства Period
и Время инициализации.
18. Установите время моделирования 100
секунд.
Моделирование – Установка – Конечное
время интегрирования = 100
19. Установите для обоих блоковосциллографов время обновления 100
с
Двойной щелчок по блоку, свойство
Refresh period
20. Выполните моделирование.
21. Посмотрите результаты
моделирования в графических окнах и
настройте пределы по оси Y.
ЛКМ по кнопке
Запустить
или Моделирование -
Двойной щелчок по блокуосциллографу, свойства Ymin и Ymax
22. Закройте графические окна и еще раз выполните моделирование. Добавьте полученные
графики в отчёт.
23. Замените блоки-осциллографы на блоки
из группы Регистрирующие устройства, которые позволяют передавать данные из модели
в рабочее пространство Scilab.
24. Для блоков передачи данных в рабочее
пространство (TOWS_c) установите
размер буфера 1000 (100 секунд,
регистрация через 0,1 секунду).
Двойной щелчок на блоке,
Size of buffer
25. Для блоков TOWS_c установите
имена переменных Scilab: phi для
блока «Курс» и delta для блока
«Руль»
Двойной щелчок на блоке,
Scilab variable name
26. Выполните моделирование еще раз.
Убедитесь, что в рабочем
пространстве Scilab есть переменные
phi и delta.
phi
delta
5
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
27. Перейдите в командное окно SCILAB и
создайте новое окно для графика. В
одном окне далее будут построены две
кривых на разных осях.
scf()
28. Разбейте окно на 2 части по вертикали
и сделайте активным первый график.
Первое число в команде subplot
означает количество ячеек с
графиками по вертикали, второе – по
горизонтали, третье – номер ячейки,
которую надо сделать активной3.
subplot(2, 1, 1);
29. Постройте график изменения курса. В
команде plot сначала указывают
массив абсцисс, затем – массив
ординат. Двоеточие означает, что
используются все строки.
plot(phi.time, phi.values);
30. Введите заголовок графика.
title('Курс');
31. Введите названия осей координат.
Если в начало и в конец строки
добавить символ $, внутри строки
разрешается использовать команды
LaTeX. Например, «\phi» означает
греческую букву  , а «\delta» –
букву  .
xlabel('Время, сек');
ylabel('$\phi, градусы$');
32. Аналогично постройте во второй
ячейке график изменения угла
поворота руля, используя данные из
массива delta, полученного в
результате моделирования.
subplot(2, 1, 2);
plot(delta.time,delta.values);
title('Угол поворота руля');
xlabel('Время, сек');
ylabel('$\delta, градусы$');
33. Скопируйте построенный график в
отчет.
Файл – Копировать в буфер обмена
34. Удалите в окне модели связь между
приводом и объектом.
ЛКМ по линии, нажать Delete.
35. Добавьте еще один блок
из группы Общеупотребительные
операции и установите его на
освободившееся место.
36. Исследуем реакцию системы на постоянный сигнал, приложенный непосредственно к входу
объекта. Он может моделировать какое-то постоянное возмущающее воздействие, например,
влияние ветра.
3
При вводе этой и следующих команд окно с графиком не появляется на экране. Чтобы увидеть изменения,
надо вручную сделать его активным, щелкнув мышью на соответствующей кнопке в панели задач.
6
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
37. Скопируйте блок Заданный курс, перетащив его при нажатой клавише Ctrl, и установите для
него величину скачка 2 градуса. Дайте ему название Возмущение. Подключите его выход к
новому сумматору. Достройте нужные соединительные линии.
38. Сохраните модель.
39. Скопируйте полученную модель в отчет.
40. Увеличьте время моделирования до
500 и выполните моделирование.
Проверьте, вышло ли судно на
заданный курс 10 градусов.
41. Постройте передаточную функцию по
возмущению замкнутой системы с ПДрегулятором. С ее помощью объясните
результат, полученный на
предыдущем шаге. Численные
значения Ts, K, TR и Toc возьмите из
таблицы для своего варианта.
Моделирование – Установка – Конечное
время интегрирования
s = %s;
K = ...
Ts = ...
TR = ...
Toc = ...
P = syslin('c', K, Ts*s^2+s)
C0 = syslin('c', 13.53*s+0.7, s+1);
R = syslin('c', 1, TR*s+1);
H = syslin('c', 1, Toc*s+1);
Wf0 = P /. (R*C0*H)
42. Для этой передаточной функции
вычислите коэффициент усиления в
установившемся режиме. С его
помощью рассчитайте установившееся
значение сигнала выхода при заданном
курсе 10 градусов и постоянном
возмущении, эквивалентном 2
градусам поворота руля. Совпадает ли
это число с результатами
моделирования?
k0 = horner ( Wex0, 0 )
phiSt0 = 10 + ...
43. Перейдите в командное окно SCILAB и
запомните результаты моделирования
в новых массивах. Они понадобятся
для того, чтобы сравнить исходный и
скорректированный варианты
системы.
phi0 = phi;
delta0 = delta;
44. Сохраните модель с другим именем. Теперь добавим к регулятору интегральный канал.
45. Чтобы регулятор компенсировал
постоянную составляющую
возмущения, надо добавить в него
интегральный канал. Таким образом,
получается ПИД-регулятор.
Подключите параллельно регулятору
интегрирующее звено с передаточной
1
функцией
, Ti  200 сек. Сохраните
Ti s
модель и скопируйте ее в отчет.
7
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
46. Выполните моделирование. Проверьте, вышло ли судно на заданный курс 10 градусов.
47. Постройте передаточную функцию
ПИД-регулятора.
C = C0 + syslin('c', 1, 200*s);
48. Постройте передаточную функцию по
возмущению замкнутой системы с
ПИД-регулятором. С ее помощью
объясните результат, полученный на
предыдущем шаге.
Wf = ...
49. Для этой передаточной функции
вычислите коэффициент усиления в
установившемся режиме. С его
помощью рассчитайте установившееся
значение сигнала выхода. Совпадает
ли это число с результатами
моделирования?
k = ...
phiSt = ...
50. Постройте в верхней части графика 2
кривых – переходные процессы по
курсу для ПД- и ПИД-регуляторов. В
команде plot можно перечислять
несколько пар массивов – первая пара
соответствует первому графику,
вторая – второму и т.д. Три точки в
конце строки означают перенос
команды на следующую строку.
Команда legend служит для вывода
легенды – символьных строк,
описывающих каждый из построенных
графиков.
scf()
subplot(2, 1, 1);
plot(phi0.time, phi0.values,...
phi.time, phi.values);
title('Курс');
xlabel('Время, сек');
ylabel('$\phi, градусы$');
legend('ПД-регулятор', ...
'ПИД-регулятор');
51. Аналогично постройте в нижней части
графика 2 кривых – изменение угла
перекладки руля для ПД- и ПИДрегуляторов, используя данные из
массивов delta0 и delta.
subplot(2, 1, 2);
...
52. Скопируйте построенный график в отчет через буфер обмена. Сделайте выводы о влиянии
интегрального канала на переходные процессы в системе.
53. Постройте передаточную функцию
разомкнутой системы с ПИДрегулятором.
Wopen = ...
54. Определите запасы устойчивости
системы с ПИД-регулятором.
Являются ли они достаточными?
Gm_dB = g_margin ( Wopen )
Pm = p_margin ( Wopen )
Таблица коэффициентов
Вариант
1.
Ts , сек
K , рад/сек
TR , сек
Toc , сек
16.0
0.06
1
1
8
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
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.0694
2
6
Контрольные вопросы к защите
См. все вопросы к работе № 1.
Как найти передаточную функцию интегратора, охваченного обратной связью?
Как запустить пакет XCOS?
Какое расширение имеют файлы – модели XCOS?
Как создать новую модель?
Как соединить два блока, имеющих соответственно свободный выход и свободный
вход?
7. Как сделать, чтобы один и тот же сигнал поступал на несколько блоков?
8. Как передать результаты моделирования в рабочую область SCILAB? В каком виде они
передаются?
9. Как удалить блок или связь между блоками?
10. Как определить нужные масштабы для осей координат в окнах осциллографа?
11. Как скопировать блок в окне модели?
12. Как изменить знаки арифметических действий в сумматоре?
13. Как скопировать изображение модели в документ Microsoft Word?
14. Как изменить время моделирования?
15. Как изменить название у блока?
1.
2.
3.
4.
5.
6.
9
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
16. Как изменить цвет фона блока?
17. Как найти передаточную функцию системы по возмущению?
18. Почему при использовании ПД-регулятора система не компенсирует постоянное
возмущение?
19. Как, зная статический коэффициент усиления по возмущению, определить
установившееся отклонение от заданного курса?
20. Какими свойствами должна обладать передаточная функция по возмущению для того,
чтобы постоянное возмущение полностью компенсировалось?
21. Какими свойствами должен обладать регулятор для того, чтобы постоянное
возмущение полностью компенсировалось?
22. Какие преимущества дает использование интегрального канала в ПИД-регуляторе?
23. Почему порядок передаточной функции замкнутой системы по возмущению с ПИДрегулятором на 1 больше, чем для системы с ПД-регулятором?
24. Какие параметры принимает команда subplot?
25. Как вывести на график заголовок и названия осей?
26. Как построить в одном окне два разных графика?
27. Как на одном графике построить несколько кривых?
28. Что такое легенда? Как вывести легенду на график?
29. Как выводить на графике буквы греческого алфавита?
10
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
Импульсные системы
Отчет по лабораторной работе № 2
Моделирование систем управления в пакете XCOS
Выполнили:
студенты гр. 23ЭА1 Иванов И.И., Петров П.П.
Проверил:
д.т.н., профессор Поляков К.Ю.
Вариант
20
1. Описание системы
Исследуется система управления судном по курсу, структурная схема которой
показана на рисунке.
возмущение
0
привод
регулятор
+
–


u
C(s)
f
–
R0(s)
объект

P(s)
H(s)
измерительная система
Движение судна описывается линейной математической моделью в виде передаточной
функции
P(s) =
Привод моделируется как интегрирующее звено, охваченное единичной отрицательной
обратной связью, так что его передаточная функция равна
R(s) =
Измерительное устройство (гирокомпас) моделируется как апериодическое звено с
передаточной функцией
H(s) =
2. Исследование системы с ПД-регулятором
 передаточная функция ПД-регулятора
C0(z) =
 модель Xcos системы с ПД-регулятором:
 переходные процессы в системе с ПД-регулятором при изменении курса на 10
градусов
11
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
 модель системы с ПД-регулятором с учетом внешнего возмущения
 передаточная функция по возмущению для системы с ПД-регулятором
Wf 0(s) =
 судно с ПД-регулятором не вышло на заданный курс 10 градусов, потому что
 статический коэффициент усиления
ks  ...
 установившееся значение сигнала выхода должно быть равно
  ...
потому что
эти данные согласуются (не согласуются) с результатами моделирования.
3. Исследование системы с ПИД-регулятором
 передаточная функция ПИД-регулятора
C(z) =
 модель системы с ПИД-регулятором с учетом внешнего возмущения
 передаточная функция по возмущению для системы с ПИД-регулятором
Wf (s) =
при использовании ПИД-регулятора судно выходит на заданный курс, потому что
12
Исследование импульсных систем с помощью среды Scilab
© К. Поляков, 2016
 статический коэффициент усиления
ks  ...
 установившееся значение сигнала выхода должно быть равно
  ...
потому что
эти данные согласуются (не согласуются) с результатами моделирования.
 переходные процессы в системах с ПД- и ПИД-регуляторами
 при использовании ПИД-регулятора вместо ПД-регулятора (что улучшилось?)
 при этом сигнал управления (как изменился?)
 в то же время (что ухудшилось?)
 передаточная функция разомкнутой системы с ПИД-регулятором
Wopen(s) =
 запасы устойчивости: по амплитуде
g m  ... дБ.
по фазе
 m  ... .
Запасы являются достаточными (недостаточными).
13
Download