Лекція 6. Структурне моделювання мехатронних систем

 

До введення загальних понять моделювання та математичної моделі визначимо об'єкт моделювання з точки зору теорії моделювання. Таким об'єктом у нашому випадку є електромеханічна система, що включає в себе сукупність електрорухаючого, перетворювального, передавального і керуючого пристроїв, які є з точки зору теорії моделювання динамічною системою.

Під системою розуміють [3] сукупність предметів як реальних, так і ідеальних, яка якимось чином організована. Таку сукупність називають полем системи, а дані, які описують організацію системи, – характеристиками. Коли ні поле системи, ні її характеристики не залежать від часу, говорять про статичну систему. Системи, характеристики яких або їх поле змінюються в часі, називаються динамічними. Динамічні системи є головним об'єктом вивчення імітаційного моделювання. Статичні системи застосовуються в дослідженні, зазвичай, як ідеальні і розглядаються як стан динамічної системи.

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

Модель – це деяка аналогія: для однієї системи повинна існувати інша система, елементи якої з певної точки зору подібні елементам першого; існує деяке відображення, яке елементи модельованої системи ставлять у відповідність елементам іншої системи – моделюючої. Таке відображення називають елементною частиною моделі. А відображення, яке властивості елементів модельованої системи ставить у відповідність властивостями елементів моделюючої системи, будемо називати атрибутною частиною моделі.

Наприклад, механічний передавальний пристрій може бути змодельований електронною схемою так, що механічним вузлам будуть відповідати елементи електронної схеми (тобто задана елементна частина), а механічними властивостями – електричні властивості елементів електронної схеми (тобто задана елементна частина).

Для моделей динамічних систем необхідно, щоб одночасним явищам в модельованій системі відповідали явища, що відбуваються в моделюючій системі також одночасно. Це необхідно для того, щоб була можливість проводити з моделюючою системою експерименти, залежні від попередніх станів системи. У динамічних моделях повинна також існувати тимчасова частина, яка відображає явища, що відбувають в моделюючій системі в певний момент I, на аналогічні явища, що відбуваються в моделюючій системі зазвичай в інший час, однак одночасним явищам в модельованій системі завжди відповідають також одночасні явища в моделюючій системі.

Імітаційна модель це динамічна модель, тимчасова частина якої відображає час невтрачаючим.

Крім того, слід зазначити, що модель ніколи не означає просто систему, Завжди необхідно виявити, що є моделлю і з якої точки зору. Модель певне співвідношення між двома системами, одну з яких називаємо модельованою системою (оригіналом), а іншу - моделюючою системою (моделлю).

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

Імітаційне моделювання метод дослідження, ґрунтований на тому, що динамічна система, що вивчається, замінюється її імітатором, і з ним проводяться експерименти в цілях отримання інформації про систему, що вивчається.

На даний час більшість імітаторів реалізуються на ЕОМ, проте можлива їх реалізація у вигляді фізичних об'єктів, наприклад, у вигляді механічних і електронних систем і т. п.

Мехатронні системи, прикладами яких можуть служити автоматизований електропривод, системи управління об'єктами, що рухаються, робототехнічні комплекси і тому подібне, відносяться до класу безперервно-дискретних динамічних систем.

Початковий математичний опис будь-якої динамічної системи є сукупністю диференціальних, алгебричних, логічних рівнянь з нелінійними безперервно-дискретними правими частинами, що описують фізичні процеси в окремих функціональних елементах системи. Пряме використання вказаного математичного опису для побудови імітаційних моделей представляється дуже скрутним. Вимагається методологія створення універсальних імітаційних моделей і засобів їх автоматизованої реалізації.

Для фахівців в області автоматизованого електроприводу і електромеханічних систем найбільш прийнятним є блоковий принцип формування моделей. Крім того, ефективне рішення завдань моделювання сучасних електромеханічних систем можливо за наявності спеціалізованих програмно-технічних комплексів, побудованих з урахуванням наступних основних вимог :

·                    діалог з обчислювальною системою повинен вестися на природній професійній мові фахівця в конкретній технічній області;

·                    має бути надана можливість оперативної постановки імітаційних експериментів з моделями технічних систем;

·                    програмне забезпечення вказаних комплексів повинне мати у своєму складі засоби налаштування на конкретних клас об'єктів, що вивчаються, і конкретний колектив користувачів.

Теоретичною базою вказаних завдань стала запропонована В.Н. Нуждіним концепція структурного моделювання динамічних систем, в якій можна виділити чотири основні положення.

1.            Процес моделювання представляється у вигляді комплексу дій :

·                    опис моделі на деякій формальній мові;

·                    технічна реалізація моделі на ЕОМ;

·                    постановка серії експериментів на моделі;

·                    аналіз результатів моделювання;

·                    оформлення документації.

2.            Організація взаємодії між користувачем і обчислювальною системою повинна здійснюватися на основі природної мови фахівців в області мехатронних систем (МС). Початковою ланкою для організації цієї взаємодії має бути структурна модель ЕМС.

3.            Велика частина робіт по формуванню моделей, плануванню обчислювального процесу і оформленню результатів моделювання має бути покладена на обчислювальну систему. Користувач повинен тільки ставити завдання і оцінювати отримані результати.

4.            Постановка експериментів на структурних моделях повинна здійснюватися в цілях:

імітації функціонування МС в умовах взаємодії із зовнішнім  середовищем;

пошуку оптимальних параметрів і структур МС;

перевірки адекватності і корисності нових варіантів моделей (передатних, дослідницьких і т. п.);

навчання і тренування;

отримання нових знань.

Центральне місце в концепції структурного моделювання відводиться наступним поняттям.

Структурна модель деяка схема зі взаємозв'язаних елементів, що виділяються по фізичному призначенню або виконуваній математичній функції. З'єднання між елементами в структурній моделі можуть відбувати інформаційні, енергетичні або просторові зв'язки. Зовні структурна модель може представлятися у вигляді блок-схем, функціональних схем, структурних схем, графів.

Залежно від виду елементів моделі і зв'язків між ними можна виділити чотири рівні представлення структурних моделей : алгоритмічний, математичний, функціональний і описовий.

Алгоритмічний рівень опису структурної моделі – опис моделі у вигляді деякої схеми, елементи якої використовуються ЕОМ безпосередньо для планування обчислювального процесу. Опис моделі на алгоритмічному рівні містить усі необхідні дані для організації обчислень.

Математичний рівень опису структурної моделі – опис моделі у вигляді сукупності блоків рівнянь. Блок рівнянь (система рівнянь) виділяється за функціональним або фізичним принципом, що дозволяє формувати моделі, близькі по структурі реальній технічній системі. При такому поелементному описі завжди можуть бути виділені динамічні ланки, які описуються лінійними диференціальними рівняннями, нелінійними і дискретними функціями "вхід-вихід", алгебраїчними, логічними рівняннями і т. д. Традиційні структурні схеми і графи є найбільш характерними прикладами структурних моделей математичного рівня. Математичний рівень опису структурних моделей не може безпосередньо використовуватися для організації обчислювального процесу, оскільки потрібний попередній вибір методу чисельного рішення рівнянь і умов застосування цього методу.

Функціональний рівень опису структурної моделі – опис моделі у вигляді схеми з'єднання фізичних елементів МС або їх окремих частин (електродвигун, перетворювач і т. п.). Структура схеми повинна відбивати характерні властивості досліджуваною МС, достатні для її ідентифікації в заданому класі математичних моделей.

Об'єднання фрагментів схем структурних моделей математичного рівня, що складаються з базових елементів або математичних рівнянь, в інтегровані блоки, що відповідають реальним фізичним ланкам або їх складовим частинам, дозволяє перейти до структурних моделей функціонального рівня. Останні значною мірою адекватні функціональним схемам СК ЭМО.

Описовий рівень структурної моделі – представлення моделі у вигляді одного блоку, параметри якого вказують структурні і параметричні властивості досліджуваної системи.

Пакети Simulink і Stateflow, працюючі разом з Matlab, поступово набувають в нашій країні все більшого поширення. Матеріалу про них, приведеного нижче, цілком достатньо для першого ознайомлення з технологією роботи в цих середовищах, але головне, він ілюструє підхід до побудови гібридних систем, що базується на картах стану Харела. Карти стану прекрасно зарекомендували себе при розробці дискретних систем, їх намагаються застосувати і для проектування гібридних систем. Просте рішення припускає роздільний опис дискретної і безперервної поведінки і використання карт станів для управління безперервними процесами. У попередніх версіях пакету Model Vision ми, як і розробники StateFlow, використали саме цей підхід, але потім відмовилися від нього. На наш погляд, роздільний опис безперервних і дискретних процесів є джерелом помилок при описі гібридної поведінки. У користувачів пакету Simulink виникають додаткові труднощі, поєднання існуючої графічної мови для побудови моделей і карт стану пакету StateFlow призводить до дуже складно сприйманої моделі.

У пакеті Simulink користувач має справу з графічною формою мови моделювання, в якій класи представлені у вигляді облаштувань (блоків) двох типів : "вхід-вихід" (наприклад integrator (Інтегратор)) і "вхід-вихід – стан" (наприклад state – space (Лінійна система вхід-вихід-стан)).

Насправді вони явно не визначені, але для простоти викладу вважатимемо, що ми маємо справу саме з ними. Різні по функціональному призначенню класи зібрані у бібліотеки: безперервні, дискретні, нелінійні, математичні блоки, джерела, приймачі, генератори.

В результаті виконання операції drag – and – drop (перемістити графічний об'єкт в задане місце за допомогою миші) графічний образ класу переноситься з бібліотеки класів в пристрій-контейнер (вікно моделі) і створюється екземпляр класу зі значеннями параметрів, заданими за умовчанням, які, при необхідності можуть бути змінені. Користувачеві доступні "входи", "виходи" і "параметри" екземпляра блоку. Усі інші деталі реалізації бібліотечного класу приховані (інкапсульовані) усередині нього. Новий призначений для користувача клас може бути зібраний тільки з існуючих і оформлений як бібліотечний клас Subsystem (Підсистема). Ще одним прикладом класу може служити сама модель, що грає роль пристрою-контейнера для проектування нових пристроїв і випробувальним стендом при запуску моделі по команді Simulation/Run.

Відношення "батько-нащадок" між класами в явному виді в Simulink також не існує, але легко впізнанний. Наприклад, можна вважати, що суматор з числом входів, великим двох, є нащадком класу Sum (Суматор), що має за умовчанням два входи. Наявність в Simulink безперервних і дискретних блоків і можливість їх одночасного використання вже дозволяє говорити про гібридні системи. Для опису систем з різним типом поведінки ("зміна рівнянь") в Simulink можуть бути використані облаштування типу Switch (Перемикач) або зумовлений набір блоків, що реалізовують частинно-безперервні періодичні функції. Для опису пристроїв, у яких стрибком міняються лише параметри ("зміна значень параметрів"), краще всього використати засоби, що надаються додатковим програмним продуктом StateFlow, заснованому, як ми вже відмічали, на використанні карт стану Харела.

Пакет Omsim і мова моделювання Omola є попередниками пакету Dymola і мови Modelica. Про пакет Omsim і мові моделювання Omola можна було б не згадувати, хоч би вже тому, що вони призначені для робочих станцій і під MS Windows не модифікувалися, але в них можна знайти багато що з того, що було потім перенесено в пакет Dymola і мова Modelica. Мова Modelica інтенсивно розвивається і модифікується останнім часом і про його закінчену форму на даний час говорити ще рано, тому ми вирішили лише коротко описати і саме середовище моделювання, і мову. У нашій країні ці пакети на даний час ще мало поширені. Матеріал, що наводиться нижче, вибраний нами, як приклад реалізованого підходу до конструювання класів при об'єктно-орієнтованому моделюванні.

Дані пакети і мови цікаві також тим, що підтримують блоки з ненапрямленими зв'язками. Використання блоків з ненапрямленими зв'язками надзвичайно привабливо, але математичні проблеми, що виникають при цьому, не такі прості, як стверджують прибічники цього підходу. Проте, судячи зі змін, що вносяться у вхідну мову, автори починають усвідомлювати серйозність проблем, що виникають при рішенні алгебро-диференціальних рівнянь. Видавництво Kluwer Academic Publishers, www.wkap.nl, оголосило про вихід у світ першої книги з пакету Modelica : "Introduction to Physical Modeling with Modelica", написаною М. Тиллером.

Графічне середовище Model Vision Studium є прикладом підходу, що базується на понятті гібридного автомата. Середовище детально описане в роботі [13], але і вона зазнає постійні зміни. Початківців ми посилаємо до нашої попередньої книги, а тут приводимо короткий опис сучасного її стану. У додатку можна знайти сьогоднішню версію мови MVL. У поєднанні з довідковими файлами демонстраційної версії цього вистачає для освоєння пакету тими, хто вже мав справу з графічними середовищами моделювання.

Підсистема Simulink пакету Matlab. Серед великої кількості пакетів візуального моделювання пакет Matlab займає особливе місце. Спочатку орієнтований на дослідницькі проекти, пакет в останні роки став робочим інструментом інженерів-проектувальників, викладачів і студентів. Однією з основних причин широкого використання Matlab є широкий набір засобів, що надаються користувачеві для вирішення різноманітних інженерних і наукових завдань. Серед цих засобів особливе місце займає підсистема Simulink.

Основні властивості підсистеми Simulink. Підсистема Simulink – це інтерактивне середовище для моделювання та аналізу широкого класу динамічних систем, що використовує графічний мову блок-діаграм.

Підсистема Simulink:

– надає можливість моделювання безперервних, дискретних і гібридних – як лінійних, так і нелінійних – систем;

– включає в себе велику бібліотеку блоків (безперервні елементи, дискретні елементи, математичні функції, нелінійні елементи, джерела сигналів, засоби відображення, додаткові блоки), які можна використовувати для створення нових систем;

– дозволяє об'єднувати блок-діаграми в складові блоки, що забезпечує ієрархічне представлення структури моделі;

– містить засоби для створення блоків і бібліотек, визначених користувачем;

– дає можливість проектувати підсистеми, мають змінну в часі структуру, але ці можливості дуже обмежені.

Починаючи з версії 3.0, в Simulink з'явилися спеціалізовані додатки, значно розширили її можливості, зокрема:

– підсистема Stateflow – дає можливість моделювати поведінку гібридних або складних подієво-керованих систем, базуючись на картах стану Харела. Вже створені користувачами пакета Simulink моделі розглядаються як об'єкти, закон управління якими реалізується в StateFlow;

– підсистема Stateflow Coder призначена для генерації С-коду при реалізації діаграм Stateflow. Застосовуючи Stateflow і Stateflow Coder, користувач може генерувати потрібний код на алгоритмічній мові С тільки для керуючих моделлю блоків, реалізованих за допомогою Stateflow;

– підсистема Real-Time Workshop доповнює Simulink і Stateflow Coder, забезпечуючи автоматичну генерацію коду С для моделей, розроблених в Simulink;

– підсистема Simulink Report Generator дозволяє створювати і настроювати звіти з моделей Simulink і Stateflow в різних форматах, серед яких HTML, RTF, XML і SGML.

У даній главі розглядаються тільки сама підсистема Simulink і її найістотніше доповнення – Stateflow.