Irányítórendszerek gyors prototípustervezésének szoftvereszközei
A tantárgy angol neve: Rapid Control Prototyping
Adatlap utolsó módosítása: 2010. november 3.
Tantárgy lejárati dátuma: 2013. január 31.
Mérnök Informatikus Szak
Villamosmérnöki Szak
Szabadon választható tantárgy
Szabályozástechnika, méréstechnika, programozás
-
Kötelező előtanulmányi követelmény: a Szabályozástechnika (kódja VIIIA303 a villamosmérnöki szakon és VIAUA309 a mérnök-informatikus szakon) tárgy kreditjeinek megszerzése
A tantárgy célja, hogy a hallgatók megismerjék az irányítástechnikai és rendszerfelügyeleti célú gyors prototípustervezés (rapid control prototyping) fogalmát, eljárásait és eszközeit, valamint alapvető jártasságot szerezzenek a mérnöki gyakorlatban használt két legelterjedtebb eszközrendszer, a Matlab - Simulink - Real-Time Workshop és a LabVIEW használatában, amely alapján más hasonló fejlesztői környezetek is egyszerűen kézbe vehetők.
A tantárgyat sikerrel teljesítő hallgatók gyakorlati ismeretekkel és készségekkel rendelkeznek a leginkább elterjedt gyors prototípustervező eszközök használatáról, amely tudást irányítástechnikai, méréstechnikai és jelfeldolgozási feladatok megoldása során további tanulmányaik alatt és a mérnöki gyakorlatban is sikeresen alkalmazhatnak.
1-2. hét (előadások): Haladó Matlab szolgáltatások. Dinamikus rendszerek szimulálása a Simulink eszköz segítségével, a felhasználható numerikus integráló algoritmusok. Dinamikus rendszerek megadása S-függvények segítségével. A Simulink elemek könyvtárstruktúrája, speciális elemeket tartalmazó könyvtárak használata. A szimuláció gyorsításának eszközei: a mex fájlok, a Matlab compiler. A szimuláció vezérlése, HMI-k létrehozása.
3. hét (gyakorlat): Matlab szolgáltatások gyakorlása. S-függvény létrehozása Matlab segítségével, DLL előállítása Matlab függvényből és C függvényből. Egyszerű HMI létrehozása.
4-5. hét (előadások): Az irányítástechnikai célú gyors prototípustervezés alapjai. A prototípus létrehozásának hatékonyságát növelő és költségeit csökkentő komponensek: a hardver és szoftver eszközök újrafelhasználhatósága, az automatikus kódgenerálás folyamata, a hangolást és analízist segítő szolgáltatások (kapcsolat a valós időben futó kóddal, paraméterek változtatása, jelek rögzítése, kísérletvezérlés). Software-in-the-loop és hardware-in-the-loop technikák használata. Fejlesztési esettanulmányok, a DSpace, Quanser és National Instruments hardver komponenseire épülő keretrendszerek bemutatása.
6-7. hét (gyakorlatok): A Simulink használata, I/O-elemek beépítése a diagramba, kapcsolat a fizikai rendszerrel. DSpace és Quanser hardver eszközök használata. Automatikus kódgenerálás, a kód futását felügyelő programok használata, jelek rögzítése és feldolgozása, HMI-k (layout-ok) létrehozása.
8. hét (előadás): Felügyeleti irányítás tervezése. Reaktív, diszkrét idejű és hibrid rendszerek fogalma, a felügyeleti irányítás szerepe. Modellezés véges állapotú automatákon alapuló eszközökkel, a hierarchia és a párhuzamosság szerepe a hatékony modellezésben. A StateCharts irányítástechnikai szemmel. Állapotok, átmenetek, események, feltételek, akciók és aktivitások. Hierarchia és párhuzamosság megvalósítása, történeti pontok.
9. hét (gyakorlat): A Simulink Stateflow modulja, mint a felügyeleti irányítás eszköze. StateCharts diagramok megvalósítása Stateflow-ban, annak kapcsolata a Simulink-modell más részeivel. Események és változók használata, Matlab-kód integrálása a diagramba.
10. hét (előadás): A LabVIEW gyors prototípustervező eszköz. A szorosan integrált szoftver és hardver-platformon alapuló filozófia. A LabVIEW előlap-blokkdiagram architektúrája, a program és a felhasználói felület kapcsolata. A grafikus programozás (G nyelv) elve, változótípusok, programozási struktúrák (elágazás, ciklus, stb.) grafikus megvalósítása. LabVIEW MathScript és Statechart modulok.
11. hét (előadás): Felhasználói felület tervezése LabVIEW környezetben. Fontosabb előlapi elemek, azok kezelése a blokkdiagramban. A LabVIEW könyvtárainak fontosabb elemei, ExpressVI-ok használata. Képfeldolgozás az NI Vision modullal.
12. hét (gyakorlat): Grafikus programozás. Alapvető struktúrák, ciklusok, elágazások használatának gyakorlása. Változótípusok, konverziók, egyszerűbb előlapi elemek és kezelésük.
13. hét (előadás): A National Instruments hardvereszközei. Hozzáférés az eszközök fizikai jeleihez, bemutató NI USB DAQ eszközön. Esettanulmány: Lego Mindstorms robot irányítása LabVIEW környezetben.
14. hét (gyakorlat): Komplex felhasználói felületek tervezése, fontosabb Express VI-ok konfigurálása adott feladathoz. Egyszerű virtuális műszer készítése. A MathScript és Statechart modulok használata. Egyszerű képfeldolgozási feladat megoldása az NI Vision modul segítségével.
Hetente 2 óra előadás vagy 2 óra számítógéptermi/laboratóriumi gyakorlat az előre meghirdetett ütemezés szerint (amely az aktuális félév időbeosztása miatt módosulhat). A gyakorlati foglalkozásokra egy tanszéki laboratóriumban kerül sor, ahol a szükséges hardver és szoftver eszközök rendelkezésre állnak. A laboratóriumi erőforrások korlátozottsága miatt a tárgyat felvevő hallgatók száma maximált.
a. A szorgalmi időszakban: a félévközi jegy megszerzésének feltétele egy sikeres zárthelyi dolgozat megírása és a félév során kiadott házi feladat írásos és önálló megoldásának eredményes beadása. A félévközi jegy a zárthelyi és a házi feladat osztályzatainak súlyozásával adódik (zárthelyi: 50%, házi feladat: 50%). Eredménytelen zárthelyi vagy eredménytelen házi feladat esetén a hallgató nem kap félévközi jegyet. A házi feladat leadásának ténye nem jelenti annak eredményességét.
b. A vizsgaidőszakban: nincs
c. Elővizsga: nincs
A zárthelyi pótlására a félév során egy alkalommal lehetőséget biztosítunk. A pótlási héten csak az eredménytelen zárthelyi dolgozatok pótlására biztosítunk lehetőséget egy alkalommal. A házi feladat (otthoni feladat) beadása a pótlási héten különeljárási díj megfizetése mellett is megkísérelhető.
Az oktatók fogadóóráin, illetve hallgatói igény szerint előre egyeztetett időpontban.
Az előadások fóliái, elektronikus oktatási segédanyagok
http://labviewwiki.org/LabVIEW_tutorial (és az abban található referenciák)
http://www.mathworks.com/academia/student_center/tutorials/launchpad.html (és az abban található referenciák)
Duane C. Hanselman, Bruce L. Littlefield. Mastering MATLAB 7. Prentice Hall, edition, 2004
John Essick. Hands-On Introduction to LabVIEW for Scientists and Engineers. Oxford University Press, 2008