Dr. Lipovszki György TECHNIKAI RENDSZEREK MODELLEZÉSE GRAFIKUS PROGRAMOZÁSÚ NYELV ALKALMAZÁSÁVAL ABSTRACT A new promising member of the high level programming languages is the graphical programming language. Researchers and teachers of the Faculty of Mechanical Engineering of Budapest University of Technology and Economy apply National Instruments LabVIEW graphical programming language for measurement and modeling tasks. Departments of the Faculty developed several program systems and complex programs during the last few years. The aim of this program development was to reduce distance between the modern theory and its practical application. This presentation gives an overview of the developed programs, program systems and their applications. 1. BEVEZETÉS A számítógépes szimuláció szerepe napról-napra növekszik, nem csak a műszaki- és természettudományokban, hanem egyre több területen, így például a közgazdaságtanban és a biológiában is. A számítástechnika eszközeinek rohamos fejlődése mellett az utóbbi néhány évtized az újabb és újabb szimulációs módszerek és programrendszerek megjelenését is magával hozta. A szimuláció segítségével a matematika eszközeivel leképezett rendszereken lehet vizsgálatokat végezni, illetve a korszerű irányítási rendszereket ezen modellek alkalmazásával lehet a minőségi elvárásoknak megfelelő módon behangolni. A szimuláció szerepe a műszaki oktatásban, különösen pedig a gépészmérnökképzésben is lényeges, hiszen a gépészmérnöki tudomány a differenciálegyenletrendszerekkel leírható különböző valóságos például mechanikai, hidraulikus és termikus rendszerek működésének vizsgálatával foglalkozik. A Budapesti Műszaki és Gazdaságtudományi Egyetem Gépészmérnöki Karának Gépészeti Informatika Tanszékén a számítógépes szimuláció több tantárgy oktatásban is fontos szerepet játszik.
2. SZÁMÍTÓGÉPES SZIMULÁCIÓ AZ OKTATÁSBAN A számítógépes szimuláció hallgatói feladatok formájában már az 1980-as évek végén szerves része lett a Rendszertechnika tantárgy oktatásnak. A hallgatók három fős csoportokban a TUTSIM szimulációs programot használták egy valóságos rendszer (pl. gépkocsi lengéscsillapítója, víztároló, mágneses lebegtetésű vasút) modellezésére, és a modellen szimulációs kísérletek elvégzésére. A Rendszertechnika mellett a Szabályozáselmélet oktatásában is helyet kap a szimuláció a hallgatók számára tartott laborgyakorlatokon és a házi feladatok megoldásánál. Az oktatási anyagokban szintén szerepelnek szabályozási körökkel kapcsolatos vizsgálatokra alkalmas mintaprogramok. Az alapozó tárgyakon kívül a tanszék által gondozott Gépészeti Informatika modul különböző tárgyaiban is megjelenik a számítógépes szimuláció. A Számítógépes irányítások, Sztochasztikus rendszerek és Energiarendszerek szimulációja tantárgyak a szimulációt mint segédeszközt alkalmazzák. A Számítógépes szimuláció tárgy a szimuláció módszereinek és eszközeinek bemutatásával foglalkozik. A hallgatók az előadásokon a szimulációs rendszerek alapelemeit és a szimuláció módszereit ismerik meg. Ezután minden hallgató egy önálló feladatot kap, amelynek megoldásánál a gyakorlatban alkalmazza az elméleti ismereteket. A házi feladatok a Gépészmérnöki Karon oktatott tantárgyakhoz kapcsolódnak, így például a különböző mechanikai és robottechnikai rendszerek vizsgálata mellett szerepelnek többek között épületgépészeti, hőtechnikai és áramlástani feladatok is. Jelentős szerepet kap a számítógépes szimuláció a PhD hallgatók oktatásában is, akik alapozó tantárgyakban és kutatási témáikhoz kapcsolódó speciális mérési, feldolgozási és irányítási feladatok megoldásához alkalmaznak szimulációt. A folytonos rendszerek szimulációja mellett az oktatásban megjelentek olyan szimulációs programok, amelyek lehetővé teszik diszkrét események szimulációját is. Ezek a programok biztosítják, hogy a szimulációs rendszerek általános működési alapelvét, az állapotgép típusú működést bemutassuk.
3. AZ OKTATÁSBAN ALKALMAZOTT SZIMULÁCIÓS KERETPROGRAMOK A hallgatók a szimuláció oktatása során először egy folytonos rendszereket modellező programmal találkoznak (RITSIM), amely lehetőséget nyújt arra, hogy egyszerűbb technikai rendszerek vizsgálatára. (RITSIM = Rendszer és Irányítástechnika Tanszék SzIMulációs program) A RITSIM egy Delphi programnyelven megírt szimulációs keretrendszer, amelyet a tanszéken egyik kollégánk Gräff József fejlesztettek ki. A RITSIM az analóg számítógépnél megszokott blokkok (integrátor, összegző, együttható) mellett különböző nemlineáris és feltételes elemeket, valamint szabályozástechnikai blokkokat is tartalmaz. A programot mérete és viszonylag egyszerű kezelhetősége miatt a Rendszertechnika házi feladatok elkészítéséhez a diákok általánosan alkalmazzák, bár egyre többen térnek át a grafikus programozású szimulációs keretrendszer alkalmazására. A differenciálegyenlettel leírt rendszer alapján megrajzolt blokkvázlat (1. ábra) alapján lehet a RITSIM blokkokat megadni a program szövegszerkesztőjében. Az eredmények megjelenítése mind numerikusan, mind pedig grafikusan (diagramokkal) lehetséges. A szoftverek és operációs rendszerek fejlődésének következő lépéseként a Windows alatt futó LabVIEW környezetben a tanszéken kifejlesztett TUBSIM szimulációs keretrendszer is megjelent a választható szimulációs keretprogramok listáján. (TUBSIM = Technical University of Budapest SIMulation System) A TUBSIM rendszer a RITSIM jelölési konvencióit követi, azonos funkciójú szimulációs blokkokkal. A modellben többször előforduló részrendszerek (pl. egy erőművi hőséma hőcserélői) eljárásokkal írhatók le, ezzel a szimulációs program rövidebb, jobban áttekinthető. A TUBSIM alkalmas összetett ipari folyamatok vizsgálatára is, amit több oktatási és gyakorlati alkalmazás is bizonyít. m [kg] F(t) [N] x [m] PLS F KC_D PLOT + SUM - m FE DIV X2P. x(0) INT d X1P x(0) INT c X PLOT c [N/m] d [Ns/m] CON + SUM + M KD MUL D KC CON MUL C CON dt t max TIME 1. ábra: RITSIM modell
Jelenleg a TUBSIM rendszer LabVIEW-alapú megvalósítása a leggyakrabban alkalmazott keretrendszer tanszékünk oktatásában, amelyet az előadás szerzője fejlesztett ki. A LabVIEW egy grafikus programozású (G-nyelv), több platformon (Windows, Unix, Linux, MacOS) elérhető programrendszer. A LabVIEW eredetileg folyamatirányításra és mérésadatgyűjtésre készült, mára azonban általános célú programozási nyelvvé vált. A LabVIEW programok két részből állnak, a grafikus felhasználói felületből (2. ábra), és a tényleges programot tartalmazó diagramból (3. ábra). A LabVIEW blokkok szubrutinként több szinten egymásba ágyazhatók, ezért ez a rendszer különösen alkalmas a moduláris programozásra. 2. ábra: Számítógépes szimulációs feladat felhasználói felület A LabVIEW-alapú TUBSIM rendszer lassan teljesen átveszi a RITSIM szerepét a Rendszertechnika tárgy házi feladatainak megoldásában. Programozása könnyen elsajátítható, a modellek blokkdiagramját kell a rendelkezésre álló elemekből felépíteni. Ezzel az előző két programnál elengedhetetlen lépés a blokkvázlat szöveges algoritmussá konvertálása
elmarad, a fejlesztés sokkal gyorsabb lesz, a hibák feltárása egyszerűsödik. Az eredmények megjelenítésére és a szimulációs paraméterek beállítására változatos lehetőségek állnak rendelkezésre (2. ábra). 3. ábra: Számítógépes szimulációs feladat program diagram A differenciálegyenletek megoldását biztosító szimulációs keretrendszer mellett számos további keretrendszer is készült. Ilyenek például az Dr. Aradi Petra kolléganő által készített a frekvenciatartománybeli vizsgálatokra alkalmas szintén LabVIEW-alapú programcsomag. Egy másik általa készített kiegészítés - a TUBSIM rendszerhez illeszkedően - a fuzzy logikán alapuló rendszermodellek és fuzzy szabályozók alkalmazását teszi lehetővé a szimulációkban. A LabVIEW rendszer a tanszék más tárgyainak oktatásában is jelentős szerepet kap, ahol a hallgatók a számítógépes szimuláció feladatainak megoldásánál kifejlesztett blokkokat alkalmazzák. A választható és a már megoldott feladatok az Interneten keresztül is elérhetők: http://www.rit.bme.hu/letoltheto/szamszim/f_0/hazi_fea.html
Diszkrét események szimulációjához készült az a LabVIEW alapú keretprogram, amely együttműködik a TUBSIM rendszerrel, így tovább szélesíti annak alkalmazhatóságát. A diszkrét események szimulációja nagyon bonyolult felépítésű modellezési feladatok megoldását teszi lehetővé. Ezekben a modellekben nagyszámú hatás működik együttesen, amely kölcsönösen befolyásolják egymást, ezen kívül a folyamatok általános jellemzője, hogy a bennük szereplő állapotváltozók valószínűségi változók (illetve ezek függvénye) alapján kapnak értékét. Ezért van szükség olyan modellező keretrendszerre: amellyel jelentősen csökkenthető a modell megépítésére fordított idő, lehetővé teszi, hogy különböző bemeneti paraméter értékek mellett megvizsgálhassuk az egyes események következményeit, amellyel intelligens optimalizáló algoritmusokat próbálhatunk ki. 4. ábra: Diszkrét esemény szimulátor felhasználói felület A szimulációs feladatok széles skálája oldható meg a programcsomag segítségével. A következő listában néhányat sorolunk fel az alkalmazások köréből:
q gyártósorok működésének vizsgálata, (robotok, gépek, szállítószalagok rendszere) q raktárak üzemének mennyiségi és időadatai, q automatikus (robot) szállító eszközök (AGV) rendszerének szállítási kapacitása, q hivatali és szervezeti modellek optimális működtetése, q általános sorbanállási rendszerek. 5. ábra: Diszkrét esemény szimulátor program diagram A diszkrét esemény szimulációs rendszer gyakorlati alkalmazásában szorosan együttműködünk a BME, Gépészmérnöki Kar, Gépgyártástechnológia Tanszékével, ahol az automatikus gyártórendszerek tervezésével és irányításával kapcsolatos oktatási és kutatási feladatok megoldásánál alkalmazzuk a keretrendszert. (4. és 5. ábra) Jelenleg olyan fejlesztéseket folytatunk, amelyek az egyes szimulációs blokkokban szereplő algoritmusok és az egész szimulációs rendszer sebességét és ezzel a megoldható feladatok nagyságát tovább növeli. Ehhez Delphi nyelven írt.dll rutinokat alkalmazunk. 4. ÖSSZEFOGLALÁS A számítógépes szimuláció új lehetőségeket nyitott a gépészmérnökképzésben előforduló fizikai rendszerek szemléletes bemutatására. Az oktatásban bemutatott korszerű szimulációs módszerek és programok az ipari alkalmazásokban is megállják a helyüket, és ezzel versenyképes, valamint a gyakorlatban közvetlenül alkalmazható tudást adnak a jövő gépészmérnökeinek.
IRODALOM [1] Lipovszki, Gy., Aradi, P.: General Purpose Block Oriented Simulation System Using LabVIEW, NIWeek 95 User Symposium Proceedings, pp 6/19-30. [2] Aradi, P.: Fuzzy Extensions of the TUBSIM Simulation System, ICCIMA 98, pp. 465-470. [3] LabVIEW User Manual National Insrtuments January 2000 Edition A szerző elérhetősége: Budapesti Műszaki és Gazdaságtudományi Egyetem, Gépészeti Informatika Tanszék, 1111. Budapest, Goldmann Gy. tér 3. V2. 541. Email: lipovszki@rit.bme.hu