Kó dgenerá lá s e s GUI fejleszte s Mátláb- Simulink kó rnyezetben

Hasonló dokumentumok
Matlab Fuzzy Logic Toolbox

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

Soros felépítésű folytonos PID szabályozó

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Végfelhasználói Applet kézikönyv

Programozási technológia

Delphi programozás I.

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

HVK Adminisztrátori használati útmutató

Tanúsítvány igénylése sportegyesületek számára

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

C programozási nyelv

Mechatronika segédlet 10. gyakorlat

Képek és grafikák használata

Technikai információk fejlesztőknek

Táblázatkezelés, Diagramkészítés. Egyéb műveletek

Már megismert fogalmak áttekintése

Választó lekérdezés létrehozása

Távolléti díj kezelése a Novitax programban

Programozási technológia

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Kulcs Számla frissítés

Digitális aláíró program telepítése az ERA rendszeren

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

New Default Standard.ipt

Számítógépes gyakorlat Irányítási rendszerek szintézise

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

M-Fájlok létrehozása MATLAB-ban

8. SZERSZÁMGÉP ANIMÁCIÓ

Swing GUI készítése NetBeans IDE segítségével

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

Kezelési utasítás. F129 Modell CMG-BD1

Nyolcbites számláló mintaprojekt

Digitális aláíró program telepítése az ERA rendszeren

Tanúsítvány feltöltése Micardo kártyára

cím létrehozása

A FileZilla program beállítása az első belépés alkalmával

Hurokegyenlet alakja, ha az áram irányával megegyező feszültségeséseket tekintjük pozitívnak:

Java-s Nyomtatványkitöltő Program Súgó

Telenor Webiroda. Kezdő lépések

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

Diagram létrehozása. 1. ábra Minta a diagramkészítéshez

"Eseményekre imm/connection Server scriptek futtatása

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Cikk előkalkuláció - Művelet - Egyéb fix és változó költségek

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Algoritmus terv 3. Fejezet: Folyamatok meghatározása

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

OOP és UML Áttekintés

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Online naptár használata

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

RapidMiner telepítés i. RapidMiner telepítés

Grafikus folyamatmonitorizálás

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Segédlet az Eger Megyei Jogú Város Polgármesteri Hivatal által kiadott, EGERPH_1431-es építményadó bevallásához használt elektronikus nyomtatványhoz.

PDF DOKUMENTUMOK LÉTREHOZÁSA

Duál Reklám weboldal Adminisztrátor kézikönyv

Easton420. Automata Telefon hangrögzítő. V 6.0 Telepítése Windows XP rendszerre

Téradatbázisok használata QGIS-ből A DB kezelő modul 2.2 verzió

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

ÚTMUTATÓ az RVTV portálon történő ciklus beállításhoz

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Szöveges fájlok szerkesztése Jegyzettömb használata

ArchiPHYSIK 8.0 telepítési útmutató

A MOKKA hitelesítő szoftver telepítése és használata

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Digitális aláírás általános telepítése és ellenőrzése

Ipari kemencék PID irányítása

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Raszter georeferálás QGIS-ben Összeállította: dr. Siki Zoltán verzióra aktualizálta: Jáky András

Ellenőrző keretprogram (eesztconnect.exe)

VBA makrók aláírása Office 2007 esetén

Hozzávalók keresése és csatolása

Teljesítményprognosztizáló program FELHASZNÁLÓI KÉZIKÖNYV

1. DVNAV letöltése és telepítése

Microsoft Office PowerPoint 2007 fájlműveletei

VARIO Face 2.0 Felhasználói kézikönyv

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

RIEL Elektronikai Kft v1.0

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Operációs rendszerek. Az NT folyamatok kezelése

ArchiPHYSIK AutoCAD Architecture kapcsolat használata

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

Java telepítése és beállítása

Mobil Partner telepítési és használati útmutató

Kézikönyv online bérletvásárláshoz

Segédlet az Eger Megyei Jogú Város Polgármesteri Hivatal által kiadott, PHEGER_1231-es építményadó bevallásához használt elektronikus nyomtatványhoz.

BaBér bérügyviteli rendszer telepítési segédlete év

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Átírás:

Kó dgenerá lá s e s GUI fejleszte s Mátláb- Simulink kó rnyezetben A mérés célja: A Simulink környezet egyes kódgenerálási szolgáltatásainak megismerése és elsajátítása, továbbá grafikus felhasználói felület létrehozása Matlab alatt, a GUIDE eszköz megismerése. Felhasznált eszközök: (IK Cloud architektúra http://cloud.ik.bme.hu), Matlab R2012a, Simulink, GUIDE, Matlab Compiler. Rendelkezésre álló, letölthető állományok: Mérési útmutató (jelen leírás) Holtidos_szakasz.jpg (szakasz működését szemléltető ábra) 1. feladat Egyszerű alkalmazás grafikus felülettel A feladat grafikus felhasználói felület (GUI) létrehozása, amely támogatja, hogy egy holtidős, egytárolós szakaszhoz PI szabályzóméretezést végezzünk 1. A PI szabályzót egy fűtött folyadékot keringető berendezés (például dialízisgép) hőmérséklet szabályozójához kell megtervezni, amelynek sémája az ábrán látható. u holtidő y konstans áramlás fűtőszál hőmérséklet érzékelő A szakasz viselkedése egy adott hőmérséklet, mint munkaponti érték környékén jól jellemezhető egy átviteli függvénnyel: W(s) = szabályzót. A 1+sT exp ( st h). Ehhez az átviteli függvényhez tervezünk egy W PI (s) = A p 1+sT i T i s átvitelű PI Megoldás: A fejlesztést a GUIDE eszköz segítségével végezzük, amelyet parancssorból indíthatunk a guide utasítással. 1 PI szabályozó méretezése a Rendszerelmélet (VIHVAB00) tárgyból szerepelt

A későbbiekben mintákkal is dolgozhatunk, most egy üres felülettel (Blank GUI) indítsunk. A felhasználói felület mentésekor két állomány jön létre. Feltéve, hogy az ún. PI_designer elnevezést adjuk a Matlab alatti alkalmazásnak, ezek az alábbiak: 2. PI_designer.fig a GUI ablak Matlab alatti megjelenése 3. PI_designer.m a GUI mögötti kód, amely részben generált, részben a felhasználó által módosított. A GUI-hoz tartozó kódot a GUIDE generálja, abban a megfelelő helyekre beírt kód határozza meg a GUI viselkedését eseményvezérelt programozási paradigma szerint. A szerkesztőfelület értelemszerű, a bal oldalon találhatók a nézeten elhelyezhető objektumok. Editor megnyitása a callback függvény szerkesztéséhez Az egyes objektumok és a teljes felület tagsági változóinak értékeit a Tulajdonság böngésző (Inspector) segítségével módosíthatjuk és itt ugorhatunk az adott objektum callback függvényire is. Az Image_frame objektum osztálya az Axes. A benne szereplő jpg képet az erre szolgáló imshow metódus meghívásával lehet beilleszteni, méghozzá az Axes objektum Create eseményéhez tartozó kezelőfüggvényébe. A kezelő függvény a 2006a verzióban úgy generálódik, hogy az %automatic szót kell beírni a függvény melletti mezőbe, majd elmenteni a GUI-t, de ezt a 2012a verzió már magától elvégzi.

Az elkészült diagram értelemszerű, futtatáskor az alábbi felületet kapjuk: A tervező eljárást egy különálló függvényben célszerű implementálni, hogy a fázistartalék például 60 fok. A méretezés a korábban tanultak alapján mindössze három sor. Ha készen vagyunk, akkor már csak a Méretezés gomb eseménykezelő függvényét kell létrehoznunk és megírnunk a PI_designer.m állományban: kiszedjük az értékeket a szövegdobozokból itt hívjuk meg a tervezést végrehajtó függvényt az eredményeket a megfelelő szövegdobozba írjuk be Ha rendelkezésünkre áll a Matlab Compiler eszköz, akkor lehetőségünk van különálló alkalmazás létrehozására a mcc -m PI_designer.m paranccsal, amely hatására egy exe állomány keletkezik.

2. feladat A PI méretező módosítása Módosítsa az előző feladat nyomán keletkezett alkalmazást, hogy a fázistartalék értékét is a felhasználó adhassa meg! 3. feladat A PI méretező tesztelése szimulációval Hozzon létre egy Simulink modellt a zárt szabályozási kör szimulációjához, amelynek munkaterében szerepelnek változóként a szakasz és a szabályzó paraméterei! Egészítse ki a felhasználói felületet, hogy a szabályzó méretezése nyomán a zárt kör szimulációjának eredménye a felületen megjelenjen (egységugrás alapjel esetén). Megoldás: A Matlabon belül nem csak az alap munkatér (Base Workspace) tartalmazhat változókat, minden Simulink modellnek is van saját munkatere. A szabályozási körünk paramétereit a modell munkaterében hozzuk létre a modellböngésző (Model Explorer) segítségével. Ehhez először egy modellt kell megnyitni. Model Explorer megnyitása A modellböngészőben a model munkaterében egyszerűen létrehozhatjuk és inicializálhatjuk a változókat az összes paraméter számára (szakasz és szabályzó). A változókra a modell blokkjainak párbeszéd ablakában hivatkozhatunk. A Simulink modellben a holtidőt is kezelő LTI blokkot használunk és a szimulált kimenetet egy mat fájlba mentjük.

A felhasználói felületet ki kell egészíteni egy Axes típusú objektummal, amelyben a szimulált tranzienst fogjuk megjeleníteni. természetesen ezt megintcsak a GUIDE segítségével tesszük meg. Utolsó lépésként a felhasználó felületen korábban is szereplő egyetlen gomb kezelőfüggvényének kiegészítésére van szükség, amely a tervezésen kívül módosítja a modell munkaterében található változókat lefuttatja a szimulációt betölti az eredményeket tartalmazó állományt törli az aktuális tranzienst és a helyére kirajzolja az újat Az alábbi utasítások állnak rendelkezésünkre: Simulink modellünk megnyitására a load_system utasítás szolgál A munkatérhez tartozó handle-t a get_param utasítás adja vissza Valamely munkatér változójához az assignin utasítással férhetünk hozzá Modellünk szimulációját az sim utasítással kezdeményezetjük A keletkező kód alább látható

4. feladat A szimulációs idő változtatása Egészítse ki az előző feladatban kapott alkalmazást, hogy a szimuláció időtartalma mindig automatikusan a beállított holtidő ötszöröse legyen! A szimulációs idő a Simulink modell egyik paramétere és közvetlenül beállítható a sim utasítás egy argumentumaként (v.ö. doc sim).

5. feladat Kódgenerálás Simulink diagrammból A feladat egy S-függvény C kódú megvalósítása egy Simulink modellben, majd C kódból annak kifordítása és futtatás normál üzemmódban. 1. ábra: S-függvény C kódú megadását lehetővé tevő S-Funtion Builder a Simulink könyvtárban A S-Function Builder a User-Defined Functions könyvtárban található. A modellbe behelyezve egy párbeszédablak segítségével adhatjuk meg az S-függvényekhez tartozó metódusok (kimenet számítása - Outputs, folytonos idejű állapotok deriváltjainak számítása Continuous Derivatives, diszkrét idejű állapotok aktualizálása Discrete Update) C kódját. A kód megadása előtt a bemenetek, kimenetek és állapotok dimenzióit és a paramétereket is meg kell adni, illetve létre kell hozni.

A kódrészleteket a megfelelő füleknél tudjuk megadni a C szintaxist követve. A fordítást külső fordítóval, vagy a Matlabbal járó lcc fordítóval hajthatjuk végre. Az mbuild setup parancs segítségével jelölhetjük ki a fordítót. A kód bevitele nyomán a Build parancs állítja elő a Matlabon kívül végrehajtható kódot. Fontos, hogy a kód végrehajtását továbbra is a Matlab vezérli, azaz nem külső (External futtatásról van szó). Válasszon egy rendszert az alábbi kettő közül és a megfelelő dinamikát kódolja C nyelven S függvény segítségével és szimulálja le az eredményt! Választhatja az előző mérésen bevezetett buszmodellt is. y P Fal tömeg k1( x) k2( x) m1 z 1 =0 tömeg m2 z 2 =0 F= u x q x A bal oldali ábrán szereplő két rugó lineráis, az egyenleteket az egyes tömegek gyorsulását leíró differenciálegyenletek adják. A jobb oldalon szereplő kiskocsi egyenletei pedig az alábbiak: x = cos(θ) u 1 y = sin(θ) u 1 θ = u 2

6. feladat külső kód generálása Simulink Coder segítségével A Simulink modellből történő kódgeneráláshoz a Configuration parameters dialógusablak Code Generation csoportját kell megfelelően beállítani. A Build parancs a modell eszközsorában is megtalálható. A HSZK gyakorlat során nem áll rendelkezésre külső, valós idejű target, a cloud megvalósítás miatt pedig a Windows alá telepíthető valós idejű mag sem használható (ennek egyik oka, hogy a virtuális gép 64 bites operációs rendszert futtat, ami nem kompatibilis a rendelkezésre álló RT maggal). A fentiek miatt külső futtatásra az ún. Generic RT target (GRT) használata mutatkozik célszerűnek. Ehhez az ennek megfelelő System target állományt kell kiválasztani a Code Generation fülnél. A fordítást elvégezve egy exe állományt kapunk, amelyet a Matlab parancsssorból a! segítségével az operációs rendszernek elküldött paranccsal, vagy cmd ablakból indíthatunk el, immáron a Matlabtól függetlenül, azaz külső módban. A szimuláció eredménye egy.mat állományba kerül, ahonnan a Matlab munkaterébe egyszerű módon importálható.