МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК
ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра “Системи автоматизованого проектування”
ОСНОВИ КОМП’ЮТЕРНОГО МОДЕЛЮВАННЯ СИСТЕМ
В СЕРЕДОВИЩІ ТУЛБОКСУ SIMULINK ПРОГРАМИ MATLAB
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторної роботи № 2
з дисципліни “Моделювання систем”
для студентів спеціальності 7.080402
“Інформаційні технології проектування”
Затверджено
на засіданні кафедри систем
автоматизованого проектування
Протокол № від . .2008 р.
на засіданні методичної ради ІКНІ
Протокол № від . .2008 р.
ВАК № від . .2008 р.
Львів-2008
Основи комп’ютерного моделювання систем в середовищі тулбоксу Simulink програми Matlab. Методичні вказівки до виконання лабораторної роботи № 2 з дисципліни “Моделювання систем” для студентів спеціальності 7.080402 “Інформаційні технології проектування” для денної та заочної форм навчання/Укл. П.В.Тимощук. - Львів: Національний університет ”Львівська політехніка”, 2008. - 20с.
Укладач: Тимощук П.В.
Відповідальний за випуск: Лобур М. В., д-р техн. наук, професор
Рецензенти: Мичуда З. Р., д-р техн. наук, професор
Каркульовський В. І., канд. техн. наук, доцент
МЕТА РОБОТИ
Вивчити і закріпити знання та основні аспекти роботи, а також отримати практичні навички використання тулбоксу Simulink програми Matlab.
КОРОТКА ХАРАКТЕРИСТИКА ТУЛБОКСУ SIMULINK
ПРОГРАМИ MATLAB
1. Вступ. Побудова та дослідження моделей систем ефективно виконуються у середовищах сучасних програм математичного моделювання. Особливо ефективним є використання програми Matlab і, зокрема, її тулбоксу (набору інструментальних засобів) Simulink. Simulink є підпрограмою моделювання, проведення розрахунків і аналізу динамічних систем. Вона підтримує роботу з лінійними і нелінійними, неперервними та дискретними системами та їх комбінацією. За допомогою Simulink можна конструювати моделі аналогових, дискретних і гібридних динамічних систем та розв'язувати задачі їх аналізу. В Simulink можна моделювати системи, шо мають декілька входів і виходів. Отримані в Simulink моделі легко інтегруються до бібліотеки програми Matlab. У складі цієї бібліотеки розроблені моделі можна використовувати та досліджувати при різних формах сигналів як автономно, так і в сукупності з іншими моделями.
Ввід моделей в Simulink та їх аналіз здійснюються з використанням таких бібліотек: Sources (джерел сигналів), Sinks (виводу результатів), Continuous (неперервних систем), Discontinuous (розривних систем), Discrete (дискретних систем), Linear (лінійних блоків), Nonlinear (нелінійних блоків), Connections (з'єднань), Functions & Tables (таблично заданих трансцендентних функцій, виразів і функцій), Math (математичних, логічних операцій та операцій відношення), Signals & Systems (систем і підсистем).
Бібліотека блоків Simulink спільно з тулбоксом Stateflow використовуються для моделювання логіко-динамічних систем із змінною структурою. Бібліотека Simulink містить набір блоків, призначених для побудови функціональних схем із змінною структурою. В Stateflow зміна станів системи відображується у вигляді схеми, на якій показуються елементи системи і зв'язки-переходи між ними. Логіко-динамічні системи із змінною структурою можуть також моделюватись на основі сіток Петрі. Безпосередньо у середовищі Simulink або з функцією gensim можуть використовуватись блоки тулбоксу Neural Networks для побудови нейронних мереж. У свою чергу, Simulink містить нейромережеві блоки активаційних функцій (Transfer Functions), блоки трансформації входів мережі та блоки вагових коефіцієнтів.
Simulink забезпечує графічний інтерфейс користувача для створення моделей систем у вигляді блок-схем, використовуючи дії “миші” "натискання і перенесення". Simulink включає багатофункціональну бібліотеку блоків виводу результатів розрахунку, велику бібліотеку різноманітних джерел, лінійних і нелінійних елементів та з'єднувачів. Після представлення моделі блок-схемою можна обчислити режими її роботи, використовуючи набір методів інтегрування. Запуск розрахунку здійснюється або з меню Simulink, або з командного рядка у вікні команди Matlab. Числове інтегрування систем звичайних диференційних рівнянь в Simulink може виконуватись з постійним та змінним кроком. Метод можна вибирати з врахуванням типу моделі (неперервної або дискретної). Якщо модель не містить неперервного часу, програма використовує дискретний режим з фіксованим або змінним кроком. Параметри методів, прийняті за замовчуванням, приводять до швидкого отримання точних результатів при розв'язуванні більшості задач аналізу. Змінивши значення параметрів, можна підвищити швидкість розв'язання задачі.
Використання меню Simulink зручне для інтерактивної роботи, у той час як ввід команд з командного рядка с зручнішим для виконання декількох розрахунків (наприклад, після зміни певного параметра системи). Використання Scopes та інших блоків виводу результатів дає змогу отримувати результати моделювання під час розрахунків. Окрім цього, можна змінювати параметри і спостерігати, як ця зміна впливає на роботу системи. Результати моделювання можна передавати в робочу область Matlab для подальшого опрацювання і візуалізації. Засоби аналізу включають лінеаризацію й підлагодження, до яких можна звертатися з командного рядка Matlab, а також багато додаткових функцій і прикладних тулбоксів. Оскільки Simulink і Matlab об'єднані, можна моделювати, аналізувати і виправляти моделі в будь-якому середовищі і в будь-якому місці. Доступні операції маскування та групування блоків значно полегшують роботу проектанта з моделями, утвореними багатьма блоками.
2. Типова сесія в середовищі тулбоксу Simulink. Для запуску тулбоксу Simulink спочатку необхідно запустити Matlab. Після цього розпочати роботу Simulink можна такими двома шляхами:
натиснути ліву клавішу "мишки" на однойменній піктограмі Simulink головного меню Matlab (рис. 1);
набрати команду Simulink в командному рядку робочої області Matlab і натиснути клавішу "Enter" (рис. 2).
Головне меню тулбоксу Simulink показане на рис. 2. У Simulink блоки, відповідно до їхнього призначення, сформовано в бібліотеки. Для перегляду встановлених блоків бібліотечне вікно Simulink мас деревоподібну структуру. Для переходу від бібліотечного вікна перегляду Simulink з деревоподібною структурою до вікна, що містить піктограми блоків чи бібліотек елементів, необхідно двічі натиснути праву клавішу "мишки" на
Рис. 1. Запуск тулбоксу Simulink.
відповідній гілці каталожного дерева (рис. 2). Головне меню Simulink містить такі бібліотеки блоків: бібліотека Sources утворена з блоків, що генерують вихідний сигнал певної форми: бібліотека Sinks складається з блоків, які реалізують відображення сигналів; бібліотека Discrete містить блоки, що описують дискретні компоненти; бібліотека Continuous має блоки, що реалізують лінійні функції; бібліотека Nonlinear містить блоки, які реалізують нелінійні функції; бібліотека Math має блоки, що формують загальні математичні функції; бібліотека Functions & Tables містить блоки, що реалізують загальні функції й засоби звертання до таблиць; бібліотека Signal & Systems має блоки, які дозволяють об'єднувати та виділяти окремі сигнали, а також виконувати зовнішній ввід - вивід, передавати дані до інших частин моделі, створювати підсистеми та виконувати інші функції; бібліотека Blocksets & Toolboxes утворена з додаткових спеціалізованих бібліотек, розроблених спеціально для роз'язування певного типу задач; бібліотека Demos містить корисні демонстраційні програми Simulink і Matlab.
Рис. 2. Запуск тулбоксу Simulink з робочої області програми Matlab.
Блоки бібліотеки Discrete можна використовувати як для моделювання дискретних систем, так і для обробки сигналів. Ці блоки можна застосовувати в моделях разом з блоками бібліотеки Continuous. У цьому випадку вихідний сигнал блока є незмінним упродовж кроку інтегрування системи, а вхідний сигнал надходить на блок тільки в певний момент часу, який визначається на границі окремого кроку розрахунку.
Блок Transport Delay - забезпечує затримку сигналу на задану кількість кроків модельного часу, причому необов'язково на ціле число. Параметрами налагодження такого блоку с Time Delay - кількість кроків модельного часу, на яку робиться затримка сигналу; Initial Input - це значення амплітуди вхідного сигналу в момент ініціалізації блоку; Initial buffer size - обсяг пам'яті, що виділяється в робочій області для зберігання параметрів затриманого сигналу (значення повинно бути кратним 8).
Розглянемо детальніше деякі з блоків, що входять до бібліотеки Nonlinear:
Manual Switch – не має параметрів налагодження і дає змогу вручну вибирати один з двох вхідних сигналів. Для зміни комутованого входу необхідно двічі натиснути клавішею "мишки" на зображенні блока.
Multiport Switch - забезпечує передачу на вихід сигналу, що надходить на один з вхідних портів. Номер комутованого входу визначається значенням сигналу керування. Блок має один параметр налагодження - Number of Inputs - кількість інформаційних входів.
Switch - має три входи (два інформаційні - "1-й" та "3-й" і один – керування - "2-й"). Функціонування блоку описується так: якщо амплітуда сигналу, що надходить на вхід "2" не менша від заданого значення, тоді на вихід передасться сигнал з входу " 1", інакше - з входу "З". Блок має один параметр налагодження - Threshold, який і визначає порогове значення. Цей параметр може задаватись у вигляді числової константи або виразу.
Relay - функціонує за аналогією із звичайним реле і має чотири параметри налагодження: Switch on Point - порогове значення, при перевищення якого спрацьовує реле; Switch off Point - рівень сигналу, при якому здійснюється вимкнення; Output when Оn - амплітуда сигналу спрацювання; Output when Off- рівень вихідного сигналу після вимкнення.
Блоки, що утворюють бібліотеку Math, можна розділити на такі групи:
блоки, що реалізують елементарні математичні операції;
блоки логічних операцій;
блоки операцій над комплексними числами.
Блок Combinatorial Logic забезпечує перетворення вхідного сигналу відповідно до заданої таблиці істинності. Вхідні дані та результати повинні подаватись у вигляді булевих величин: "1" - істина; "0" - фальш. Блок мас єдиний параметр налагодження -Truth Table, який описує таблицю можливих виходів блоку. При створенні такої таблиці необхідно дотримуватись двох правил: 1) кількість рядків таблиці дорівнює 2п, де п - кількість складових вхідного сигналу; 2) входи таблиці задані. Так, при n=2 Truth Table є списком з чотирьох елементів, що може мати такий вигляд: [0; 1; 1; 1]. Варто зазначити, що будь-яке ненульове значення сигналу у блоці трактується, як істина.
Блок Product реалізує операції множення і ділення кількох вхідних сигналів або перемноження елементів вхідного вектора у випадку кількості входів, що дорівнює 1. Для позначення операції множення використовується символ "*", а для ділення - "/".
Блок Sum можна використовувати у двох режимах: підсумовування вхідних сигналів (зокрема, з різними знаками); підсумовування елементів вектора вхідних сигналів, які поступають на вхід блока. Для керування режимом роботи блока використовується єдиний параметр налагодження - List of Signs. Значення цього параметра можна задавати різними способами; 1) у вигляді послідовності знаків "+" та "-", при цьому кількість знаків визначає кількість входів блока, а сам знак - полярність входу: 2) константою (більшою від 1), яка визначає кількість входів блоку, причому всі сигнали беруться із знаком "+"; 3) символом "1". що вказує на використання блоку в режимі підсумовування.
Створення моделі. Файл існуючої моделі в середовище Simulink може бути завантажений шляхом натискання піктограми Open головного меню Simulink. Для редагування існуючої блок-схеми моделі потрібно або натиснути піктограми Open на інструментальній панелі Library Browser, або команду Open меню File головного меню Simulink, а потім вибрати чи ввести ім'я файлу моделі, що буде редагуватися, або ввести ім'я файлу моделі (без розширення .mdl) у вікні команди Matlab. Модель при цьому повинна знаходитись у поточному каталозі або в каталозі, який зазначений у шляху.
Для створення нової моделі у середовищі Simulink вибирається команда Model з підменю New меню File головного меню Simulink або натискається піктограма New Model на інструментальній панелі Library Browser. В результаті з’являється вікно, призначене для формування моделей Simulink (рис. 3). Після того, як Simulink відкриє нове вікно для моделювання, необхідно помістити в нього блоки, що формують модель. Доцільним є переміщення вікна моделювання так:, щоб можна було б бачити одночасно і бібліотеки блоків. Функціональні блоки переносяться з бібліотеки у вікно моделей тулбоксу Simulink за допомогою миші, як показано на рис. 3.
Копіювання блоків. Для копіювання блоку з бібліотеки спочатку розкривають дерево бібліотечного вікна перегляду, щоб виділити блок у бібліотеці. Для цього спочатку натискають на Simulink вершині, щоб виділити вершину відповідної бібліотеки, а потім - на вершині відповідної бібліотеки, щоб виділити блоки цієї бібліотеки. Після цього вибирають необхідний блок, натиснувши на його вершину. Потім, утримуючи ліву клавішу "мишки" в натиснутому положенні, потрібно перемістити вершину вибраного блоку з вікна перегляду у вікно моделі і відпустити клавішу "мишки". Simulink створює копію блоку в тій точці вікна моделі, де перебуває курсор "мишки" в момент відпускання.
Копіювати блоки можна також з вікна бібліотек вихідних модулів, для чого відкривають вікно відповідної бібліотеки, двічі натиснувши на піктограмі бібліотеки в бібліотечному вікні Simulink. Simulink розкриває вибране вікно, після чого аналогічно перетягується піктограма відповідного блоку у вікно моделі. Ще одним можливим способом копіювання блоків є використання команд Copy та Paste меню Edit за таким алгоритмом:
Вибрати блок, який необхідно скопіювати.
Виконати команду Copy меню Edit.
Перейти у вікно створення моделі.
Виконати команду Pasle меню Edit.
Рис. 3. Формування моделі у вікні тулбоксу Simulink.
Над усіма блоками, скопійованими у вікно моделювання, можна виконувати такі операції редагування та формування моделі.
Проведення ліній між блоками. Лінії призначені для з'єднання порта виходу одного блоку з портом входу другого блоку. Для виконання з'єднання необхідно:
1. Розмістити курсор над портом виходу першого блоку. Немає необхідності ставити курсор точно на порт. При цьому форма курсору змінюється.
2. Натиснути клавішу "мишки" та утримувати її в ньому положенні.
З. Перемістити курсор на порт входу другого блоку.
4. Відпустити клавішу "мишки". Simulink замінює символи порту сполучною лінією зі стрілкою, яка показує напрям проходження інформаційного потоку.
Simulink зображує сполучні лінії, які використовують горизонтальні і вертикальні ділянки. Для того, щоб намалювати діагональну лінію, необхідно під час малювання лінії утримувати клавішу SHIFT.
Створення відгалуження. Відгалуженням називається лінія, що починається з існуючої лінії та закінчується в порті входу блоку. Існуюча лінія та її відгалуження містить ту ж саму інформацію, що дає змогу передавати сигнал на різні блоки.
Для того, щоб створити відгалуження, необхідно виконати такі дії:
Поставити курсор на лінії у тому місці, звідки має починатись відгалуження.
Утримуючи клавішу Ctrl, натиснути і тримати ліву кнопку "мишки".
Перемістити курсор "мишки" на порт входу вибраного блоку і відпустити кнопку "мишки" та клавішу Ctrl.
Замість того, щоб утримувати ліву кнопку “мишки” і клавішу Ctrl, можна використовувати праву кнопку "мишки".
Вибір блоків. Для того, щоб вибирати блок, необхідно навести курсор "мишки" на його піктограму і натиснути ліву клавішу "мишки". В кутках обраного блока і біля кінцевих пунктів вибраної лінії з'являться малі чорні квадратики. Вибираючи новий блок, тим самим відміняється раніше зроблений вибір.
Вибір кількох елементів. Для вибору кількох елементів моделі необхідно:
Відпустити кнопку "мишки". Всі блоки і лінії, хоча б частково захоплені в область, обмежену пунктирним прямокутником, є вибраними.
Вибір цілої моделі. Для того, щоб вибрати всі блоки в активному вікні, необхідно виконати команду Select All меню Edit.
Переміщення блоків у моделі. Для переміщення окремого блоку від одного місця до іншого у вікні створення моделі необхідно вибрати потрібний блок і перемістити його до нового місця розміщення. Simulink автоматично встановлює лінії, сполучені з блоком, який перемішується .
Дублювання блоків у моделі. Для дублювання блоків у моделі необхідно за натиснутої клавіші Ctrl вибрати блок і перемістити його до нового місця розташування. Цю ж операцію можна виконати, використовуючи праву клавішу "мишки!*. Дубльований блок має ті ж самі параметри, що й оригінал, а до назви нового блока додасться порядковий номер.
Видалення блоків. Для того, щоб видалити один або більшу кількість блоків моделі, необхідно вибрати ці блоки і натиснути клавішу Delete або Backspace. Цю ж операцію можна виконати за допомогою команд Clear або Cut меню Edit. Варто зауважити, що команда Cut записує блоки в буфер обміну, що дає змогу повторно вставляти їх у модель. Використання клавіш Delete, Backspace або команди Clear не дозволяє пізніше вставляти стерті блоки. Для відміни виконаної команди використовується команда Undo меню Edit.
Зміна розмірів блоків. Для того, щоб змінити розмір блоку, необхідно вибрати цей блок, після чого перемістити курсор "мишки" у будь-яку частину блоку. Переміщуючи курсор "мишки" при натиснутій лівій клавіші, користувач тим самим змінює розмір блоку, який визначається пунктирним прямокутником. Після відпускання клавіші "мишки" блок набуває зміненого розміру.
Зміна орієнтації блоків. За замовчуванням блок у вікні моделі зорієнтований так: порти входу - ліворуч, а порти виходу - праворуч. Така орієнтація блоку може бути незручною з погляду формування моделі (наприклад, при реалізації зворотнього зв'язку). У Simulink передбачена можливість зміни орієнтації вибраного блоку шляхом вибору відповідних команд меню Format: команда Flip Block обертає блок на 180 градусів. Команда Rotate Block обертає блок за годинниковою стрілкою на 90 градусів.
Від 'єднання блоків. Для від'єднання блока від сполучних ліній необхідно при його переміщенні до нового місця розташування натиснути клавішу SHIFT.
Векторний вхід і вивід. Майже всі Simulink-блоки сприймають скалярні або векторні входи, генерують скалярні або векторні виходи і дозволяють забезпечувати скалярні або векторні параметри. За допомогою опції Wide Vector Lines меню Format можна визначати, які сполучні лінії моделі містять векторний сигнал. Після вибору цієї опції лінії, що містять векторні сигнали, порівнянно з лініями, які містять скаляри, будуть потовщені.
Якщо символ ">" піктограми вказує на вихід з блоку, тоді це - порт виводу блоку, якщо ж символ вказує на блок, тоді це - порт входу. Інформація перемішується з порту виходу блоку в порт входу іншого блоку через сполучну лінію. Коли блоки з'єднані, символи портів зникають.
Збереження моделі. Для збереження моделі необхідно виконати команду Save або Save As меню File. Simulink зберігає модель, генеруючи файл спеціального формату, який називається model file (з розширенням .mdl) і містить блок-схему і параметри блоків. Якщо модель зберігається вперше, тоді необхідно використати команду Save і задати ім'я та шлях для розміщення модельного файлу. Ім'я файлу повинно починатись з літери і може мати довжину до 31 символу. Якщо для збереження файлу, який вже був попередньо збережений, використати команду Save, тоді відбудеться заміна вмісту файлу. Команда Save As у цьому випадку дозволяє зберегти файл під новим іменем.
Задавання параметрів моделювання і вибір способу розв'язання системи рівнянь. Для встановлення параметрів моделювання і вибору методу розв'язання системи рівнянь необхідно вибрати опцію Parameters меню Simulation. При цьому Simulink відкриває діалогове вікно Simulation Parameter, яке для того, щоб керувати параметрами моделювання, використовує такі три закладки:
■ сторінку Solver, що дас змогу встановлювати час початку і закінчення моделювання, вибирати метод розв'язання системи рівнянь і встановлювати його параметри, а також визначати певні опції виводу результатів;
■ сторінку Workspace I/O, яка керує вводом і виводом до робочої області вікна Matlab;
■ сторінку Diagnostics, що дозволяє вибрати рівень попереджувальних повідомлень, які будуть висвітлюватись протягом моделювання;
■ cторінку Solver, що з'являється після вибору закладки Parameters меню Simulation або вибору закладки Solver.
Діалогове вікно Simulation Parameter. Час моделювання. Для зміни часового діапазону моделювання необхідно ввести нові значення часу в областях Start time і Slop time. Заданий за замовчуванням час початку моделювання - 0.0 секунд, а час завершення - 10.0 секунд. Час моделювання і фактичний час не є однаковим. Наприклад, виконання моделювання протягом 10 с може не тривати 10 с. Кількість часу для моделювання залежить від багатьох факторів, включаючи складність моделі, крок методу розв'язування, швидкодію комп'ютера.
Симулювання моделі системи в Simulink відбувається методами числового інтегрування систем диференційно-різницевих рівнянь. Simulink забезпечує використання низки методів розв'язування таких рівнянь. Для одержання достовірних результатів необхідно бути уважним у виборі методу розв'язання і встановлення його параметрів. Середовище дозволяє використовувати методи з постійним кроком (fixed-step) і змінним кроком (variable-step), які змінюють значення кроку протягом моделювання і забезпечують контроль похибки і виявлення проходження через нуль. До методів із змінним кроком належать ode45, ode23, ode 113, odel5s, ode23s і discrete. За замовчуванням для моделювання неперервних систем встановлено odc45 та discrete для дискретних систем. До методів з постійним кроком належать ode5, ode4, odc3, ode2, odel і discrete. Методи розв'язування систем диференційних рівнянь для визначення похибки на кожному кроці інтегрування використовують стандартні локальні методи контролю похибки. Протягом кожного кроку обчислюються значення змінних стану наприкінці кроку і визначається локальна похибка на основі оцінки похибки цих значень. Потім порівнюються локальна похибка з допустимою похибкою, яка є функцією відносної похибки (rtol) і абсолютної похибки (atol). Якщо обчислена похибка є більшою, ніж допустима похибка для будь-якої змінної стану, тоді значення кроку змінюється і значення змінних стану перераховуються.
Область Output options діалогового вікна дає змогу керувати виводом результатів моделювання. Вибір опції Refine output забезпечує вивід додаткових точок у випадку, коли результати моделювання виведені з занадто великим кроком. Цей параметр забезпечує вивід цілого числа точок між часовими точками; наприклад, заданий коефіцієнт 2 забезпечує вивід результату і на половині кроку інтегрування. Значення за замовчуванням – 1. Опція Produce additional output дозволяє точно визначати ті додаткові значення часу, в які будуть виведені результати розрахунку. Після вибору цієї опції Simulink виділяє область Output Times на сторінці Solver. У цій області необхідно задати вираз Matlab, який обчислює значення додаткових точок виводу або задати ці точки у вигляді вектора. На відміну від коефіцієнта Refine Output ця опція змінює значення кроку моделювання так, щоб кроки часу збігалися з моментами часу, що визначені для додаткового виводу. Опція Produce Specified Output Only забезпечує вивід результатів моделювання тільки в точно встановлені моменти часу. Ця опція також змінює значення кроку моделювання так, щоб кроки часу збігалися з моментами часу, що визначені для виводу результатів.
Для використання встановлених параметрів моделювання та обраного методу числового інтегрування необхідно натиснути кнопку Apply, розміщену внизу діалогового вікна. Для того, щоб застосовувати вибрані параметри моделювання і закрити діалогове вікно, треба натиснути кнопку Close.
Запуск режиму моделювання. Після того, як визначені параметри розрахунку для створеної моделі, Simulink готовий розпочати її розрахунок. Запуск функціонування моделі в середовищі Simulink здійснюється шляхом натискання піктограм Simulation та Start або використання комбінації клавіш Ctrl-T. Після виконання команди Start відбувається зміна пункту меню Simulation і з'являється команда Stop. Зупинити розрахунок моделі можна вибором Stop меню Simulation або натиснувши Ctrl-T, як і для початку моделювання. Для тимчасового припинення моделювання вибирають команду Pause меню Simulation. Після вибору цієї команди відбувається зміна пункту меню на Continue. Для продовження припиненого моделювання вибирають команду Continue.
3. Алгоритм моделювання систем у середовищі Simulink. Для здійснення моделювання системи у середовищі Simulink необхідно виконати такі кроки:
Відкрити нове вікно дня створення моделі.
Помістити в нього блоки, які формують задану модель.
З'єднати порти виходу та входу блоків за допомогою сполучних ліній.
Задати параметри елементів моделі.
Помістити у вікно моделі блоки виводу результатів розрахунку.
За допомогою відгалужень подати сигнали з відповідних точоксхеми на входи блоків виводу результатів.
Задати параметри моделювання і вибрати метод числовогоінтегрування системи диференційних рівнянь. Якщо необхідно,задати опції виводу результатів розрахунку.
Зберегти модель системи у вигляді файлу.
Запустити моделювання.
4. Приклад моделювання системи у середовищі Simulink. Застосування описаних вище операцій для формування моделі та розрахунку її динаміки розглянемо на прикладі дослідження системи, показаної на рис. 4. Згідно з вищенаведеним алгоритмом треба відкрити нове вікно для створення моделі системи. Для цього слід натиснути кнопку New Model на інструментальній панелі Library Browser. Досліджувана система складається з чотирьох блоків: джерела стрибкоподібного вхідного сигналу, суматора, інтегратора та коефіцієнта підсилення. Ці блоки необхідно скопіювати у вікно створення моделі. Для цього треба виконати такі дії:
■ шляхом натискання клавіші "мишки" на вершині Simulink розкрити дерево Бібліотечного Вікна перегляду;
■ виділити вершину бібліотеки Sources і натиснути клавішу "мишки", в результаті чого отримується доступ до блоків цієї Бібліотеки;
■ вибрати блок Step і, утримуючи ліву клавішу миші в натиснутому положенні, перемістити вершину вибраного блоку з вікна перегляду у вікно моделі;
■ відпустити клавішу "мишки"; закрити бібліотеку Sources, натиснувши клавішу "мишки" на її вершині.
Аналогічно у вікно створення моделі копіюються блоки Sum та Gain з Бібліотеки Math, блок Integrator з Бібліотеки Continuous та блок Scope з бібліотеки Sinks.
Для реалізації від'ємного зворотнього зв'язку необхідно змінити параметри блоку Sum. Для цього треба двічі натиснути ліву клавішу "мишки" на піктограмі блоку Sum. Внаслідок цього розкривається вікно зміни параметрів блока.
Знищити блоки у блок-схемі моделі можна такими двома способами:
виділити окремо кожний блок і видалити його, як будь-який інший блок Simulink;
використати команду Remove Input/Output Points меню Simulmk у LTI Viewer.
Розвернемо блок Gain на 180. Для цього виділимо цей блок, натиснувши на ньому клавішею "мишки" і виконаємо команду Flip Block меню Format. З'єднаємо блоки за допомогою ліній за принциповою схемою моделі. Для цього розмістимо курсор над портом виводу першого блоку. Натиснемо клавішу "мишки" та утримаємо її в цьому положенні. Перемістимо показник курсору на порт входу другого блоку. Відпустимо клавішу "мишки". Simulink замінює символи порту сполучною лінією зі стрілкою. Аналогічно виконуються інші з'єднання елементів схеми. Внаслідок виконаних операцій вікно створення моделі матиме вигляд, показаний на рис. 4.
Рис. 4. Вигляд вікна створення моделі після операції копіювання блоків.
Для виводу результатів розрахунку у вікно моделювання помістимо блок Scope бібліотеки Sinks. Для виводу вхідного та вихідного сигналу системи в одному вікні об'єднаємо ці сигнали у вектор виводу за допомогою блоку Мих Бібліотеки Signal & Systems, який також необхідно помістити у вікно створення моделі. Сигнали на порти блоку Мих подаються за допомогою створення відгалужень. Для того, щоб створити відгалуження, необхідно встановити курсор на лінії у тому місці, звідки має починатись відгалуження і, утримуючи праву кнопку "мишки", перемістити курсор "мишки" на порт входу блоку Мих. Порт виходу блоку Мих з'єднується з портом входу блоку Scope (рис. 4).
Графіки часових характеристик сигналів у будь-яких точках моделі можуть бути отримані шляхом подвійного натискання на ліву клавішу "мишки" при знаходженні курсору у межах блоку Scope (рис. 5). Для налагодження параметрів виводу графіка необхідно натиснути па панелі інструментів піктограму налагодження параметрів. Внаслідок цього відкриється діалогове вікно блоку Scope, яке мас дві закладки: General та Dala history. Для зміни діапазону виводу по осі ординат необхідно в області
Рис. 14. Графіки часових характеристик сигналів моделі.
виведеної осі ординат натиснути праву клавішу "мишки", внаслідок чого з'явиться діалогове вікно для встановлення таких параметрів: мінімального значення по осі У; максимального значення по осі У; назви графіка.
Для аналізу частини моделі потрібно на блок-схемі моделі за допомогою блоків Input Point та Output Point вікна Model Inputs and Outputs відзначити її вхідний та вихідний сигнали. Для встановлення маркерів необхідно виділити блок у вікні Model Inputs and Outputs. Утримуючи натиснутою ліву клавішу "мишки", блок треба перетягнути у вікно моделі і помістити його у заданому місці над лінією зв'язку. Потім слід відпустити клавішу "мишки", після чого блок автоматично встановиться у вибраному місці. Розміщення блоків Input Point та Output Point у моделі не вносить змін у її структуру.
Можливим є аналіз іншої моделі, сформованої на основі вибраної блок-схеми. Формування іншої моделі можна здійснити так:
змінити параметри елементів моделі;
перевизначити робочу точку;
змінити розміщення блоків Input/Output Points .
Для завершення роботи в середовищі Simulink треба закрити всі вікна Simulink. Для завершення роботи у середовищі Matlab необхідно виконати команду Exit Matlab меню File.
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Які сучасні програми математичного моделювання використовуються для побудови та дослідження моделей систем?
2. Яке призначення тулбоксу Neural Networks?
3. Як запустити програму в кодах Matlab?
4. Для чого призначений тулбокс Simulink?
5. Як створити нову модель в середовищі Simulink?
6. Як запускається модель в середовищі Simulink?
7. Назвати та пояснити основні кроки алгоритму створення моделі в середовищі Simulink.
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Ознайомитися з теоретичними відомостями
Увімкнути комп'ютер. Переконатись у наявності встановленої програми Matlab.
Запустити програму Matlab і тулбокс Simulink та ознайомитися з описом Simulink.
Сформувати в середовищі Simulink аналогову модель помножувача частоти гармонічних сигналів. Структурно-функціональна схема помножувача, сконструйована на базі блоків інтегрування сигналів, перемноження, ділення, підсилення, сумування, віднімання та видобування квадратного кореня, показана на рис. 15.
Для вхідного сигналу x(t)=Asin(t, де А=2n – амплітуда, (=5n - частота, n - № прізвища студента в списку групи, а при початкові умови: , , , , K=1.3, tє[0;2(/(] отримати вихідний сигнал y(t).
Вивести на монітор часові залежності вхідного та вихідного сигналів помножувача частоти x(t), y(t).
Порівняти отримані результати з аналогічними результатами, отриманими іншими студентами.
Проінформувати викладача про завершення роботи.
Продемонструвати на комп’ютері та пояснити результати виконання отриманих завдань.
Оформити звіт.
Рис. 15. Структурно-функціональна схема аналогового помножувача частоти гармонічних сигналів.
ЗМІСТ ЗВІТУ
1. Титульний аркуш.
2. Зміст.
3. Мета роботи.
4. Короткі теоретичні відомості.
5. Завдання.
6. Хід роботи.
7. Отримані результати.
8. Висновки.
ВИМОГИ ДО ЗВІТУ
Звіт повинен бути оформлений на стандартних листках формату А4. Звіт може бути надрукований (розмір шрифта – 14, інтервал між рядками – 1.5) або якісно написаний від руки українською мовою. В обох випадках текст розміщується на двох сторонах аркуша. Рекомендується розміщувати до 30 рядків на сторінці.
На аркушах слід залишати поля. Розмір лівого поля – 25 мм, правого – не менше 10 мм, верхнього і нижнього – не менше 20мм. На початку розділів рекомендується збільшувати розмір верхнього поля до 40 мм.
Нумерація сторінок має бути наскрізною, першою сторінкою є титульний лист. На титульному листі номер сторінки не ставиться.
Звіт повинен бути стислим, чітким, лаконічним і містити лише інформацію, що має пряме відношення до предмету дослідження. Обсяг теоретичних відомостей не повинен перевищувати двох сторінок.
РЕКОМЕНДОВАНА ЛІТЕРАТУРА
1. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. Специальный справочник.-СПб.: Питер, 2001.-480с.
2. Лозинський А., Мороз В., Паранчук Я. Розв’язування задач електромеханіки в середовищах пакетів MathCAD і MATLAB: Навчальний посібник. - Львів: Видавництво Національного університету “Львівська політехніка”, 2000.-166 с.
3. Потемкин В.Г. Система инженерных и научных расчетов МАТЛАБ 5.x:-В 2-х т. Том 1.-М.: ДИАЛОГ-МИФИ, 1999.-366с.
4. Потемкин В.Г. Система инженерных и научных расчетов МАТЛАБ 5.x:-В 2-х т. Том 2.-М.: ДИАЛОГ-МИФИ, 1999.-304с.
5. Сайт http://www.mathworks.com.
6. Довідка (Help) програми Matlab.
НАВЧАЛЬНЕ ВИДАННЯ
ОСНОВИ КОМП’ЮТЕРНОГО МОДЕЛЮВАННЯ СИСТЕМ
В СЕРЕДОВИЩІ ТУЛБОКСУ SIMULINK ПРОГРАМИ MATLAB
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторної роботи № 2
з дисципліни “Моделювання систем”
для студентів спеціальності 7.080402
“Інформаційні технології проектування”
Укладач: Тимощук Павло Володимирович