ПРИМЕНА НА СОФТВЕР СО ОТВОРЕН КОД ЗА МОДЕЛСКИ БАЗИРАНО ДИЗАЈНИРАЊЕ НА МЕХАТРОНИЧКИ СИСТЕМИ AПСТРАКТ Доцент д-р Гордана Јаневска Технички факултет Битола, Универзитет Св.Климент Охридски - Битола Ул.Иво Лола Рибар бб., Битола Р.Македонија ++389 47 207 727 gordana.janevska@tfb.uklo.edu.mk Дизајнот на мехатроничките системи може да се направи со т.н. V модел (VDI упатствo 2206). Голема улога во ова упатство има моделирањето и анализата на моделот во домените на машинството, електротехниката и информатиката. Обично се користат комерцијални софтверски алатки за дизајн на мехатронички системи. MATLAB/Simulink и нивните палети алатки се добро познати како водечки софтвер за оваа намена, а постојат и други. Сепак, од интерес е да се знаат и алтернативите со отворен код. Во трудот се наведени некои од нив, a особено внимание е посветено на Scilab/Xcos. Презентиран е Xcos програмoт и преку еден едноставен пример е покажано како во оваа околина да се формализира динамички систем со познат физички и математички модел. Клучни зборови: Мехатроника, моделски базиран дизајн, софтвер со отворен код, Scilab/Xcos Abstract: The design of mechatronic systems could be done with the so-called V model (VDI guideline 2206). A major role in this guideline has modelling and model analysis in the domains mechanical engineering, electrical engineering and information technology. Usually, commercial software tools are used to design mechatronic systems. MATLAB/Simulink and its toolboxes are well-known as leading software for model-based design of mechatronic systems, but many others should be added. On the other hand, it is of interest to know Open Source alternatives for it. Some of these alternatives are noted in the paper and Scilab/Xcos is particularly discussed. Also, the paper presents the Xcos program and using simple example presents the way how to formalise dynamic system with known physical and mathematical model in this environment. Key word: Mechatronics, model-based design, open source software, Scilab/ Xcos 1. ВОВЕД Пред десет години слободниот софтвер беше одобрен како многу корисен во областа на информатичката технологија, а изразот "Слободен и софтвер со отворен код" ( Free and Open Source Software, FOSS) беше воведен за да се истакне разликата во однос на "слободен" во смисла на бесплатeн. Наместо тоа значење, FOSS се залага
за слободен пристап до изворниот код на софтверот. Од тогаш FOSS е развиен до успешен бизнис модел за компјутерски програми. Во информатичката технологија не постои сомнеж во Linux како многу добар оперативен систем за мрежен сервер. Најголемиот супер компјутер работи под Linux, а Linux е веќе и лидер на пазарот како вграден оперативен систем кај вградени системи. Но FOSS е, се разбира, повеќе од Linux, тој вклучува исто така и други многу успешни серверски апликации. Од аспект на користење на софтверот во мехатрониката, на пр., мало претпријатие за развој на мехатронички системи кое развива вакви системи во согласност со инструкциите на VDI 2206 упатството (упатство за развој на такви системи со користење на моделски базиран дизајн), треба да инвестира во соодветен софтвер и мора годишно да плаќа високи цени за одржување на софтверот. Во спротивно ќе ја загуби можноста за понатамошен развој на софтверот, а со тоа и своите клиенти. Од овој аспект, може да се разгледаат и фактите за користење на FOSS (слободниот софтвер) како додаток кон многу корисни постоечки софтверски алатки. Bruce Perens започнува со користење на изразот FOSS (слободен и софтвер со отворен код) и дава добра анализа на економската корист. Тоа вклучува слободен пристап до изворниот код, поттикнување на други компании, дури и конкуренти, да се приклучат во развој на софтвер и да ги споделат трошоците, па така да се забрза овој развој. 2. СОФТВЕР ВО МЕХАТРОНИКАТА MATLAB/Simulink и нивните палети (алатки) се добро познати како водечки софтвер за моделски базиран дизајн на мехатронички системи. MATLAB/Simulink е лидер на пазарот во развојот и симулација на системи за управување. Ова може да се заклучи и од ценовникот на MathWorks. Малите инженеринг канцеларии имаат финансиски проблеми со купување и одржување на производите на MathWorks. Затоа е од интерес да се знаат алтернативи за истите. Покрај MATLAB постојат таканаречени други делумно специјализирани алатки како Modelica/Dymola, ADAMS, ANSYS, ASCET MD/RP, AMESim, CarMaker, DSpace, SimulationX и многу други. Википедија наведува некои алтернативи за MATLAB/Simulink на http://en.wikipedia.org/wiki/matlab#alternatives. Препорачливо е да се работи со GNU Octave.org и со Scilab.org. GNU Octave, или кратко Octave, се развива како клон на MATLAB веќе со децении. Таа работи на оперативни системи како MS Windows, Linux, Mac OS X и други. Користи MATLAB датотеки, всушност вклучува функции на т.н. Control System Toolbox (MATLAB), но недостаток е тоа што во Octave не постои графички едитор за градење на блок дијаграми како што е Simulink во MATLAB. Oваа програма може да се користи, на пример како вовед на MATLAB, наместо MATLAB, и секој студент може да ja користи без да има проблеми со лиценци. За индустриска употреба недостигаат интерфејси за други програми и екстензии за реално време. Документацијата е достапна преку интернет (online), а веќе постои и одредена литература. Друг начин на моделирање на системи е предложен од Универзитетот во Беркли со развојот на Ptolemy II. Ова е ветувачка алатка и веќе содржи алатки за работа во реално време. Можеби тој ќе овозможи не само моделирање, туку и реализација на експерименти во реално време, а посебно би било корисно користење на компајлери за брзо софтверско прототипирање директно од тестираните модели. Постојат и некои други слободни софтверски алатки, како на пр., FreeMat кој е клон на MATLAB и процесира MATLAB скрипти (записи), потоа JMathLib и сл.
Често користен слободен софтвер со отворен пристап, на кој е ставен и акцентот во овој труд, е Scilab/Xcos. Scilab/Xcos е софтверска алатка со графички едитор за блок дијаграми која е споредлива со MATLAB/Simulink. 3. SCILAB / XCOS Развиен од 1990 година од страна на истражувачите од францускиот владаин институт INRIA ("Institut Nationale de Recherche en informatique et en Automatique", т.е. Национален институт за истражување во информатиката и автоматиката), SciLab сега се одржува и развива од страна на Scilab Конзорциумот од неговото создавање во мај 2003. Се дистрибуира слободно преку интернет и е софтвер со отворен код уште од 1994 година. SciLab во моментов се користи во образовните и индустриските средини низ целиот свет. Клучна карактеристика на SciLab синтаксата е неговата способност за работа со матрици: основните матрични пресметки како транспонирање веднаш се извршуваат, како и основните операции како собирање или множење. SciLab, исто така, може да работи и со посложени објекти од нумеричките матрици. На пример, оние што работат во областа на управувањето можат да работат со рационални или полиномни преносни матрици. т.е. SciLab овозможува природно симболичко прикажување на комплицирани математички објекти како што се преносна функција, линеарни системи или графици. Почнувајќи со верзија 5.4, објавена во октомври 2012, Scilab доаѓа заедно со пригоден кориснички интерфејс, со прелистувач на датотеки, прелистувач на променливи, команда историја и команден прозорец. Едиторот SciNotes се отвора како посебен прозорец. Сличнo на Simulink, има графички интерфејс за блок дијаграми наречен Xcos, и библиотека на компоненти. Xcos е графички базиран софтвер за моделирање на динамички системи. Во Xcos може да се создадат блок дијаграми кои ќе се користат за моделирање и симулација на динамиката на хибридни динамички системи и моделите да се компајлираат во извршен код. Новите екстензии овозможуваат извршување на управување во реално време, како и компонентно базирано моделирање на електрични и хидраулични кола. За да се покаже како се работи со оваа софтверска алатка со отворен код, овде е презентиран еден пример. 4. ПРИМЕР Реалните системи може да се транспонираат во теоретски модели низ четири чекори. Реалниот системот се поедноставува, што резултира со физички модел, за кој може да бидат напишани математички равенки, кои го даваат математичкиот модел. Тој се решава со пресметковен модел, а резултатите се визуелизираат со симулација. Xcos се користи за двата последни чекори на теоретското моделирање. 4.1. Развивање на математички модел на системот кој ќе се симулира Системот кој е симулиран е резервоар со течност, со пумпа и доводен и одводен вентил (сл.1). Симулаторот ќе го пресметува и прикажува нивото h во текот на времето. Симулацијата се одвива во реално време, со тоа давајќи чувство на "вистински" систем. Всушност, бидејќи овој резервоар е малку спор, овде симулацијата е забрзана за симулациското време да трче побрзо отколку реалното време, за да се избегне непотребно губење време. Корисникот може да го прилагоди влезот со прилагодување на управувачкиот сигнал на пумпата, u.
а) б) Слика 1. а) Физички модел на резервоар со течност и б) Математички блок дијаграм за диференцијална равенка (3) Секој симулатор е базиран на математички модел на системот кој треба да биде симулиран. Според тоа, треба да биде развиен математички модел на резервоарот. Преку воведување на добро разгледани и издржани претпоставки, реалниот систем се поедноставува и на тој начин се формира физичкиот модел. Овде се воведени следните претпоставки (параметрите кои се користени во изразите подолу се дефинирани на сл.1а): Течноста е некомпресибилана, т.е. густина на течноста е ρ = const.; Резервоарот има прави, вертикални ѕидови, т.е. A = const.; Масата и нивото на течноста во резервоарот се поврзани со равенката: ( ) = h( ) Доводниот волуменски проток низ пумпата е пропорционален со управувачкиот сигнал на пумпата: ( ) = ( ) Одводниот волуменски проток низ вентилот е пропорционален со квадратниот корен од падот на притисок на вентилот. Овој пад на притисок се претпоставува дека е еднаков на хидростатичкиот притисок на дното на резервоарот: ( ) = h( ) Врз основа на законот за одржување на материјата, може да се напише равенката на континуитет за течноста во резервоарот: ( ) = ( ) ( ) (1) или, имајќи ги предвид горенаведените релации, се добива: [ ( )] = ( ) h( ) (2) Врз основа на горната равенка може да се нацрта математичкиот блок дијаграм на моделот. Овој блок дијаграм потоа ќе се имплементира во блок дијаграм на симулаторот. Како соодветна почетна точка за цртање на математичкиот блок дијаграм, добиената диференцијална равенка (2) ќе ја запишеме како модел во простор на состојби, односно во форма изводот од прв ред да биде сам на левата страна, при што диференцијална равенка ја добива следната форма: [ ( )] = А ( ) h( ) (3)
Горната равенка е диференцијална равенка за h(t), т.е. математички модел на разгледуваниот резервоар. Според истата, h(t) може да се пресмета (со помош на симулаторот) со интегрирање на dh(t)/dt во однос на времето, од момент 0 до момент t, со почетна вредност h(0), која овде е означена со h init. За да се нацрта блок дијаграм на моделот (3), може да се почне со додавање на интегратор на празен блок дијаграм. Влез на овај интегратор е dh/dt, а излезот е h(t). Потоа, се додаваат блокови со математички функции за изградба на изразот за dh/dt, кој е претставен со десната страна на равенката (3). Конечниот блок дијаграм за моделот (3) е прикажан на сл1.б). 4.2. Изградба на блок-дијаграм во Xcos и симулација на системот Xcos обезбедува многу елементарни блокови организирани во различни палети (Palettes) до кои може да се пристапи преку прелистувачот на палети (Palette browser - Xcos). Блоковите од палетите може да се копираат во главниот Xcos прозорецот со кликнување прво на саканиот блок, а потоа на локација каде блок треба да биде копиран во Xcos прозорецот. Блоковите, потоа, се поврзуваат меѓусебно со врски, што се остварува на природен начин со помош на глувчето на компјутерот. Блоковите може да се конфигурираат со двојно кликнување на самиот блок и внесување на соодветните нумерички или (по можност) на контекст променливи (параметари) со одредено име. Симулацискиот блок дијаграм на резервоарот со течност изграден во Xcos е прикажан на сл.2. Слика 2. Симулациски блок дијаграм на резервоарот со течност во Xcos Во симулацијата на нивото на разгледуваниот резервоар со течност, почетната вредност на нивото е 0,5 m. Управувачкиот сигнал на пумпа u е 0 до симулациско време 20 s, и на 20 s тоj се менува со чекор 0-0,01 А. Симулацијата е од почетeн момент 0 s до конечeн моент од 50 s. Нумеричките вредности на параметрите се: ρ = 1000 [kg/m 3 ] g = 9,81[m/s 2 ] K v = 0,0005 K u = 5 [m 3 /A] A = 1[m 2 ] h init = 0,5 [m] h max = 1[m] h min = 0 [m]
Претпоставено е дека постојат граници на ниво "алармот", кои треба да се цртаат заедно со нивото во симулаторот. Границите се: h AH = 0,9 m (горен аларм) и h AL = 0,1 m (долен аларм). Резултатите од симулацијата се прикажани на сликите 3а и 3б. а) б) Слика 3. a) Симулација на управувачкиот сигнал на пумпата, u; б) Oдзив на нивото h и ниво алармните вредности h AL = 0,1 m и h AH = 0,9 m Заклучок Со цел подобро организиран развој на FOSS (слободен и софтвер со отворен код) со компании како клиенти на овие алатки, во 2006 е основана OSADL (Open Source Automation Development Lab, т.е. Лабораторијата за развој на автоматизација со отворен код). Овде се приклучуваат компании од машинското инженерство, од електростопанство и електроника, од компјутерската технологија, како и универзитети со цел да се дефинираат нови и отворени стандарди во автоматизација. Во труд се посочени алтернативи за MATLAB/Simulink. Софтверските алатки со отворен код Scilab/Xcos и GNU Octave се две алтернативи, кои се подготвени за користење во образованието и во индустријата. Алатките се поддржани од страна на компанија (Scilab/Xcos), односно од страна на интернет заедницата (Octave). Документација, упатства и друга помош се достапни на интернет. Во трудот, исто така, се презентирани некои аспекти на Xcos формализмот. Прикажано е моделирање на динамички системи на прецизен и едноставен начин со користење на Xcos околина како модел за пресметка и симулација, што се последни чекори во теоретското моделирање. Сепак, треба да се истакне дека главни предности на MATLAB/Simulink се на пр. огромното количество на палети алатки и професионалната поддршка од страна на MathWorks ширум светот. Користена литература [1] Lohöfener, М., Design of Mechatronic Systems and Benefit of Open Source Software Tools, 9 th International Workshop on Research and Education in Mechatronics, Sep.18th 19th 2008, Bergamo, IT [2] Campbell, S. L., Chancelier, J., Nikoukhah, R., Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4, Springer, 2 nd ed. 2010. [3] Scilab Open source software for numerical computation, Documentation, http://www.scilab.org/resources/documentation.