| Этап выполнения задания
| Команды Matlab
|
1. Для запуска пакета Simulink щелкните по кнопке в командном окне Matlab или введите команду simulink в командной строке.
| simulink
|
| 2. Создайте новую модель с помощью верхнего меню открывшегося окна Simulink Library Browser.
|
File – New – Model
|
| 3. Перетащите блок Transfer Fcn (передаточная функция) из окна Simulink Library Browser (группа Continuous) в окно модели и введите числитель и знаменатель передаточной функции модели судна.
| Двойной щелчок на блоке
· Numerator [K]
· Denominator [Ts 1 0]
|
| 4. Дайте блоку название Судно.
| ЛКМ на имени блока
|
5. Аналогично добавьте еще три блока типа Transfer Fcn, назовите их Привод, Регулятор и Гирокомпас, введите нужные параметры. Заметьте, что передаточная функция привода должна быть с учетом внутренней обратной связи.
|
| 6. Сохраните модель в своей папке под именем lab6.mdl.
| 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
|
| 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означает количество ячеек с графиками по вертикали, второе – по горизонтали, третье – номер ячейки, которую надо сделать активной[2].
| subplot(2, 1, 1);
|
| 27. Постройте график изменения курса. В команде plot сначала указывают массив абсцисс, затем – массив ординат. Двоеточие означает, что используются все строки.
| plot(phi(:,1),phi(:,2));
|
| 28. Введите заголовок графика.
| title('Курс');
|
29. Введите названия осей координат. Внутри апострофов для ввода греческих букв разрешается использовать команды LaTeX, Например, «\phi» означает греческую букву , а «\delta» – букву .
| xlabel('Время, сек');
ylabel('\phi, градусы');
|
| 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. Перейдите в командное окно Matlab и запомните результаты моделирования в новых массивах. Они понадобятся для того, чтобы сравнить исходный и скорректированный варианты системы.
| phi0 = phi;
delta0 = delta;
|
39. Чтобы регулятор компенсировал постоянную составляющую возмущения, надо добавить в него интегральный канал. Таким образом, получается ПИД-регулятор. Подключите параллельно регулятору интегрирующее звено с передаточной функцией , сек. Сохраните модель и скопируйте ее в отчет.
|
|
| 40. Выполните моделирование. Проверьте, вышло ли судно на заданный курс 10 градусов.
|
ЛКМ по кнопке
|
| 41. Постройте в верхней части графика 2 кривых – переходные процессы по курсу для ПД- и ПИД-регуляторов. В команде plot можно перечислять несколько пар массивов – первая пара соответствует первому графику, вторая – второму и т.д. Три точки в конце строки означают перенос команды на следующую строку. Команда legend служит для вывода легенды – символьных строк, описывающих каждый из построенных графиков.
| subplot(2, 1, 1);
plot(phi0(:,1), phi0(:,2),...
phi (:,1), phi(:,2));
title('Курс');
xlabel('Время, сек');
ylabel('\phi, градусы');
legend('ПД-регулятор',...
'ПИД-регулятор');
|
| 42. Сделайте выводы о влиянии интегрального канала на переходные процессы в системе.
|
[1] Численные значения,, и надо взять из таблицы в конце файла. Они должны совпадать с данными, которые использовались Вами в лабораторной работе № 2.
[2] При вводе этой и следующих команд окно с графиком не появляется на экране. Чтобы увидеть изменения, надо вручную сделать его активным, щелкнув мышью на соответствующей кнопке в панели задач.