Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Протокол по симулинку.docx
Скачиваний:
1
Добавлен:
06.09.2019
Размер:
671.78 Кб
Скачать

Міністерство освіти і науки України

Національний технічний університет України

«Київський політехнічний інститут»

Лабораторна робота

з курсу «Прикладне програмне забезпечення»

Виконав:

студент 2-го курсу ТЕФ

гр. ТО-01

Федорчук А.В.

Перевірив:

Фоменко Б.В.

Степанець О.В.

Київ 2012

Зміст

  1. Постановка завдання………………………………………………………3

2. Вступ……………………………………………………………………… 4

3. Теоретичні відомості………………………………………………………4

4. Хід роботи…………………………………………………………………13

5. Висновок…………………………………………………………………..19

  1. Постановка завдання:

Створити підсистему і маску підсистеми на прикладі системи автоматизації управління. Розрахувати інтегральні критерії якості. Провести оптимізацію.

2. Вступ

2. 1 Загальні відомості Програма Simulink є додатком до пакету MATLAB. При моделюванні з використанням Simulinkреалізуется принцип візуального програмування, відповідно до якого, користувач на екрані з бібліотеки стандартних блоків створює модель пристрою та здійснює розрахунки. При цьому, на відміну від класичних способів моделювання, користувачеві не потрібно досконально вивчати мову програмування та чисельні методи математики, а досить загальних знань потрібних при роботі на комп'ютері і, природно, знання тієї предметної області в якій він працює. Simulink є досить самостійним інструментом MATLAB і при роботі з ним зовсім не потрібно знати сам MATLAB і решта його застосування. З іншого боку доступ до функцій MATLAB і іншим його інструментів залишається відкритим і їх можна використовувати в Simulink. Частина входять до складу пакетів має інструменти, що вбудовуються в Simulink (наприклад, LTI-Viewer програми Control System Toolbox - пакету для розробки систем управління). Є також додаткові бібліотеки блоків для різних областей застосування (наприклад, Power System Blockset - моделювання електротехнічних пристроїв, Digital Signal Processing Blockset - набір блоків для розробки цифрових пристроїв і т.д). При моделюванні користувач може вибирати метод рішення диференціальних рівнянь, а також спосіб зміни модельного часу (з фіксованим або змінним кроком). У ході моделювання є можливість стежити за процесами, що відбуваються в системі. Для цього використовуються спеціальні пристрої спостереження, що входять до складу бібліотеки Simulink. Результати моделювання можуть бути представлені у вигляді графіків або таблиць.

3. Теоретичні відомості

Для запуску програми необхідно попередньо запустити пакет MATLAB. Основне вікно пакету MATLABпоказано на Рис. 3.1. Там же показана підказка з'являється у вікні при наведенні покажчика миші на ярлик Simulink в панелі інструментів.

Рис 3.1. Основне вікно програми MATLAB

Після відкриття основного вікна програми MATLAB потрібно запустити  программу Simulink. Це можна зробити одним з трьох способів: • Натиснути кнопку (Simulink) на панелі інструментів командного вікна MATLAB. • У командному рядку головного вікна MATLAB надрукувати Simulink і натиснутиклавішу Enter на клавіатурі. • Виконати команду Open ... в меню File і відкрити файл моделі (mdl - файл). Останній варіант зручно використовувати для запуску вже готової і налагодженоїмоделі, коли потрібно лише провести розрахунки і не потрібно додавати новіблоки в модель. Використання першого і другого способів призводить до відкриття вікна браузера розділів бібліотеки Simulink (рис. 3.2).

1

2

3

4

5

6

7

Рис 3.2 Вікно браузера розділів бібліотеки Simulink

Оглядач розділів бібліотеки Simulink Вікно браузера бібліотеки блоків містить такі елементи (Мал. 3.2): 1. Тема, з назвою вікна - Simulink Library Browser. 2. Меню, з командами File, Edit, View, Help. 3. Панель інструментів, з ярликами найбільш часто використовуваних команд. 4. Список розділів бібліотеки, реалізований у вигляді дерева. 5. Рядок пошуку. 6. Вікно вмісту розділу бібліотеки (список вкладених розділів бібліотеки або блоків) 7. Рядок стану, що містить підказку з виконуваному дії. На рис. 3.2 виділена основна бібліотека Simulink (у лівій частині вікна) та показано її розділи (у правій частині вікна). Бібліотека Simulink містить наступні основні розділи: 1. Continuous - лінійні блоки. 2. Discrete - дискретні блоки. 3. Functions & Tables - функції та таблиці. 4. Math - блоки математичних операцій. 5. Nonlinear - нелінійні блоки. 6. Signals & Systems - сигнали і системи. 7. Sinks - самописці. 8. Sources - джерела сигналів і впливів. 9. Subsystems - блоки підсистем.

Рис 3.3. Вікно браузера з набором блоків розділу бібліотеки

Список розділів бібліотеки Simulink представлений у вигляді дерева, і правила роботи з ним є загальними для списків такого виду: • Піктограма згорнутого вузла дерева містить символ "+", а піктограма розгорнутого містить символ "-". • Для того щоб розгорнути або згорнути вузол дерева, досить клацнути на його піктограмі лівою клавішею миші (ЛКМ). При виборі відповідного розділу бібліотеки в правій частині вікна відображається його вміст (Мал. 3.3).

 Створення моделі Для створення моделі в середовищі SIMULINK необхідно послідовно виконатиряд дій: Створити новий файл моделі за допомогою команди File / New / Model, абовикористовуючи кнопку на панелі інструментів (тут і далі, за допомогою символу"/", зазначені пункти меню програми, які потрібно послідовно вибрати для виконання зазначеної дії). Новостворене вікно моделі показано на Рис. 3.4.

Рис 3.4. Пусте вікно моделі

Розташувати блоки у вікні моделі. Для цього необхідно відкрити відповідний розділ бібліотеки (Наприклад, Sources - Джерела). Далі, вказавши курсором на потрібний блок і натиснувши на ліву клавішу "миші" - "перетягнути" блок у створене вікно. Клавішу миші потрібно тримати натиснутою. На Рис 3.3 показано вікно моделі, що містить блоки.

Далі, якщо це потрібно, потрібно змінити параметри блоку, встановлені програмою "за замовчуванням". Для цього необхідно двічі клацнути лівою клавішею "миші", вказавши курсором на зображення блоку. Відкриється вікно редагування параметрів даного блоку. При завданні чисельних параметрів слід мати на увазі, що в якості десяткового роздільника редагування параметрів блоку повинна використовуватися точка, а не кома. Після внесення змін потрібно закрити вікно кнопкою OK. На рис.3.4 як приклад показані блок, що моделює передавальну функцію і вікно редагування параметрів даного блоку.

Рис 3.5. Блок, що моделює передавальну функцію і вікно

Після установки на схемі всіх блоків із потрібних бібліотек потрібно виконати з'єднання елементів схеми. Для з'єднання блоків необхідно вказати курсором на "вихід" блоку, а потім, натиснути і, не відпускаючи ліву клавішу "миші", провести лінію до входу іншого блоку. Після чого відпустити клавішу. У разі правильного з'єднання зображення стрілки на вході блоку змінює колір. Для створення точки розгалуження в сполучній лінії потрібно підвести курсор до передбачуваного вузла і, натиснувши праву клавішу "миші", протягнути лінію. Для видалення лінії потрібно вибрати лінію (так само, як це виконується для блоку), а потім натиснути клавішу Delete на клавіатурі. Схема моделі, в якій виконані з'єднання між блоками, показана на рис. 3.5

4.5. Після складання розрахункової схеми необхідно зберегти її у вигляді файлу на диску, вибравши пункт менюFile / Save As ... у вікні схеми і вказавши папку та ім'я файлу. Слід мати на увазі, що ім'я файлу не повинне перевищувати 32 символів, має починатися з букви і не може містити символи кирилиці та спецсимволи. Ця ж вимога стосується й шляхи файлу (до тих папках, в яких зберігається файл). При подальшому редагуванні схеми можна користуватися пунктом меню Fille / Save. При повторних запусках программиSIMULINK завантаження схеми здійснюється за допомогою меню File / Open ... у вікні браузера бібліотеки або з основного вікна MATLAB.

Рис 3.6. Схема моделі

Subsystem - підсистеми. Підсистема це фрагмент Simulink-моделі, оформлений у вигляді окремого блоку. Використання підсистем при складанні моделі має такі позитивні сторони: 1.Зменшує кількість одночасно відображуваних блоків на екрані, що полегшує сприйняття моделі (в ідеалі модель повністю повинна відображатися на екрані монітора). 2.Дозволяє створювати і налагоджувати фрагменти моделі окремо, що підвищує технологічність створення моделі. 3.Дозволяє створювати власні бібліотеки. 4.Дає можливість синхронізації паралельно працюють підсистем. 5.Дозволяє включати в модель власні довідкові кошти. 6.Дає можливість пов'язувати підсистему з яких-небудь m-файлом, забезпечуючи запуск цього файлу при відкритті підсистеми (нестандартне відкриття підсистеми). Використання підсистем і механізму їх блоків дозволяє створювати блоки, які не поступаються стандартним за своїм оформлення (власне вікно параметрів блоку, піктограма, довідка тощо). Кількість підсистем в моделі не обмежена, крім того підсистеми можуть включати в себе інші підсистеми. Рівень вкладеності підсистем один в одного також не обмежений. Зв'язок підсистеми з моделлю (або підсистемою верхнього рівня ієрархії) виконується за допомогою вхідних (блок Inport бібліотеки Sources) і вихідних (блок Outport бібліотеки Sinks) портів. Додавання в підсистему вхідного або вихідного порту призводить до появи на зображенні підсистеми мітки порту, за допомогою якої зовнішні сигнали передаються всередину підсистеми або виводяться в основну модель. Перейменування блоків Inport або Outport дозволяє змінити мітки портів, які відображаються на піктограмі підсистеми зі стандартних (In і Out) на ті, які потрібні користувачеві. Підсистеми можуть бути віртуальними (Subsystem) і монолітними (Atomic Subsystem). Відмінність цих видів підсистем полягає в порядку виконання блоків під час розрахунку. Якщо підсистема є віртуальною, то Simulink ігнорує наявність кордонів відокремлюють таку підсистему від моделі при визначенні порядку розрахунку блоків. Іншими словами у віртуальній системі спочатку можуть бути розраховані вихідні сигнали декількох блоків, потім виконано розрахунок блоків в основний моделі, а потім знову виконано розрахунок блоків входять у підсистему. Монолітна підсистема вважається єдиним (неподільним) блоком і Simulink виконує розрахунок всіх блоків в такій підсистемі, не перемикаючись на розрахунки інших блоків в основний моделі. Зображення монолітною підсистеми має більш товсту рамку в порівнянні з віртуальною підсистемою. Підсистеми можуть бути також керованими або некерованими. Керовані підсистеми завжди є монолітними. Керовані підсистеми мають додаткові (керуючі) входи, на які надходять сигнали активізують дану підсистему. Керуючі входи розташовані зверху чи знизу підсистеми. Коли керована підсистема активізована - вона виконує обчислення. У тому випадку якщо керована підсистема пасивна, то вона не виконує обчислення, а значення сигналів на її виходах визначаються налаштуваннями вихідних портів. Для створення в моделі підсистеми можна скористатися двома способами: 1.Скопіювати потрібну підсистему з бібліотеки Subsystem в модель. 2.Виділити за допомогою миші потрібний фрагмент моделі і виконати команду Create Subsystem з меню Edit вікна моделі. Виділений фрагмент буде поміщений в підсистему, а входи і виходи підсистеми будуть забезпечені відповідними портами. Даний спосіб дозволяє створити віртуальну некеровану підсистему.Надалі, якщо це необхідно, можна зробити підсистему монолітною, змінивши її параметри, або керованою, додавши керуючий елемент з потрібної підсистеми знаходиться в бібліотеці. Скасувати угруповання блоків у підсистему можна командою Undo.

Маскування підсистем Загальні відомості Механізм маскування підсистем дозволяє оформити підсистему як повноцінний бібліотечний блок, тобто забезпечити підсистему власним вікном параметрів, піктограмою, довідковою системою і т.п. Маскування підсистем дає користувачеві наступні переваги: 1.Розширює можливості користувача з управління параметрами моделі. 2.Дозволяє створювати більш зрозумілий інтерфейс підсистеми. 3.Підвищує наочність блок-діаграми. 4.Розширює можливості побудови складних моделей. 5.Підвищує захищеність моделі від несанкціонованої модифікації.

Для виконання маскування наявної підсистеми необхідно попередньо виконати наступні дії: -Визначити які параметри підсистеми повинні задаватися користувачем у майбутньому вікні параметрів. Поставити ці параметри в підсистемі за допомогою ідентифікаторів (імен). -Визначити яким чином параметр повинен бути заданий у вікні діалогу (за допомогою рядка введення, вибором із списку, або установкою прапорця). -Розробити ескіз піктограми блоку. -Створити коментарі (довідку) з використання підсистеми.

Маскування підсистеми виконується за допомогою Mask Editor (редактор маски). Для запуску редактора маски необхідно виділити маскируемое підсистему і виконати команду Mask Subsystem ... з меню Edit. Можна також скористатися контекстним меню. Після запуску Mask Editor на екран буде виведено вікно редактора, що має 3 вкладки: Icon (Піктограма), Initialization (ініціалізація), Documentation (Документація). Перша з вкладок забезпечує створення піктограми підсистеми, друга - дає можливість створити вікно діалогу для введення параметрів і третя - дозволяє ввести опис блоку і створити його довідку. У верхній частині всіх вкладок є поле Mask Type, за допомогою якого можна задати ім'я блоку. У нижній частині вікна є 5 кнопок управління редактором: OK - Зберегти внесені зміни і закрити вікно. Cancel - Скасувати внесені зміни і закрити вікно. Unmask - Зняти маску з підсистеми. До закриття файлу моделі маску можна відновити, скориставшись командою Edit Mask ... з меню Edit. Help - Відкрити вікно довідки редактора маски. Apply - Зберегти внесені зміни без закриття вікна редактора. Повторний виклик редактора маски для вже маскированной підсистеми здійснюється командою Edit Mask ... з меню Edit (або аналогічною командою з контекстного меню). Після того як маскування системи буде виконано, подвійне клацання на її зображенні буде відкривати вікно параметрів підсистеми, а не вікно моделі.Відкрити саму підсистему (вікно моделі) для редагування або перегляду можна командою Look under mask з меню Edit або контекстного меню. Вікно параметрів створюється за допомогою вкладки Initialization (ініціалізація) редактора маски. Для створення поля введення параметра з його описом необхідно виконати наступні дії: Натиснути кнопку Add (Додати). Ввести опис параметра в полі Prompt (Підказка). В якості опису параметра зазвичай використовується його назву у вигляді тексту, наприклад, "Gain", "Constant value" і т.п. Вказати ідентифікатор параметра в полі Variable (Змінна). Природно, що це повинен бути один з тих ідентифікаторів, який використовувався під час установок блоків всередині підсистеми (хоча це не обов'язково, оскільки параметр може бути використаний і для модифікації самого вікна діалогу). Всі змінні, ідентифікатори яких задані на вкладці Initialization, поміщаються в Mask Workspace - локальну робочу область маски і є доступними тільки всередині підсистеми. Вибрати тип елемента інтерфейсу задає параметр зі списку Control Type: Edit - Редагуються поле введення. Checkbox - прапорець. Popup - Список, що розкривається. У цьому випадку в графі Popup Strings (Елементи списку) необхідно ввести елементи списку, розділені символом вертикальної риси. Наприклад, вираз alpha | beta | gamma задасть список з трьох елементів: alpha, beta і gamma. Вибрати формат параметра зі списку Assiggment: Evaluate - Обчислюваний. Вибирається, якщо параметр повинен мати числове значення. У цьому полі можна буде ввести вираження згідно з правилами мови MATLAB. Формат Evaluate дозволяє також використовувати числову форму значення змінної в тому випадку, якщо тип елемента інтерфейсу вибраний у вигляді прапорця або розкривного списку. Так, наприклад, для розкривного списку alpha | beta | gamma значення пов'язаної зі списком змінної буде дорівнює 1, якщо в списку вибрано alpha, 2 - якщо у списку вибрано beta, і 3 - якщо у списку вибрано gamma. Для елемента інтерфейсу Checkbox обчислювані значення будуть рівні 1 (при встановленому прапорці) і 0 (при знятому прапорці). Literal - Текстовий. Вибирається, якщо параметр повинен бути рядком символів. Ввести команди ініціалізації в графі Initialization commands. Команди ініціалізації представляють собою звичайні команди на мові MATLAB і можуть включати оператори і m-функції. Такі команди задають змінні, які будуть знаходитися в робочій області маскированной підсистеми. Ці змінні доступні всередині підсистеми і можуть бути використані в якості параметрів блоків входять до складу підсистеми, а також для створення піктограми підсистеми. Команди ініціалізації виконуються в наступних випадках: -При відкритті вікна моделі. -При запуску моделі на виконання. -При виконанні команди Edit / Update diagram. -При обертанні блоку маскированной підсистеми (в цьому випадку команди ініціалізації забезпечують перемальовування піктограми). -При автоматичній зміні піктограми, що залежить від параметрів блоку.