Mechatronika II (BMEGEFOAMM2)

Hasonló dokumentumok
Mechatronika II (BMEGEFOAMM2)

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Számítógépes szimuláció (Mellékletek)

5. Példa: Olvasás szöveges fájlból (program3_1.vi)

1. Jelgenerálás, megjelenítés, jelfeldolgozás alapfunkciói

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

Mérés és adatgyűjtés Laboratóriumi jegyzet

eseményvezérelt megoldások Vizuális programozás 5. előadás

Széchenyi István Egyetem

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

RAJZ1. vezetett gyakorlat

Rajz 02 gyakorló feladat

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

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

LabVIEW gyakorlatok. National Instrument anyagok alapján készítette:

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

1. mérés - LabView 1

Matlab Fuzzy Logic Toolbox

Fürdőszoba tutorial 01

CAD-ART Kft Budapest, Fehérvári út 35.

Rácsvonalak parancsot. Válasszuk az Elsődleges függőleges rácsvonalak parancs Segédrácsok parancsát!

LabView Academy. 4. óra párhuzamos programozás

MICROCAP PROGRAMRENDSZER HASZNÁLATA

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

RAJZ2. vezetett gyakorlat

Online Nevezési Rendszer

Minta. LabVIEW TM Core 1 Feladatok. A tanfolyam szoftveranyagának verziószáma augusztus kiadás Termékkód: B-0131

KEZELÉSI ÚTMUTATÓ WIFI ADAPTER

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

Nyolcbites számláló mintaprojekt

Programozási technológia

Rajz 01 gyakorló feladat

7. példa: Grafikus megjelenítés (program4_1.llb)

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

Autodesk Inventor Professional New Default Standard.ipt

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

Mesh generálás. IványiPéter

1. A berendezés programozása

BMF, Kandó Kálmán Villamosmérnöki Kar, Híradástechnika Intézet. Aktív Szűrő Mérése - Mérési Útmutató

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

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

Lemezalkatrész-Punch Tool I. Lemezalkatrész-tervező modul használata Feladat: Készítse el az alábbi ábrán látható alkatrész alkatrészmodelljét!

Diagram formázása. A diagram címének, a tengelyek feliratainak, jelmagyarázatának, adatfeliratainak formázása

RIEL Elektronikai Kft v1.0

Dokumentum létrehozása/módosítása a portálon:

LabVIEW Academy. 6. óra state machine

ArcGIS 8.3 segédlet 5. Dr. Iványi Péter

Belépés a rendszerbe. Gyors menü

Lapműveletek. Indítsuk el az Excel programot és töröljük ki a Munka1 nevű munkalapot!

EDInet Connector telepítési segédlet

KEZELÉSI ÚTMUTATÓ WIFI ADAPTER

Végeselem módszer 7. gyakorlat

BONYOLULT TÁLBAN MOZGÓ GOLYÓ

HASZNÁLATI UTASÍTÁS SZÁRAZ SÓAEROSZOL GENERÁTOR

VarioFace dokumenta cio

EGYENES ILLESZTÉSE (OFFICE

A színkezelés alapjai a GIMP programban

Quadkopter szimulációja LabVIEW környezetben Simulation of a Quadcopter with LabVIEW

Netis vezeték nélküli, N típusú, router

Irányítástechnika GÁSPÁR PÉTER. Prof. BOKOR JÓZSEF útmutatásai alapján

Thermo1 Graph. Felhasználói segédlet

Tájékoztató a kollégiumi internet beállításához

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

Egzinet Partner Portál

A másolás folyamata VAGY. Xerox WorkCentre 5845/5855/5865/5875/5890. Vezérlőpanel. Dokuadagoló opció. Dokuüveg opció

Csatlakozás a végeselem modulhoz SolidWorks-ben

Grafikus folyamatmonitorizálás

E-Freight beállítási segédlet

A Nyomtatványok kitöltésének és beküldésének folyamata

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

Számítógépvezérelt irányítás és szabályozás elmélete (Bevezetés a rendszer- és irányításelméletbe, Computer Controlled Systems) 9. el?

LabVIEW mérési jegyzőkönyv

Bevezető. Mi is az a GeoGebra? Tények

Aromo Szöveges értékelés normál tantárggyal

A Nyomtatványok kitöltésének és beküldésének folyamata

Netis vezeték nélküli, N típusú Router Gyors Telepítési Útmutató

1.A. feladat: Programablakok

GÉPÉSZETI ALKALMAZOTT SZÁMÍTÁSTECHNIKA f iskolai mérnökhallgatók számára. A 4. gyakorlat anyaga. Adott: Geometriai méretek:

O365 és felhő szolgáltatások igénybevételéhez szükséges beállítások

Fényerő és LED szalagszabályzás

Bevezetés az állapottér-elméletbe Dinamikus rendszerek állapottér reprezentációi

Villamos jelek mintavételezése, feldolgozása. LabVIEW 7.1

Előadás készítés. Szentesi Péter 2010

Vodafone-os beállítások Android operációs rendszer esetében

Lemez 05 gyakorló feladat

Windows 7. Szolgáltatás aktiválása

HUNGÁRIA ONLINE TRADER fx 4

Lakóház tervezés ADT 3.3-al. Segédlet

Táblázatos adatok használata

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Helyi (otthoni) hálózat kialakítása (Windows rendszerben)

QGIS tanfolyam (ver.2.0)

Megyei tervezést támogató alkalmazás

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Rajz 06 gyakorló feladat

Rajzoljunk a Flash programmal! FLASH ALAPOK I.

Átírás:

Mechatronika II (BMEGEFOAMM2) Harmadik gyakorlat Készítette: Raj Levente

Tartalom Bevezetés... 3 Jelölések... 3 301 Mechanikai rendszer idő tartománybeli analízise... 4 Feladatleírás... 4 Implementáció... 6 302 Mintavételezés... 26 Feladatleírás... 26 Implementáció... 27 Irodalomjegyzék... 44 2

Bevezetés A gyakorlatok elvégzéséhez szükség van a LabVIEW grafikus programozási környezet alap szintű ismeretére. A LabVIEW grafikus programozási környezet részletes leírása megtalálható a [1] jelű irodalomban, elérhető online a http://www.tankonyvtar.hu/hu/tartalom/tamop412a/2010-0017_44_informatika_2/adatok.html linken. A gyakorlatok célja, hogy megismertesse az olvasóval a LabVIEW Control Design & Simulation Toolkit-et és gyakorlati példákon keresztül mutassa be a Toolkit használatát. A Toolkit részletes leírása megtalálható [2] jelű irodalomban, elérhető online a http://www.tankonyvtar.hu/hu/tartalom/tamop412a/2011-0042_szamitogepes_szimulacio/adatok.html linken. A gyakorlatok során szoftverarchitektúrákkal nem foglalkozunk, csak szimulációs-, és szabályzó algoritmusokkal és azok implementálásával. Jelölések >> A >> szimbólum egymásba ágyazott menü opciók választását és párbeszédpanelek elemeinek kiválasztását és megnyomását jelenti. Félkövér Félkövérrel szedett szövegrészletek menü elemeket, párbeszédpanelek elemeit jelentik, amiket egér kattintással ki kell választani. Dőlt Dőlt szöveg szedés változókat, hivatkozásokat, vagy felhasználói adatbevitelt jelentenek. Félkövér és dőlt + Félkövér és dőlt Billentyűkombinációk, például: Ctrl+N. 3

301 Mechanikai rendszer idő tartománybeli analízise Feladatleírás Programkód létrehozása, ami alkalmas egy tömeg-rugó-csillapítás mechanikai lengőrendszer szimulációjára és időtartománybeli tulajdonságainak vizsgálatára, állapottér modell formában. (1. ábra). A lengőrendszer tagjai: k: rugó (N/m), m: tömeg (kg), b: viszkózus csillapítás (Ns/m), u 0: aktív erő (N), amely a tömegre hat, y 0: a tömeg elmozdulása (m) a rugó erőmentes állapotához képest. 1. ábra Mechanikai rendszer idő tartománybeli analízise. 4

A rendszer állapottér modellje: 0 1 0 x Ax Bu k b x 1 u m m m y Cx Du x u y 1 0 0 0 (1.1) 5

Implementáció 1. Hozzon létre egy új VI-t! a. Indítsa el a LabVIEW fejlesztői környezetet! b. Válassza a File>>New VI menüpontot, vagy a Ctrl+N billentyűkombinációval. c. Mentse el a VI-t tetszőleges néven! 2. Készítse el a kezelő felületet! a. Válassza ki a front panelen, jobb egérgomb kattintása után, a Controls palettáról a Control & Simulation >> Control Design >> Create Model >> CD Create Symbolic State-Space szimbolikus állapottér modell kontrolt és helyezze el a front panelen. (2. ábra) 2. ábra Symbolic State-Space kontrol kiválasztása és elhelyezése. A Symbolic State-Space kontrol elhelyezésével létrejött több kontrol és egy indikátor is: Model Name, szöveg adattípus, itt adható meg az átviteli függvény jele. Az itt megadott változót a Control Design nem használja fel semmire, csak dekorációs célt szolgál, 6

Sampling Time (s), numerikus adattípus, 0 érték esetén folytonos idejű modellt hoz létre, Matrix A, szöveges, 2-dimenziós tömb adattípus, az állapottér modell állapot átmenet mátrixa, Matrix B, szöveges, 2-dimenziós tömb adattípus, az állapottér modell bemeneti mátrixa, Matrix C, szöveges, 2-dimenziós tömb adattípus, az állapottér modell kimeneti mátrixa, Matrix D, szöveges, 2-dimenziós tömb adattípus, az állapottér modell segéd mátrixa, Symbolic Variables, 1-dimenziós klaszter tömb adattípus, a szimbolikus változókat tartalmazza, o Name, szöveges adattípus, szimbolikus változók, o Value, numerikus adattípus a szimbolikus változók értékei Resulting Model, kép adattípus, itt jelenik meg az állapottér modell grafikusan, Egyidejűleg a Symbolic State-Space kontrol front panelen történő elhelyezésével a blokk diagramon is automatikusan létrejöttek a modell létrehozásához szükséges objektumok (3. ábra). A létrehozott állapottér modellt a blokk diagramon a LabVIEW egy felirattal és nyíllal jelzi. A flat sequence később eltávolítható, ha nincs rá szükség. 3. ábra A Symbolic State-Space kontrol. 7

b. A front panelen a Model Name bemenetbe írja be: PLANT! c. A front panelen a Matrix A, B, C és D mátrixokat töltse fel az 1. ábra Matrix A, B, C és D mátrix értékeivel és az (1.1) egyenletnek megfelelően! d. A front panelen a Symbolic Variables klaszter tömböt töltse fel az 1. ábra Symbolic Variables értékeivel! i. Elemet törölni a tömbből, az elemen jobb egérgomb kattintása után a Data Operations >> Delete Element opció választásával tud. (4. ábra) 4. ábra Elem törlése tömbből. e. Hozzon létre egy Tab Controlt a front panelen, jobb egérgomb kattintása után válassza ki a Controls palettáról a Modern >> Containers >> Tab Control elemet és helyezze el a front panelen. (5. ábra) 8

5. ábra Tab Control elhelyezése a front panelen. i. Adjon hozzá a Tab Control-hoz egy további lapot, a Tab Control keretén jobb egérgomb kattintása után válassza a legördülő menüből az Add Page After opciót (6. ábra)! 9

6. ábra Lap hozzáadása a Tab Control-hoz. i. Nevezze át a Tab Control lapjait balról jobbra haladva: Step and Impulse, Initial, Linear Simulation! 3. Helyezze el a szimulációt végző elemeket a blokk diagramon! a. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Step Response.vi-t b. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Impulse Response.vi-t c. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Initial Response.vi-t 10

d. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Linear Simulation.vi-t (7. ábra) 7. ábra A szimulációt végző elemek. 11

e. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Signal Processing >> Waveform Generation >> Basic Function Generator.vi-t és helyezze el a CD Linear Simulation.vi-tól balra úgy, hogy maradjon még hely a két vi között! (8. ábra) 8. ábra Basic Function Generator.vi 12

4. Kösse össze a szimulációt végző elemeket a blokk diagramon! a. Kösse rá az állapottér modell vezetékét a CD Step Response.vi, CD Impulse Response.vi, CD Initial Response.vi és CD Linear Simulation.vi bal felső sarkában található modell bemenetre és a rendszerhibát továbbító zöld színű error vezetéket a Basic Function Generator.vi bal alsó sarkában található hiba bemenetre, majd abból a többi szimulációt végző vi hiba bemenetére! (9. ábra) 9. ábra A vi-ok vezetékezése. 5. Készítse el a szimulációt végző elemek szimulációs paramétereit! (11. ábra) a. Hozzon létre egy kontrolt a CD Initial Response.vi Initial Conditions bemenetére, a bemeneten jobb egérgomb kattintása után válassza a Create >> Control opciót! i. A létrehozott kontrolt, a front panelen, helyezze el a Tab Control Initial lapján! ii. A kontrol első két elemébe írja be a 0,3 és 0 kezdeti értékeket, majd tegye őket alapértelmezetté! 13

b. Hozzon létre egy-egy kontrolt a Basic Function Generator.vi signal type és frequency bemenetére, a bemeneten jobb egérgomb kattintása után válassza a Create >> Control opciót! i. A létrehozott kontrolokat a front panelen helyezze el a Tab Control Linear Simulation lapján! 1. Cserélje le a frequency numerikus kontrolt egy csúszkára, a kontrollon jobb egérgomb kattintása után válassza a Replace >> Numeric >> Horizontal Pointer Slide elemet! (10. ábra) a. Állítsa a csúszka skálájának minimális értékét 0,01-re és a maximális értékét 10-re! 10. ábra Frequency kontrol lecserélése csúszkával. c. Hozzon létre egy konstanst a Basic Function Generator.vi sampling info bemenetére, a bemeneten jobb egérgomb kattintása után válassza a Create >> Constant opciót.! i. Az Fs mintavételi frekvencia értéket írja át 100-ra! ii. A minták számát tartalmazó #s értéket írja át 5000-re! d. Hozzon létre egy build array elemet a blokk diagramon jobb egérgomb kattintása után válassza a Functions palettáról a Programing >> Array Palette >> Build Array elemet és helyezze el a Basic Function Generator.vi és a CD Linear Simulation.vi közé! 14

e. Kösse rá a Basic Function Generator.vi jobb oldalán, középen található signal out kimenetet a build array bemenetére és a build array kimenetét a CD Linear Simulation.vi bal oldalán található Inputs bemenetbe! 11. ábra Szimulációs paraméterek elkészítése. 15

6. Szimulációs eredmények megjelenítése a. Hozzon létre indikátort a CD Step Response.vi jobb fölső sarkában található Step Response Graph kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót. i. Kattintson az előbb létrehozott Step Response Graph vezetékére bal egér gombbal és válassza az Insert >> Array Palette >> Build Array elemet! ii. Állítsa a Build Array elemet a bemeneteinek összefűzése üzemmódba, jobb egér gombot kattintva a Build Array elemen válassza a Concatenate Inputs opciót! iii. Állítsa a Build Array elemet két bemenetűvé a Build Array elem közepén lévő állítóval! (12. ábra) 12. ábra A Build Array elem méretének növelése. iv. Kösse rá a Build Array elem alsó bemenetére a CD Impulse Response.vi jobb fölső sarkában található Impulse Response Graph kimenetét! v. Helyezze el a front panelen a grafikont a Tab Control Step and Impulse lapján! (13. ábra) 16

13. ábra Egységugrás- és impulzus válasz függvények. b. Hozzon létre indikátort a CD Initial Response.vi jobb fölső Initial Response Graph kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót. i. Helyezze el a front panelen a grafikont a Tab Control Initial lapján! c. Hozzon létre indikátort a CD Linear Simulation.vi jobb fölső Outputs kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót. i. Kattintson az előbb létrehozott Outputs vezetékére bal egér gombbal és válassza az Insert >> Array Palette >> Build Array elemet! 17

ii. Állítsa a Build Array elemet a bemeneteinek összefűzése üzemmódba, jobb egér gombot kattintva a Build Array elemen válassza a Concatenate Inputs opciót! iii. Állítsa a Build Array elemet két bemenetűvé a Build Array elem közepén lévő felső állítóval, fölfelé! (14. ábra) 14. ábra A Build Array méretének növelése fölfelé. iv. Kösse rá a Build Array elem felső bemenetére a Basic Function Generator.vi signal out kimenetét! (15. ábra) v. Helyezze el a front panelen a grafikont a Tab Control Linear Simulation lapján! 18

15. ábra Indikátorok létrehozása szimulációs eredmények megjelenítésére. 6. Folyamatosan futó alkalmazássá alakítás a. Alakítsa a programot folyamatosan futó alkalmazássá egy While Loop beépítésével. i. Helyezzen el egy While Loop-ot a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Programing >> Structures >> While Loop elemet választva! (16. ábra) 19

16. ábra While Loop kiválasztása. ii. Miután kiválasztotta a While Loop-ot az egér mutatója megváltozik struktúra készítő üzemmódba. iii. Kattintson bal egér gombbal a blokk diagram bal felső sarkába úgy, hogy minden, a blokk diagramon szereplő elem fölött és azoktól balra helyezi az egeret! iv. Engedje fel a bal egérgombbot! v. Kattintson bal egér gombbal a blokk diagram jobb alsó sarkába, ügyeljen rá, hogy az összes blokk diagramon szereplő elem bele essen a rajzolt téglalapba! (17. ábra) 20

17. ábra While Loop elkészítése. 21

b. Készítse el az alkalmazás leállási feltételét! i. Hozzon létre egy kontrolt a While Loop leállási feltételére (Loop Condition), a leállási feltételen jobb egérgomb kattintása után válassza a Create >> Control opciót! (18. ábra) 18. ábra A While Loop megállítása. 7. Hibakezelés a. A szimuláció futtatásakor felléphetnek rendszerhibák ezek alapszintű kezelése a program leállítása és a felhasználó értesítése. b. Válassza ki és helyezze el a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Programming >> Dialog & User Interface >> Merge Errors elemet. i. Állítsa át a Merge Errors elemet 4 bemenetűvé a Merge Errors elem közepén lévő állítóval! c. Kösse a Merge Errors bemeneteire a szimulációt végző vi-ok jobb alsó sarkaiban található Error kimenetet! d. Hozzon létre egy Shift Register a While Loop keretén, a keret jobb oldali függőleges részén! i. Kattintson jobb egér gombbal a While Loop keretén, a keret jobb oldali függőleges részén! ii. A legördülő menüből válassza az Add Shift Register opciót! iii. A Shift Register hozzá adásával, a While Loop keretén, jobb és bal szélen egy-egy terminál jelenik meg. A jobb oldali terminál, bal oldali bemenete a ciklus iterációja végén várja az adatokat. A bal oldali terminál, jobb oldali kimenete a következő iterációban szolgáltatja az előző iterációból származó adatokat. (19. ábra) 22

19. ábra Shift Register hozzáadása. e. Kösse a Merge Errors kimenetét a jobb oldali Shift Register bemenetére! f. Hozzon létre hiba indikátort a jobb oldali Shift Register kimenetére (a cikluson kívülre), jobb egér gomb kattintása után a legördülő menüből válassza a Create >> Indicator opciót! g. Kattintson a Stop gomb vezetékére bal egér gombbal és válassza az Insert >> Boolean Palette >> Or elemet (logikai vagy függvény)! h. Ágaztassa le és kösse a Merge Errors kimenetéről származó hiba vezetéket az Or második bemenetére! 23

i. Hozzon létre hiba konstanst a bal oldali Shift Register bemenetére (a cikluson kívülre), jobb egér gomb kattintása után a legördülő menüből válassza a Create >> Constant opciót! j. Kösse a bal oldali Shift Register kimenetéről származó hiba vezetéket az állapottér modellt létrehozó elem jobb alsó sarkában található hiba bemenetére! (20. ábra) 20. ábra Hiba vezetékezés elkészítése. 24

8. Futassa az elkészített szimulációs programot a paraméterek változtatása mellett! (21. ábra) 21. ábra A program működés közben. 25

302 Mintavételezés Feladatleírás Programkód létrehozása, ami alkalmas egy folytonos idejű átviteli függvénnyel adott dinamikus rendszer mintavételezésére és impulzusátviteli függvényének létrehozására különböző módszerekkel és változtatható mintavételezési idővel. (22 ábra.) 22. ábra Mintavételezés. 26

Implementáció 1. Hozzon létre egy új VI-t! a. Indítsa el a LabVIEW fejlesztői környezetet! b. Válassza a File>>New VI menüpontot, vagy a Ctrl+N billentyűkombinációval. c. Mentse el a VI-t tetszőleges néven! 2. Készítse el a kezelő felületet! a. Válassza ki a front panelen, jobb egérgomb kattintása után, a Controls palettáról a Control & Simulation >> Control Design >> Create Model >> Transfer Function kontrolt és helyezze el a front panelen. (23. ábra) 23. ábra Transfer Function kontrol kiválasztása és elhelyezése. 27

A Transfer Function kontrol elhelyezésével létrejött több kontrol és egy indikátor is: Model Name, szöveg adattípus, itt adható meg az átviteli függvény jele. Az itt megadott változót a Control Design nem használja fel semmire, csak dekorációs célt szolgál, Sampling Time (s), numerikus adattípus, 0 érték esetén folytonos idejű modellt hoz létre, Numerator, numerikus tömb adattípus, az átviteli függvény számlálójának együtthatóit tartalmazzák a Polynomial Order logikai változótól függően Laplace-operátor fokszámának csökkenő, vagy növekvő sorrendben Denominator, numerikus tömb adattípus, az átviteli függvény nevezője együtthatóit tartalmazzák a Polynomial Order logikai változótól függően Laplace-operátor fokszámának csökkenő, vagy növekvő sorrendben Resulting Model, kép adattípus, itt jelenik meg az átviteli függvény grafikusan Polynomial Order, az átviteli függvény számlálójának és nevezőjének együtthatóinak értelmezési sorrendje állítható vele. Egyidejűleg a Transfer Function kontrol front panelen történő elhelyezésével a blokk diagramon is automatikusan létrejöttek a modell létrehozásához szükséges objektumok (24 ábra). A létrehozott átviteli függvényt a blokk diagramon a LabVIEW egy felirattal és nyíllal jelzi. A flat sequence később eltávolítható, ha nincs rá szükség. 24. ábra Transfer Function kontrol. b. Nevezze át a Resulting Model indikátort Continuous Model-re! 28

3. Helyezze el a mintavételezést és az impulzusátviteli függvény létrehozását végző elemeket a blokk diagramon! a. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Model Conversion >> CD Convert Continuous to Discrete.vi-t és helyezze el a blokk diagramon! (25. ábra) 25. ábra A CD Convert Continuous to Discrete.vi kiválasztása. 29

b. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Model Information >> CD Set Names to Model.vi-t és helyezze el a blokk diagramon! c. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Model Construction >> CD Draw Transfer Function Equation.vi-t és helyezze el a blokk diagramon! 4. Kösse össze a mintavételezést és az impulzusátviteli függvény létrehozását végző elemeket a blokk diagramon! (27. ábra) a. Kösse rá az átviteli függvény modellt a CD Convert Continuous to Discrete.vi bal felső sarkában található modell bemenetre, valamint a hiba vezetéket a bal alsó hiba bemenetre! b. Törölje az átviteli függvény létrehozásakor létrejött Sampling Time (s) kontrol vezetékét és mozgassa a kontrolt a Flat Sequence-en kívülre és kösse rá a CD Convert Continuous to Discrete.vi bal oldalán, föntről a második helyen található Sampling Time (s) (mintavételi idő) bemenetre! c. Hozzon létre kontrolt a CD Convert Continuous to Discrete.vi bal oldalán található Method bemenetre! i. A bemeneten jobb egérgomb kattintása után válassza a Create >> Control opciót! (26. ábra) 26. ábra Method kontrol létrehozása. d. Kösse rá a CD Convert Continuous to Discrete.vi jobb fölső Discrete Transfer Function Model kimenetét a CD Set Names to Model.vi föntről hozzáférhető State-Space Model In bemenetre, valamint a CD Convert Continuous to Discrete.vi jobb alsó hiba kimenetét a CD Set Names to Model.vi bal alsó hiba bemenetre! 30

e. Kösse rá az átviteli függvény létrehozásakor létrejött Model Name kontrolt a CD Set Names to Model.vi bal felső sarkában található Model Name bemenetre és a CD Draw Transfer Function Equation.vi Function Name (empty) bemenetére is! f. Kösse rá a CD Set Names to Model.vi jobb fölső Model Out kimenetét a CD Draw Transfer Function Equation.vi jobb fölső sarkában található Transfer Function Model bemenetre, valamint a CD Set Names to Model.vi jobb alsó hiba kimenetét a CD Draw Transfer Function Equation.vi bal alsó hiba bemenetre! g. Hozzon létre konstanst a CD Draw Transfer Function Equation.vi Display Format bemenetére, a bemeneten jobb egérgomb kattintása után válassza a Create >> Constant opciót! i. Állítsa a létrehozott konstanst Negative Power értékre! h. Hozzon létre indikátort a CD Draw Transfer Function Equation.vi Equation kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót! i. Nevezze át a létrehozott indikátort Discrete Model-re! 27. ábra A mintavételezést és az impulzusátviteli függvény létrehozását végző elemek vezetékezése. 31

5. Helyezze el a szimulációt végző elemeket a blokk diagramon! a. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Impulse Response.vi-t és helyezze el a blokk diagramon! (28. ábra) b. Válassza ki a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Control & Simulation >> Control Design >> Time Response >> CD Step Response.vi-t és helyezze el a blokk diagramon, az előző alá! c. Hozzon létre egy build array elemet a blokk diagramon jobb egérgomb kattintása után válassza a Functions palettáról a Programing >> Array Palette >> Build Array elemet és helyezze el a két szimulációs elemtől balra. 28. ábra A szimulációt végző elemek. 32

d. Helyezzen el egy For Loop-ot a CD Impulse Response.vi és a CD Step Response.vi köré a blokk diagramon. i. Jobb egérgomb kattintása után válassza a Functions palettáról a Programing >> Structures >> For Loop elemet! e. Válassza ki a blokk diagramon jobb egérgomb kattintása után, a Functions palettáról a Programming >> Dialog & User Interface >> Merge Errors elemet és helyezze el a For Loop-on belül! (29. ábra) 29. ábra For ciklus létrehozása. 6. Kösse össze a szimulációt végző elemeket a blokk diagramon! (30. ábra) a. Kösse rá az átviteli függvény modellt a Build Array felső bemenetére! b. Kösse rá az impulzusátviteli függvény modellt (CD Set Names to Model.vi jobb fölső Model Out kimenete) a Build Array alsó bemenetére! c. Kösse Build Array kimenetét a For Loop keretén keresztül a CD Impulse Response.vi és a CD Step Response.vi State-Space Model bemenetére! Amennyiben nem módosította a VI-ok polimorfikus legördülő menüjét, akkor a VI-ok automatikusan felismerik a modell bemenetre kötött modell típusát és a modell típusának megfelelő implementációt választják. Amennyiben módosította a VI-ok polimorfikus legördülő menüjét, vagy törött a vezeték a szimulációs VI-ok és a létrehozott modell között, akkor állítsa vissza a polimorfikus VI választó segítségével a VI-okat Automatic állapotba. d. Hozzon létre egy Shift Register a For Loop keretén, a keret jobb oldali függőleges részén! i. Kattintson jobb egér gombbal a For Loop keretén, a keret jobb oldali függőleges részén! ii. A legördülő menüből válassza az Add Shift Register opciót! 33

iii. A Shift Register hozzá adásával, a For Loop keretén, a jobb-, és bal szélen egy-egy terminál jelenik meg. A jobb oldali terminál bal oldali bemenete a ciklus iterációja végén várja az adatokat. A bal oldali terminál jobb oldali kimenete a következő iterációban szolgáltatja az előző iterációból származó adatokat. e. Kösse rá a CD Set Names to Model.vi jobb alsó hiba kimenetét a Shift Register bal oldali termináljának bal oldali bemenetére! f. Kösse rá a Shift Register bal oldali termináljának jobb oldali kimenetét a CD Impulse Response.vi és a CD Step Response.vi bal alsó hiba bemenetére! g. Kösse rá a CD Impulse Response.vi és a CD Step Response.vi jobb alsó hiba kimenetét a Merge Errors bemeneteire! h. Kösse a Merge Errors kimenetét a Shift Register jobb oldali termináljának bal oldali bemenetére! 30. ábra A szimulációs vi-ok vezetékezése. 34

7. Szimulációs eredmények megjelenítése a. Hozzon létre indikátort a CD Step Response.vi jobb fölső sarkában található Step Response Graph kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót! b. Hozzon létre indikátort a CD Impulse Response.vi jobb fölső sarkában található Impulse Response Graph kimenetére, a kimeneten jobb egérgomb kattintása után válassza a Create >> Indicator opciót! c. Mozgassa mindkét indikátort a cikluson kívülre! d. A törött vezeték csonkokat kösse vissza az indikátorokra a ciklus keretén keresztül húzva! e. Állítsa a ciklus kimeneti csatornáit a kimenetek összefűzése üzemmódba! i. A kimeneti csatornákon jobb egérgomb kattintása után válassza a Tunel Mode >> Concatennating opciót! (31. ábra) 31. ábra A kimenetek összefűzése. 35

f. Az előző pontban létrehozott indikátor a front panelen is megjelennek. (32. ábra) Impulse Response Graph tartalmazza grafikusan az impulzusválasz függvényeket folytonos és mintavételezett esetben eredményeket. Step Response Graph tartalmazza grafikusan az egységugrás válasz függvényeket folytonos és mintavételezett esetben eredményeket. 32. ábra Szimulációs eredmények megjelenítése. 36

i. Kapcsolja be mindkét grafikonon a jelmagyarázatot! 1. A grafikonokon jobb egérgomb kattintása után válassza a Visible Items >> Plot Legend opciót! 2. A jelmagyarázatot állítsa át két magyarázat megjelenítésére, a jelmagyarázatok keretén lévő méretállító segítségével! 3. Az első jel a folytonos idejű-, a második jel a diszkrét idejű rendszer válaszfüggvénye mindkét grafikonon! 4. Állítsa a diszkrét idejű rendszer válaszfüggvényeinek interpolációját a mintavételi pontok vízszintes egyenesekkel történő összekötés módba, a diszkrét idejű rendszer jelmagyarázatán bal egérgombot kattintva válassza az Interpolation >> alsó sor, középső elemét! (33. ábra) 33. ábra Interpoláció beállítása. 37

8. Folyamatosan futó alkalmazássá alakítás a. Alakítsa a programot folyamatosan futó alkalmazássá egy While Loop beépítésével. i. Helyezzen el egy While Loop-ot a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Programing >> Structures >> While Loop elemet választva! (34. ábra) 34. ábra While Loop kiválasztása. ii. Miután kiválasztotta a While Loop-ot az egér mutatója megváltozik struktúra készítő üzemmódba. iii. Kattintson bal egér gombbal a blokk diagram bal felső sarkába úgy, hogy minden, a blokk diagramon szereplő elem fölött és azoktól balra helyezi az egeret! 38

iv. Engedje fel a bal egérgombbot! v. Kattintson bal egér gombbal a blokk diagram jobb alsó sarkába, ügyeljen rá, hogy az összes blokk diagramon szereplő elem bele essen a rajzolt téglalapba! (35. ábra) 35. ábra While Loop elkészítése. 39

b. Készítse el az alkalmazás leállási feltételét! i. Hozzon létre egy kontrolt a While Loop leállási feltételére (Loop Condition), a leállási feltételen jobb egérgomb kattintása után válassza a Create >> Control opciót! (36. ábra) 36. ábra A While Loop megállítása. 40

9. Hibakezelés a. A szimuláció futtatásakor felléphetnek rendszerhibák ezek alapszintű kezelése a program leállítása és a felhasználó értesítése. b. Válassza ki és helyezze el a blokk diagramon, jobb egérgomb kattintása után, a Functions palettáról a Programming >> Dialog & User Interface >> Merge Errors elemet. c. Kösse a Merge Errors két bemenetére a For Loop Shift Registerének jobb oldali kimeneti termináljának jobb oldali kimenetét és a CD Draw Transfer Function Equation.vi Error kimenetét! d. Hozzon létre egy Shift Register a While Loop keretén, a keret jobb oldali függőleges részén! i. Kattintson jobb egér gombbal a While Loop keretén, a keret jobb oldali függőleges részén! ii. A legördülő menüből válassza az Add Shift Register opciót! iii. A Shift Register hozzá adásával, a While Loop keretén, jobb és bal szélen egy-egy terminál jelenik meg. A jobb oldali terminál, bal oldali bemenete a ciklus iterációja végén várja az adatokat. A bal oldali terminál, jobb oldali kimenete a következő iterációban szolgáltatja az előző iterációból származó adatokat. (37. ábra) 37. ábra Shift Register hozzáadása. 41

e. Kösse a Merge Errors kimenetét a jobb oldali Shift Register bemenetére! f. Hozzon létre hiba indikátort a jobb oldali Shift Register kimenetére (a cikluson kívülre), jobb egér gomb kattintása után a legördülő menüből válassza a Create >> Indicator opciót! g. Kattintson a Stop gomb vezetékére bal egér gombbal és válassza az Insert >> Boolean Palette >> Or elemet (logikai vagy függvény)! h. Ágaztassa le és kösse a Merge Errors kimenetéről származó hiba vezetéket az Or második bemenetére! i. Hozzon létre hiba konstanst a bal oldali Shift Register bemenetére (a cikluson kívülre), jobb egér gomb kattintása után a legördülő menüből válassza a Create >> Constant opciót! j. Kösse a bal oldali Shift Register kimenetéről származó hiba vezetéket az átviteli függvényt létrehozó elem bal alsó sarkában található hiba bemenetére! (38. ábra) 38. ábra Hiba vezetékezés elkészítése. 42

10. Futassa az elkészített szimulációs programot a paraméterek változtatása mellett! a. Vizsgálja meg állandó mintavételi idő mellett a különböző átalakítási módszerek hatását az egységugrás válasz-, és impulzusválasz függvényekre! (39. ábra) b. Vizsgálja meg a mintavételi idő változtatásának hatását! 39. ábra A program működés közben. 43

Irodalomjegyzék [1] P. Dr. Aradi, J. Gräff és G. Dr. Lipovszki, Informatika II., EDUTUS Főiskola, 2012. [2] P. Dr. Aradi, J. Gräff és G. Dr. Lipovszki, Számítógépes szimuláció, Magyarország: BME-MOGI, 2014. [3] A. Dr. Huba, P. Dr. Aradi, A. Czmerk, B. Dr. Lakatos, T. Dr. Chován és T. Dr. Varga, Mechatronikai berendezések tervezése, Budapest: BME MOGI, 2014. 44