К.С. Соколан, кандидат технічних наук

Хмельницький національний університет

 

Середовище представлення складних механічних систем

 

 

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

Independent software complex, that was developed for calculation of virtual processes of cutting, visualization and imitation of work of mechanical attachments.

 

Ключові слова: прототипування, моделювання, механічна система, булева операція.

 

Вступ

Моделювання виробничого обладнання досить перспективна галузь САПР. Спрощенні моделі різноманітних приладів можуть використовуватися як в навчальних цілях (переважно) так і в якості засобів дистанційного керування, діагностики та моніторингу реальних механічних агрегатів. Застосування динамічних комп’ютерних моделей дозволяє  проводити більш ефективно процес навчання та надавати не лише теоретичні а і практичні знання студентам. Це здешевлює вартість  навчального обладнання, зменшує ризик виникнення ЧП, дозволяє навчатись практикуватись будь – де, за наявності лише ПК та відповідного ПЗ. Також такі системи можуть використовуватися в промисловості для створення макетів, прототипів – віртуальних діючих механізмів.

 

Постановка проблеми

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

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

 

Мета і завдання досліджень

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

 

Реалізація

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

        Visual Studio 2008 Express C#

        .NET 3.5

        MEF (Managed Extensibility Framework)

        OpenCSG

        WPF 3.5

        XAML

        SolidWorks 2009

        XML

        XNA

        MS Access 2007

        MS Expression Blender

Коротко розглянемо деякі з технологій. Microsoft Visual Studio Express - лінійка безкоштовних інтегрованих середовищ розробки, спрощена версія Microsoft Visual Studio, розробленої компанією Microsoft. .NET Framework - програмна технологія, платформа для виконання MSIL - коду від компанії Microsoft, призначена для створення звичайних програм та веб-додатків. Managed Extensibility Framework (MEF) - це механізм, який дозволяє мінімумом коду впровадити в проекти підтримку розширюваності (наприклад, плагінів). Windows Presentation Foundation (WPF, кодова назва - Avalon) - графічна (презентаційна) підсистема в складі. NET Framework 3.0, що має пряме відношення до XAML. WPF разом з. NET Framework 3.0 встановлена в Windows Vista, а також доступна для установки в Windows XP SP2 і Windows Server 2003. XAML (англ. eXtensible Application Markup Language - розширювана мова розмітки додатків) - заснована на XML мова розмітки для декларативного програмування додатків, розроблений Microsoft. Microsoft XNA (англ. XNA's Not Acronymed) - набір інструментів з керованою середовищем часу виконання (.NET), створений Microsoft, що полегшує розробку і керування комп'ютерними іграми. XNA прагне звільнити розробку ігор від написання «повторюваного шаблонів коду» та об'єднати різні аспекти розробки ігор в одній системі. Досить зручним є використання даної для підтримки різноманітних засобів введення інформації (маніпулятори, джойстик, геймпади).

 

Розглянемо основні алгоритми що були реалізовані у даній САПР.

Конструктивна блочна геометрія (Constructive Solid Geometry / CSG) технологія, що використовується в моделюванні твердих тіл. Конструктивна блочна геометрія часто, але не завжди, є способом моделювання в тривимірній графіці та САПР. Вона дозволяє створити складну сцену або об'єкт за допомогою бітових операцій для комбінування декількох інших об'єктів. Це дозволяє більш просто математично описати складні об'єкти, хоча не завжди операції проходять з використанням тільки простих тел. Так, часто за допомогою конструктивної блокової геометрії представляють моделі або поверхні, які виглядають візуально складними; насправді, вони є трохи більше ніж розуноскомбінованими або декомбінованими простими об'єктами. У деяких випадках конструктивна блокова геометрія виповнюється за допомогою полігональних сіток (англ. polygonal mesh), і може бути процедурної та / або параметричної.

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

Щоб реалізувати завантаження і обробку різноманітних моделей заготовок, не залежно від параметрів які потрібно задати при їх створенні реалізуємо наступну програмну архітектуру (Рис. 1). Базовими елементами є абстрактний клас Figure3D, завдяки якому ми можемо реалізувати заготовки будь-якої форми та параметризації. Базовими заготовками є циліндр та паралелепіпед. Використовуючи клас BooleanOpp можна виконувати асинхронні розрахунки операції перетину 2-х тривимірних фігур (Рис. 2).

Рисунок 1. – Архітектура абстракції заготовки.

Рисунок 2. – Архітектура класів для роботи із булевими операціями.

 

Інтерфейс та реалізація що імітує поведінку і забезпечує контролювання такого елемента механічних систем, як патрон (Рис. 3). Компонент керує лише параметрами обертання і задає положення елемента в системі і просторі але не описує його зовнішній вигляд.

Рисунок 3. – Імплементація абстракції патрон.

 

На рисунку 4 діаграма компонента для з’єднання  з альтернативними засобами введення, такими як MS XBOX 360 Controller. Даний компонент забезпечує фоновий моніторинг і опитування щойно підключеного пристрою та приймає команди введення. Також реалізована підтримка зворотної дії.

Рисунок 4. – Базований на XNA компонент сполучення із пристроями введення.

 

Загальну модульну архітектуру проекту демонструє наступна діаграма (Рис. 5). Розглянемо детально її вузли.

Рисунок 5 – Загальна компонентна структура.

Модуль Device Presentation Core (Ядро представлення обладнання) це динамічна бібліотека що є спільним компонентом для усіх додатків в проекті. Реалізовує базові механізми, такі як:

CSG - булеві операції;

MEF Plugin  - механізм завантаження плагінів із реалізацєю певної механічної моделі);

Res Loader  - клас для асинхронного завантаження ресурсів моделі;

Visual3D Controls – користувацьке представлення органів керування механізмом.

Device Model – загальна модель, сукупність параметрів та характеристик змодельованого механічно пристрою;

Модуль  Device Presentation Environment є користувацьким додатком для завантаження перегляду та взаємодії із віртуальними пристроями \ обладнанням. Він сполучений із базою даних (модуль MS Access DB), яка в свою чергу містить інформацію про всі наявні для завантаження моделі пристроїв (шляхи до файлів із ресурсами, логікою та опису роботи елементів керування).

 

Рисунок 6. Структура головної таблиці БД.

 

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

Перше, що необхідно втілити в реальність, при побудові віртуального макету – це, безпосередньо його зовнішній вигляд. Розробка віртуального представлення об’єкту прототипування, в залежності від обраного середовища 3D моделювання та конкретизації зовнішнього вигляду моделі, може займати від 25% до 35% часу, що витрачається в загальному на роботу із проектом (Рис. 7. 3D Model ). Даний етап реалізується на досить високому рівні, за допомогою існуючих середовищ моделювання (3Ds Max, Solid Works, Maya) і не потребує розробки власних рішень, на даному етапі.

 

 

Рисунок 7. - 3D модель обладнання.

 

 

Рисунок 8. Процес створення віртуальної моделі механічної системи.

 

Наступний крок – створення бізнес-логіки моделі (Рис. 8. Behavior logic). На початку даного кроку визначається математична модель чи набір правил що буде реалізовувати даний макет. Уточнюється кількість параметрів та обирається ступінь деталізації параметрів моделі, як частини реального світу. Результатом завершення етапу побудови моделі поведінки є програмна реалізація внутрішньої логіки механічної системи що моделюється. Цей етап займає близько 20% часу, що витрачається на побудову візуального інтерактивного пристрою. Середовище представлення складних механічних систем забезпечує простий та інтуїтивний програмний інтерфейс для створення окремих незалежних модулів бізнес-логіки. Також для автоматизації певних етапів розробки бізнес-логіки, та спрощення рутинних операцій було створено спеціальний засіб – середовище візуального програмування інтерфейсу механічного пристрою.

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

Отже побудова механічної моделі на основі запропонованої платформи – середовища представлення складних механізованих систем дозволяє зменшити час повного циклу розробки на 40..50% що є хорошим показником, як для першої версії даного програмного продукту.

Рисунок 9. - Загальний вигляд спроектованої віртуальної моделі токарного верстату.

 

Результати

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

 

Рисунок 10. – Конфігурування параметрів заготовки, перед початком обробки на віртуальному верстаті.

 

 

 

Джерела інформації:

1.                 Офіційний сайт MEF Framework:  http://mef.codeplex.com/

2.                 Документація для розробників: http://msdn.microsoft.com/ru-ru/default.aspx

3.                 ІТ-форуми: http://habrahabr.ru/, http://forum.ixbt.com/

4.                 Блог розробника MEF: http://codebetter.com/blogs/glenn.block/

5.                 Офіційний сайт розробників XNA: http://creators.xna.com/en-US/

6.                 Мак-Дональд, Мэтью. Windows Presentation в .NET 3.5 с примерами на C# 2008 для профессионалов, 2-е издание: Пер. с англ. – М.: ООО «И.Д.Вильямс», 2008. – 928 с.