Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Вступ
NCD Blockset це програмний засіб (надалі - блок) для параметричної оптимізації обєктів та систем керування, які забезпечують заданий графічно критерій якості у вигляді заданих графічно допустимих меж зміни оптимального перехідного процесу. Блок призначений для параметричної оптимізації динамічних систем, моделі яких задані в середовищі Simulink. Процедура оптимізації (визначення оптимальних параметрів: обєктів регулювання у випадку їх параметричної оптимізації, настроювання параметрів регулятора у випадку оптимізації САР, тощо) для заданої у вікні Simulink системи, заданих вхідних та вихідних величин, а також заданих графічно допустимих меж зміни перехідних процесів (для декількох вихідних величин), здійснюється блоком NCD автоматично. Оптимізація здійснюється методом штрафних функцій шляхом мінімізації функції штрафу за порушення заданих меж перехідного процесу. При постановці задачі оптимізації можуть враховуватися задані невизначеності параметрів моделі.
За допомогою даного інструмента можна настроювати параметри як лінійних, так і нелінійних систем у вікні. Кількість параметрів оптимізації необмежена. Число блоків NCD у вікні моделі Simulink, в яких задають межі зміни перехідних процесів (у випадку декількох вихідних величин) не обмежується.
Після завершення процесу оптимізації отримані значення оптимальних параметрів передаються блоком в робочу область (оперативну память) Matlab, звідки вони можуть бути зчитані, або передані іншим програмам.
Для того, щоб застосувати NCD Blockset належить знайти його іконку у вікні Simulink Library Browser, перетягнути мишкою блок NCD Outport у вікно моделі Simulink та під єднати вихід моделі до входу блоку.
ОПИС ПОЛІВ ГОЛОВНОГО МЕНЮ
Командами цього поля здійснюють запис даних у файл, введених у вікнах блоку NCD (обмежень, параметрів оптимізації, тощо), та завантаження раніше збережених даних в ОП
Призначення команд:
2 Поле Edit
Вікно поля:
2.1 Undo команда відміни попередньо зробленої зміни параметрів блоку.
2.2 Delete plots команда стирання графіку перехідного процесу у графічному вікні блоку.
2.3 Edit constraint - редагування розміщення сегментів границі обмеження перехідного процесу.
Межі обмеження на перехідні процеси можна встановити двома шляхами:
- пересуваючи окремі виділені сегменти меж за допомогою миші;
- за допомогою діалогової панелі Constraint Editor.
Position editor [x1,y1,x2,y2] це поле редагування координат початку (x1,y1) та кінця (x2,y2) виділеного у вікні блоку сегменту обмежень.
Вагові коефіцієнти (штрафи за порушення обмежень) Weigh(0-1) можуть приймати значення 0 та 1. Значення коефіцієнта для кожного сегмента встановлюється при виборі одного із режимів: Limiting constraint та Overachieving constraint.
Limiting constraint (Weight 0) допускається порушення обмеження (перехідний процес не обовязково повинен входити в область, обмежену даним сегментом).
Overachieving constraint (Weight 1) перехідний процес обовязково повинен входити в область, обмежену даним сегментом.
За замовчуванням встановлений ваговий коефіцієнт 1
3 Поле Options
Цей розділ складається з шести пунктів меню:
3.1 Initial response команда побудови графіку перехідного процесу при початкових значеннях параметрів оптимізації, значення яких задані в робочому просторі Matlab (Ctrl+I).
3.2 Reference input вікно цього пункту меню дозволяє задати числові значення таблиці - вектора часу Time vector та вектора значень бажаного перехідного процесу Reference input vector - для подальшої побудови його графіку. Ця опція не впливає на процес оптимізації. Вона призначена для задання допустимих меж зміни перехідного процесу та подальшого візуального порівняння бажаного перехідного процесу з отриманим перехідним процесом при визначених в процесі оптимізації параметрами моделі.
Plot команда побудови графіка;
Revert повернути попереднє значення двох векторів (вектор часу і вектора значень);
Done прийняти встановлені значення.
3.3 Step Response команда задання меж зміни перехідного процесу як реакції на стрибкоподібне збурення. Підпункт Step response доцільно застосовувати для параметричної ідентифікації обєктів з самовирівнюванням, коли задані експериментальні криві розгону, та при параметричній оптимізації САР при стрибкоподібній зміні завдання регулятору.
Після вибору цього підпункту виводиться вікно параметрів перехідної функції, яке має наступний вигляд:
Вікно задання параметрів перехідної функції.
Параметри перехідної функції, які можна змінювати:
Після внесення всіх параметрів перехідної функції вікно параметрів закривається клавішею Done, або натиснути на клавіатурі Enter і закрити вікно Step Response.
Параметри перехідної функції, які можна змінювати у вікні Step Response.
Кнопка Revert відміняє останню зроблену зміну параметрів і повертається до попереднього вигляду.
3.4 Time Range команда задання меж часу перехідного процесу
У вікні Time Axis Limits є два поля вводу, які можна редагувати:
Time axis limits (Межі осі часу), де вектор [tmin tmax] мінімальне та максимальне значення часового діапазону.
Time axis label - мітка осі часу.
Після редагування [tmin tmax] потрібно редагувати також сектори ліній обмежень перехідного процесу (за допомогою діалогового вікна Constraint Editor), а також змінити час Stop Time у вікні моделі в Simulation Parameters на таке значення, яке задали в Time Range.
Примітка. Час, встановлений у полі Simulation Parameter/Stop Time меню вікна Simulink до копіювання в нього блоку NCD, автоматично переноситься у блок при його відкритті після копіювання. Значення часу записується в робочий простір (Workspace) у змінній ncdSruct. Якщо тепер змінити час у вікні Simulink, то у блоку він залишиться попереднім (не зміненим). Щоб передати його у блок потрібно його закрити, стерти з робочого простору змінну ncdSruct і знову відкрити блок. Однак при цьому будуть витерті також всі інші зміни параметрів, зроблені в блоці. Якщо доцільно зберегти зроблені попередньо зміни, то для зміни часу у блоку NCD слід зробити це у полі Time Range.
3.5 Y-Axis команда встановлення діапазону зміни вихідної величини
У вікні Response Axis Limits є два поля вводу, які можна редагувати:
Response axis limits (Межі осі часу), де вектор [ymin ymax] мінімальне та максимальне значення вихідної величини.
Response axis label - мітка для осі y.
4 Поле Optimization
4.1 Start команда старту процедури оптимізації.
4.2 Stop - команда зупинки процедури оптимізації.
4.3 Parameters команда відкриття вікна встановлення параметрів оптимізації.
Tunable Variables поле вводу імен (ідентифікаторів) параметрів оптимізації. Ідентифікатори повинні бути відокремлені пропусками. Вони можуть бути довільними виразами, які обчислюються в робочому просторі Matlab, і повинні відповідати ідентифікаторам у блоках моделі у вікні Simulink.
Lower bounds (optional) нижні межі обмежень на параметри оптимізації. Вони можуть бути числами, або виразами, які обчислюються в робочому просторі Matlab, відокремленими пропусками. Послідовність введених обмежень повинна відповідати послідовності в полі Tunable Variables.
Upper bounds (optional) верхні межі обмежень на параметри оптимізації. Вони можуть бути числами, або виразами, які обчислюються в робочому просторі Matlab, відокремленими пропусками. Послідовність введених обмежень повинна відповідати послідовності в полі Tunable Variables.
Discretization Interval поле вводу інтервалу дискретизації. Рекомендовані інтервали дискретизації в діапазоні від 1% до 2% від загального часу моделювання. Менше значення може сповільнити процес оптимізації або призвести до проблем з пам'яттю.
Variable Tolerance поле вводу точності визначення параметрів оптимізації в абсолютних одиницях. Оптимізація не припиниться, поки параметри оптимізації не будуть визначені із заданою точністю. За замовчуванням: 1.0e-3.
Constraint Tolerance - поле вводу точності досягнення обмежень, накладених на перехідний прцес в абсолютних одиницях. Оптимізація не припиниться, поки не буде забезпечена задана точність. За замовчуванням: 1.0e-3.
Stop optimization as soon as the constraints are achieved команда зупинки процесу оптимізації, як тільки обмеження на перехідний процес будуть досягнуті.
Compute gradients with better accuracy (slower) команда обчислення матриці градієнтів з більшою точністю. Процедура оптимізації відбувається повільніше, але в окремих випадках може допомогти при досягненні обмежень.
Display optimization information команда виводу у вікно Matlab. Проміжних результатів оптимізації.
4.4 Uncertainty - команда відкриття вікна встановлення параметрів моделі, не визначених точно.
Uncertain Variables поле вводу ідентифікаторів точно не визначених змінних. Для декількох змінних вони повинні бути відокремлені пропусками. Змінні можуть бути довільними виразами, які обчислюються в робочому просторі Matlab. Номінальні значення параметрів повинні бути задані (або обчислюватися) в робочому просторі Matlab. Вони повинні відповідати ідентифікаторам у блоках моделі у вікні Simulink.
Lower bounds поле вводу нижніх меж точно не визначених змінних.
Upper bounds поле вводу верхніх меж точно не визначених змінних.
Послідовність введених меж повинна відповідати послідовності в полі Uncertain Variables. Для декількох змінних вони повинні бути відокремлені пропусками. Межі можуть бути числами, або виразами, які обчислюються в робочому просторі Matlab
Number of Monte Carlo simulations поле вводу числа, яке визначає кількість рівномірно розподілених між нижньою та верхньою межею випадкових значень невизначених параметрів (перевірити для декількох параметрів).
Сonstrain nominal simulation команда врахування номінальних значень параметрів.
Сonstrain lower bound simulation - команда врахування нижніх значень параметрів.
Сonstrain upper bound simulation - команда врахування верхніх значень параметрів.
Сonstrain Monte Carlo simulations - команда врахування числа рівномірно розподілених значень параметрів.
Послідовність роботи на прикладі параметричної оптимізації САР
1 Побудувати модель обєкту оптимізації у вікні Simulink, наприклад
2 Задати відомі параметри для блоків моделі. У вікні блоку регулятора ввести замість значень параметрів регулятора їх ідентифікатори, наприклад, kr, ki, kd.
3 Задати початкові значення вектора параметрів оптимізації (параметрів регулятора) та з командного рядка (чи m-файлу) передати їх в робочий простір Matlab, наприклад:
Kr=1; ki=0.5, kd=0.
4 Запустити процес моделювання та, при необхідності, у вікні Simulation/ Simulation parameters змінити час початку і кінця перехідного процесу.
3 Знайти іконку блоку NCD Blockset у переліку вікна Simulink Library Browser, відкрити її та перетягнути мишкою блок NCD Outport у вікно моделі Simulink.
5 Підєднати вихід моделі до входу блоку
6 У вікні Optimization Parameters, в полі Tunable Variables ввести ідентифікатори коефіцієнтів регулятора.
7 Відкрити вікно блоку NCD та виконати команду Options\ Initial response (Ctrl+I).
8 За отриманим графіком перехідного процесу мишкою зредагувати допустимі межі перехідного процесу та змінити масштаб по вихідній величині Options\Y-Axis
9 Запустити на виконання процедуру оптимізації Optimization\ Start (Ctrl+S)
10 У вікні Matlab зчитати параметри оптимізації, які забезпечують задану якість перехідного процесу
>> kr
kr = 1.5707
>> ki
ki = 0.6986
ВАРІАНТИ ЗАВДАНЬ
1 Задано експериментальні значення кривої розгону лінійного обєкту керування третього порядку з функцією передачі
на вхідний сигнал U= 1:
Коефіцієнт передачі К=2 відомий з точністю 10 %
t = [0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 40 42 44 46 48 50]
y(t) = [0 0.53 1.76 2.45 2.4 2.1 1.88 1.89 1.98 2.0 2.03 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0]
Виконати параметричну ідентифікацію обєкту в середовищі Matlab-Simulink із застосуванням блоку NCD
2 Задано експериментальні значення кривої розгону лінійного об”єкту керування порядку з функцією передачі
на вхідний сигнал U= 2:
t = [0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 40 42 44 46 48 50]
y(t) = [0 0.53 1.76 2.45 2.4 2.1 1.88 1.89 1.98 2.0 2.03 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0]
Виконати параметричну ідентифікацію обєкту в середовищі Matlab-Simulink із застосуванням блоку NCD.
3 Задано експериментальні значення реакції лінійної системи керування на стрибкоподібне збурення:
t = 0 1.2 1.9 2.7 3.5 4.3 5.9 6.7 9.1 12.3 21.1 26.7 30.7 40.0 50.0
y(t)=0 0.6 1.1 1.6 1.9 1.9 1.7 1.5 1.0 0.65 0.23 0.12 0.07 0.02 0.0
Задані також параметри ПІ-регулятора та функція передачі об”єкту керування:
кр=3
кі=0.5
Виконати параметричну оптимізацію об”єкту керування в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
4 Задано експериментальні значення кривої розгону лінійного об”єкту керування третього порядку з функцією передачі
на вхідний сигнал U= 1:
t = [0 0.9 1.2509 1.7 2.8 3.5 4.5 5.4 6.0 7.0 10.4 15 20]
y(t) = [0 0.5 0.7672 1.1 1.6 1.8 2.0 2.1 2.2 2.2 2.1 2.0 2.0]
Виконати параметричну ідентифікацію обєкту в середовищі Matlab-Simulink із застосуванням блоку NCD.
1 Задано об"єкт керування послідовне з"єднання трьох аперіодичних ланок:
, ,
Синтезувати систему керування з ПІ регулятором, переміщення регулюючого органу якої не повинно перевищувати 0.2.
Параметричну оптимізацію системи керування виконати в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоків NCD).
1 Задано об"єкт керування послідовне з"єднання трьох аперіодичних ланок:
, ,
Синтезувати систему керування з ПІ регулятором. Обмеження на параметри регулятора:
Ті > 0.5; Kp < 10
Параметричну оптимізацію системи керування виконати в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано експериментальні значення кривої розгону трьох ємнісного аперіодичного лінійного об”єкту керування на вхідний сигнал U= 2:
t = [0 0.69 1.1 1.6 2.35 3.2 4.0 4.8 5.6 7.2 8.8 11.2 17.6 20.8 30.4 40 50]
y(t) = [0 0.02 0.06 0.15 0.35 0.6 0.9 1.3 1.6 2.2 2.6 3.1 3.7 3.9 4.0 4.0 4.0]
Поставити та розв'язати задачу безумовної параметричної оптимізації об”єкту (визначити параметри моделі коефіцієнт підсилення та сталі часу аперіодичних ланок).
Задачу розв'язати в середовищі Matlab із застосуванням функцій оптимізації бібліотеки Optimization Toolbox.
1 Задано об"єкт керування послідовне з"єднання трьох аперіодичних ланок:
, ,
Параметри функцій передачі відомі з точністю 20 %.
Визначити параметри настроювання ПІ регулятора, які б задовільняли заданий перехідний процес.
Параметричну оптимізацію системи керування виконати в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано експериментальні значення реакції лінійної системи керування на стрибкоподібне збурення:
t = 0 1.2 1.9 2.7 3.5 4.3 5.9 6.7 9.1 12.3 21.1 26.7 30.7 40.0 50.0
y(t)=0 0.6 1.1 1.6 1.9 1.9 1.7 1.5 1.0 0.65 0.23 0.12 0.07 0.02 0.0
Задані також параметри ПІ-регулятора та функція передачі об”єкту керування:
Кр=3
Кі=0.5
Параметр настроювання Кі відомий з точністю 20%.
Виконати параметричну оптимізацію об”єкту керування в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано експериментальні значення кривої розгону лінійного об”єкту керування третього порядку з функцією передачі
на вхідний сигнал U= 1:
t = [0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 40 42 44 46 48 50]
y(t) = [0 0.53 1.76 2.45 2.4 2.1 1.88 1.89 1.98 2.0 2.03 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0]
Поставити та розв'язати задачу безумовної параметричної оптимізації об”єкту (визначити параметри моделі коефіцієнти функції передачі a1, a2, a3 , b1).
Задачу розв'язати в середовищі Matlab із застосуванням функцій оптимізації бібліотеки Optimization Toolbox
1 Задано експериментальні значення кривої розгону лінійного об”єкту керування порядку з функцією передачі
на вхідний сигнал U= 2:
t = [0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 40 42 44 46 48 50]
y(t) = [0 0.53 1.76 2.45 2.4 2.1 1.88 1.89 1.98 2.0 2.03 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0]
Виконати параметричну оптимізацію об”єкту в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано об"єкт керування послідовне з"єднання трьох аперіодичних ланок:
, ,
Синтезувати систему керування з ПІ регулятором, переміщення регулюючого органу якої не повинно перевищувати 0.2.
Параметричну оптимізацію системи керування виконати в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоків NCD).
1 Задано експериментальні значення реакції лінійної системи керування на стрибкоподібне збурення:
t = 0 1.2 1.9 2.7 3.5 4.3 5.9 6.7 9.1 12.3 21.1 26.7 30.7 40.0 50.0
y(t)=0 0.6 1.1 1.6 1.9 1.9 1.7 1.5 1.0 0.65 0.23 0.12 0.07 0.02 0.0
Задані також параметри ПІ-регулятора та функція передачі об”єкту керування:
Кр=3
Кі=0.5
Параметр настроювання Кі відомий з точністю 20%.
Виконати параметричну оптимізацію об”єкту керування в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано експериментальні значення реакції лінійної системи керування на стрибкоподібне збурення:
t = 0 1.2 1.9 2.7 3.5 4.3 5.9 6.7 9.1 12.3 21.1 26.7 30.7 40.0 50.0
y(t)=0 0.6 1.1 1.6 1.9 1.9 1.7 1.5 1.0 0.65 0.23 0.12 0.07 0.02 0.0
Задані також параметри ПІ-регулятора та функція передачі об”єкту керування:
Кр=3
Кі=0.5
Параметр настроювання Кі відомий з точністю 20%.
Виконати параметричну оптимізацію об”єкту керування в середовищі Matlab-Simulink із застосуванням блоку NCD (побудувати модель у вікні Simulink, задати параметри моделювання та параметри блоку NCD).
1 Задано експериментальні значення кривої розгону лінійного об”єкту керування третього порядку з функцією передачі
на вхідний сигнал U= 1:
t = [0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 40 42 44 46 48 50]
y(t) = [0 0.53 1.76 2.45 2.4 2.1 1.88 1.89 1.98 2.0 2.03 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0]
Поставити та розв'язати задачу безумовної параметричної оптимізації об”єкту (визначити параметри моделі коефіцієнти функції передачі a1, a2, a3 , b1).
Задачу розв'язати в середовищі Matlab із застосуванням функцій оптимізації бібліотеки Optimization Toolbox.