LabVIEW Core 1 Feladatok
Mi nta
TM
A tanfolyam szoftveranyagának verziószáma 2010 2010. augusztus kiadás Termékkód: 325291B-0131 LabVIEW Core 1 Feladatok
Szerzői jog © 1993–2010 National Instruments Corporation. Minden jog fenntartva. A szerzői jogi jogszabályok szerint ez a kiadvány a National Instruments Corporation előzetes írásos beleegyezése nélkül semmilyen (elektronikus vagy mechanikus) formában, sem részleteiben sem egészében nem többszörözhető vagy terjeszthető, ideértve a fénymásolat készítést, rögzítést, információs rendszerben való tárolást, illetve fordítást is.
A National Instruments tiszteletben tartja mások szellemi tulajdonát, és ugyenerre kéri a felhasználóit is. Az NI szoftvertermékek a szerzői jogi, illetve a szellemi tulajdon védelméről szóló más jogszabályok védelme alatt állnak. Amennyiben a National Instruments szoftverek felhasználásával más tulajdonában álló szoftverek vagy más szellemi termékek többszörözésére kerül sor, az NI szofver kizárólag olyan szellemi termékek többszörözésére használható, amelyeknek ilyen felhasználása az alkalmazandó licencek, illetve az egyéb jogi rendelkezések alapján megengedett.
For components used in USI (Xerces C++, ICU, HDF5, b64, Stingray, and STLport), the following copyright stipulations apply. For a listing of the conditions and disclaimers, refer to either the USICopyrights.chm or the Copyrights topic in your software. Xerces C++. This product includes software that was developed by the Apache Software Foundation (http://www.apache.org/). Copyright 1999 The Apache Software Foundation. All rights reserved. ICU. Copyright 1995–2009 International Business Machines Corporation and others. All rights reserved.
HDF5. NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities Copyright 1998, 1999, 2000, 2001, 2003 by the Board of Trustees of the University of Illinois. All rights reserved. b64. Copyright © 2004–2006, Matthew Wilson and Synesis Software. All Rights Reserved.
Stingray. This software includes Stingray software developed by the Rogue Wave Software division of Quovadx, Inc. Copyright 1995–2006, Quovadx, Inc. All Rights Reserved. STLport. Copyright 1999–2003 Boris Fomitchev
Védjegyek A “LabVIEW”, “National Instruments”, “NI”, és “ni.com” kifejezések, valamint a National Instruments logó és a “sas-logó” a National Instruments Corporation védjegyei. A National Instruments védjegyeivel kapcsolatban további részletek az ni.com/trademarks oldalon a Trademark Information alatt találhatók.
Minden egyéb itt említett termék- illetve cégnév az azokat tulajdonló megfelelő vállalatoknak a védjegyei. A National Instruments Alliance Partner Program tagjai a National Istrumentstől független üzleti szereplők, köztük és a National Instruments között megbízási, partnerségi vagy közös vállalkozási kapcsolat nem áll fenn. Szabadalmak A National Instruments termékeit és technológiai fejlesztéseit érintő szabadalmakról bővebb felvilágosítást találhat a National Instruments szoftverekben, a Help»Patents menüpont alatt, a szoftver könyvtárában lévő patents.txt fájlban, vagy az ni.com/patents oldalon, a National Instruments Patent Notice pont alatt.
Mi nta Támogatás
Globális műszaki támogatás és termékinformáció ni.com
A National Instruments központja 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100
Irodáink a világban Ausztrália 1800 300 800, Ausztria 43 662 457990-0, Belgium 32 (0) 2 757 0020, Brazília 55 11 3262 3599, Cseh Köztársaság 420 224 235 774, Dánia 45 45 76 26 00, Dél-afrikai Köztársaság 27 0 11 805 8197, Egyesült Királyság 44 (0) 1635 523545, Finnország 358 (0) 9 725 72511, Franciaország 01 57 66 24 24, Fülöp-szigetek (63) 2 659 1722, Hollandia 31 (0) 348 433 466, India 91 80 41190000, Izrael 972 3 6393737, Japán 0120-527196, Kanada 800 433 3488, Kína 86 21 5050 9800, Korea 82 02 3451 3400, Lengyelország 48 22 328 90 10, Libanon 961 (0) 1 33 28 28, Malajzia 1800 887710, Mexikó 01 800 010 0793, Németország 49 89 7413130, Norvégia 47 (0) 66 90 76 60, Olaszország 39 02 41309277, Oroszország 7 495 783 6851, Portugália 351 210 311 210, Spanyolország 34 91 640 0085, Svájc 41 56 2005151, Svédország 46 (0) 8 587 895 00, Szingapúr 1800 226 5886, Szlovénia 386 3 425 42 00, Tajvan 886 02 2377 2222, Thaiföld 662 278 6777, Törökország 90 212 279 3031, Új-Zéland 0800 553 322 További segítséget a Kiegészítő információk és hasznos segédeszközök mellékletben találhat. A National Instruments dokumentációkkal kapcsolatos észrevételeit a National Instruments honlapján, azon belül is az ni.com/info oldalon oszthatja meg velünk, a feedback gyorskód megadásával.
Tartalomjegyzék Útmutató A. B. C. D. E. F.
NI Tanúsítvány ...................................................................................................v A tanfolyam leírása ............................................................................................vi Amire szükségünk lesz tanulmányaink során ....................................................vii A tanfolyami szoftver telepítése .........................................................................viii A tanfolyam célkitűzései.....................................................................................ix A tananyagban használt jelölések......................................................................x
Mi nta
1. lecke A hardvereszközök előkészítése 1-1. feladat 1-2. feladat
Alapismeretek: Measurement & Automation Explorer (MAX) ........1-1 Alapismeretek: GPIB kommunikáció beállítása MAX-ban .............1-8
2. lecke A LabVIEW környezet használata 2-1. feladat 2-2. feladat 2-3. feladat 2-4. feladat 2-5. feladat
Alapismeretek: A VI-ok felépítése ..................................................2-1 Alapismeretek: A paletták használata ............................................2-4 Alapismeretek: A szerkesztő eszközök használata .......................2-6 Alapismeretek: Adatfolyam ............................................................2-10 Simple AAP VI................................................................................2-11
3. lecke Hibakeresés és elhárítás a VI-okban 3-1. feladat 3-2. feladat
Alapismeretek: A súgó használata.................................................3-1 Alapismeretek: Hibakeresés ..........................................................3-5
4. lecke Egy VI megvalósítása 4-1. feladat 4-2. feladat 4-3. feladat 4-4. feladat 4-5. feladat 4-6. feladat 4-7. feladat 4-8. feladat 4-9. feladat
Determine Warnings VI ..................................................................4-1 Auto Match VI.................................................................................4-8 Alapismeretek: While ciklus vagy For ciklus? ................................4-15 Average Temperature VI................................................................4-18 Temperature Multiplot VI................................................................4-22 Determine Warnings VI ..................................................................4-27 Önálló feladat: Square Root VI ......................................................4-32 Önálló feladat: Determine Warnings VI (Challenge) ......................4-36 Önálló feladat: Determine More Warnings VI.................................4-38
5. lecke Összetett adattípusok 5-1. feladat 5-2. feladat 5-3. feladat
Alapismeretek: műveletek tömbökkel.............................................5-1 Alapismeretek: Clusterek ...............................................................5-8 Alapismeretek: Típus definíció .......................................................5-14
© National Instruments Corporation
iii
LabVIEW Core 1 Feladatok
Tartalomjegyzék
6. lecke Erőforrások kezelése 6-1. feladat 6-2. feladat 6-3. feladat 6-4. feladat
Alapismeretek: Spreadsheet Example VI.......................................6-1 Temperature Log VI .......................................................................6-4 A DAQmx használata.....................................................................6-7 Alapismeretek: NI Devsim VI .........................................................6-11
7. lecke Moduláris alkalmazások fejlesztése Determine Warnings VI ..................................................................7-1
Mi nta
7-1. feladat
8. lecke Általánosan használt tervezési módszerek 8-1. feladat
State Machine VI............................................................................8-1
9. lecke Változók használata 9-1. feladat 9-2. feladat 9-3. feladat
Local Variable VI ............................................................................9-1 Global Data projekt ........................................................................9-10 Alapismeretek: Bank VI..................................................................9-17
A függelék Méréstechnikai alapok A-1. feladat
Alapismeretek: A méréstechnika alapjai ........................................A-1
B függelék Kiegészítő információk és hasznos segédeszközök
LabVIEW Core 1 Feladatok
iv
ni.com
5
Összetett adattípusok 5-1. feladat
Alapismeretek: műveletek tömbökkel
Cél
Mi nta
Ismerjük meg a LabVIEW tömbkezelő műveleteit.
Tennivalók
Kiindulási pontul adott egy VI, melyet a különböző céloknak megfelelően tovább fogunk fejleszteni. Az egyes részfeladatok megoldása során mindig az <Exercises>\LabVIEW Core 1\Manipulating Arrays könyvtárban található Array Investigation.vi-t vesszük alapul. A VI front panelje a 5-1. ábrán látható.
5-1. ábra Az Array Investigation VI front panelje
A VI blokkdiagramja a 5-2. ábrán látható.
5-2. ábra Az Array Investigation VI blokkdiagramja
© National Instruments Corporation
5-1
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
A feladat három részből tevődik össze. Először az egyes részfeladatok kerülnek bemutatásra, majd azt követően a feladatok megvalósításának részletes taglalása következik.
1. rész: Ciklusba szervezve módosítsuk és ábrázoljuk a tömb tartalmát Módosítsuk az Array Investigation VI-t úgy, hogy az eredeti tömböt egymásba ágyazott For ciklusokba kötjük, ahol annak minden elemét megszorozzuk 100-zal, és az eredményt egész számra kerekítjük. Az így kapott 2D (két dimenziós) tömb értékeit intensity graph-on jelenítsük meg.
Mi nta
2. rész: A For ciklusok elhagyásával módosítsuk, majd ábrázoljuk a tömb tartalmát Módosítsuk az Array Investigation VI-t vagy az 1. részben elkészített VI-unkat oly módon, hogy ugyanazt a feladatot most For ciklusok nélkül oldjuk meg.
3. rész: Bontsuk a tömböt részeire
Módosítsuk az Array Investigation VI-t, hogy az eredeti tömb harmadik sorát és második oszlopát külön tömbökbe másoljuk.
1. rész: megvalósítás
Módosítsuk az Array Investigation VI-t úgy, hogy az eredeti tömböt egymásba ágyazott For ciklusokba kötjük, ahol annak minden elemét megszorozzuk 100-zal, és az eredményt egész számra kerekítjük. Az így kapott 2D (két dimenziós) tömb értékeit intensity graph-on jelenítsük meg. 1. Nyissuk meg az <Exercises>\LabVIEW Core 1\Manipulating Arrays könyvtárban található Array Investigation.vi fájlt.
2. Mentsük el a VI-t Array Investigation Part 1.vi néven.
3. Helyezzünk el egy intensity graph indikátort a front panelen, és kapcsoljuk be az autoscale opciót mindkét tengelyen, ahogy azt az 5-3. ábra is mutatja. Hogy meggyőződjünk arról, hogy az autoscale opció engedélyezve van, kattintsunk jobb egérgombbal az intensity graph-ra, és a legördülő menüben ellenőrizzük, hogy az X Scale» AutoScale X és az Y Scale»AutoScale Y pontok be vannak jelölve.
LabVIEW Core 1 Feladatok
5-2
ni.com
Összetett adattípusok
Mi nta
5. lecke
5-3. ábra Az Array Investigation Part 1 VI front panelje
4. Nyissuk meg a VI blokkdiagramját.
A következő lépések végrehajtásával hozzuk létre az 5-4. ábrán látható blokkdiagramot.
5-4. ábra Az Array Investigation Part 1 VI blokkdiagramja
5. Szervezzük ciklusba a tömböt.
❑ A meglévő struktúrától jobbra helyezzünk el egy For ciklust. ❑ Helyezzünk el egy második For ciklust az első belsejében.
❑ Kössük be a tömb indikátor terminálját a belső For ciklus keretébe. Ennek hatására egy-egy auto-indexelt bemeneti alagút jön létre mindkét For cikluson.
© National Instruments Corporation
5-3
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
6. A tömb minden elemét szorozzuk meg 100-zal.
❑ Helyezzünk el egy Multiply (szorzás) műveletet a belső For cikluson belül.
❑ Kössük össze az indexelt alagutat jelző narancssárga négyzetet a szorzás művelet x bemenetével.
❑ Jobb egérgombbal kattintsunk a szorzás művelet y bementére, és
a legördülő menüből válasszuk ki a Create»Constant menüpontot.
❑ A létrejött szám konstans értékének írjunk be 100-et.
Mi nta
7. Minden elemet kerekítsünk egész számra.
❑ Helyezzünk el egy Round To Nearest (kerekítés) műveletet a szorzás művelettől jobbra, de még a cikluson belül.
❑ Kössük össze a szorzás művelet kimenetét a kerekítés művelet bemenetével.
8. A módosított elemek tömbbe gyűjtéséhez hozzunk létre egy 2D tömböt a For ciklusok kimenetén.
❑ Kössük be a kerekítés művelet kimenetét a külső For ciklus
keretébe. Ennek hatására egy-egy auto-indexelt kimeneti alagút jön létre mindkét For cikluson.
9. A külső For ciklus kimeneti alagútját kössük be az Intensity Graph indikátor termináljába. 10. Váltsunk át a front panelre. 11. Mentsük el a VI-t.
12. Írjunk be különböző értékeket a Rows (sorok száma) és a Columns (oszlopok száma) kontrollokba. 13. Futtassuk a VI-t.
2. rész: megvalósítás
Módosítsuk az 1. részben elkészített VI-unkat úgy, hogy ugyanazt a feladatot most For ciklusok nélkül oldjuk meg.
1. Ha nem lenne nyitva, akkor nyissuk meg az Array Investigation Part 1.vi-t. 2. Mentsük el a VI-t Array Investigation Part 2.vi néven.
3. Nyissuk meg a blokkdiagramot.
4. Kattintsunk jobb egérgombbal a szorzás és kerekítés műveleteket is tartalmazó belső For ciklus keretére, és válasszuk ki a Remove For Loop menüpontot.
LabVIEW Core 1 Feladatok
5-4
ni.com
5. lecke
Összetett adattípusok
Mi nta
5. Most a megmaradt For ciklus keretére kattintsunk jobb gombbal, és a legördülő menüből ismét válasszuk ki a Remove For Loop menüpontot. Ennek eredményeképpen a diagramunknak az 5-5. ábrához hasonló módon kell kinéznie.
5-5. ábra Az Array Investigation Part 2 VI blokkdiagramja
6. Mentsük el a VI-t.
7. Váltsunk át a front panelre.
8. Írjunk be különböző értékeket a Rows (sorok száma) és a Columns (oszlopok száma) kontrollokba. 9. Futtassuk a VI-t.
Figyeljük meg, hogy a VI ugyanúgy viselkedik, ahogy az 1. részben is tette. Ez annak köszönhető, hogy a matematikai műveletek polimorfikus tulajdonságokkal rendelkeznek. Például, mivel a szorzás művelet x bemenetére két dimenziós tömböt, y bemenetére viszont egy skalár értéket kötöttünk, ebben az esetben a művelet a tömb valamennyi elemét ugyanazzal a skalárral szorozza meg, és az eredmény is az x bemenetre kötöttnek megfelelő dimenziójú tömb lesz.
3. rész: megvalósítás
Módosítsuk az Array Investigation VI-t úgy, hogy az eredeti tömb harmadik sorát és második oszlopát külön tömbökbe másoljuk. 1. Nyissuk meg az <Exercises>\LabVIEW Core 1\Manipulating Arrays könyvtárban található Array Investigation.vi fájlt.
2. Mentsük el a VI-t Array Investigation Part 3.vi néven.
3. Nyissuk meg a VI blokkdiagramját.
© National Instruments Corporation
5-5
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
Mi nta
A most következő lépések végrehajtása során az 5-6. ábrán is látható blokkdiagramot fogjuk felépíteni.
5-6. ábra Az Array Investigation Part 3 VI blokkdiagramja
4. Az Index Array művelet segítségével másoljuk ki az Array tömb harmadik sorát.
❑ Helyezzünk el egy Index Array (tömb eleme) műveletet a blokkdiagramon.
❑ Kössük be az Array indikátor terminálját az Index Array művelet array bemenetére.
Javaslat Az Index Array művelet egy n dimenziójú tömb fogadására képes. Miután bekötöttük a bemeneti tömböt az Index Array bemenetére, a többi bemeneti és kimeneti terminál neve megváltozik (megváltozhat) a bemeneti tömb dimenziójához igazodva. Éppen ezért először mindig a bemeneti tömböt kössük be az Index Array bemenetére, és csak azután a többit.
❑ Kattintsunk jobb egérgombbal az Index Array index(row) bemenetére.
❑ A legördülő menüből válasszuk ki a Create»Constant menüpontot. ❑ A létrejött konstans mezőjébe írjunk be 2-t, hogy a tömb harmadik
sorát kapjuk vissza. Ne felejtsük, a tömbök indexelése nullától indul.
❑ Kattintsunk jobb egérgombbal az Index Array subarray kimenetére. ❑ A legördülő menüből válasszuk ki a Create»Indicator menüpontot. ❑ Az új indikátort nevezzük el Third Row-nak (harmadik sor).
LabVIEW Core 1 Feladatok
5-6
ni.com
5. lecke
Összetett adattípusok
5. Az Index Array művelet segítségével most másoljuk ki az Array tömb második oszlopát.
❑ Helyezzünk el egy újabb Index Array (tömb eleme) műveletet a blokkdiagramon.
❑ Kössük be az Array indikátor terminálját az Index Array művelet array bemenetére.
❑ Kattintsunk jobb egérgombbal az Index Array disabled index(col) bemenetére.
Mi nta
❑ A legördülő menüből válasszuk ki a Create»Constant menüpontot. ❑ Hogy a tömb második oszlopát kapjuk vissza, a létrejött konstans mezőjébe 1-t kell írnunk, hiszen a tömb indexelése nullával kezdődik.
❑ Kattintsunk jobb egérgombbal az Index Array subarray kimenetére. ❑ A legördülő menüből válasszuk ki a Create»Indicator menüpontot. ❑ Az új indikátort nevezzük el Second Column-nak (második oszlop).
6. Mentsük el a VI-t.
7. Váltsunk át a front panelre.
8. Írjunk be különböző értékeket a Rows (sorok száma) és a Columns (oszlopok száma) kontrollokba. 9. Futtassuk a VI-t.
5-1. feladat vége
© National Instruments Corporation
5-7
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
5-2. feladat
Alapismeretek: Clusterek
Cél Hozzunk létre clustereket (lásd struktúrákat C-ben, rekordokat Pascalban) a front panelen, változtassuk meg az elemeinek sorrendjét, ismerjük meg a cluster műveletek használatát.
Tennivalók
Mi nta
Ebben a feladatban kísérletezni fogunk a clusterekkel, illetve a clustereken végezhető műveletekkel. A feladat során elkészített VI-unkat a gyakorlatban valószínűleg nem fogjuk használni, ám kiválóan alkalmas a clusterek működési elvének megismerésére. 1. Nyissunk meg egy üres VI-t.
2. Mentsük el a VI-t Cluster Experiment.vi néven az <Exercises>\ LabVIEW Core 1\Clusters könyvtárba. A következő lépések végrehajtásával hozzuk létre az 5-7. ábrán látható front panelt.
5-7. ábra A Cluster Experiment VI front panelje
3. Helyezzünk el egy stop gombot a front panelen.
4. Helyezzünk el egy numerikus indikátort a front panelen.
5. Helyezzünk el egy kör alakú LED indikátort a front panelen. 6. Nevezzük át a LED indikátort Boolean 2-re.
LabVIEW Core 1 Feladatok
5-8
ni.com
5. lecke
Összetett adattípusok
7. Cluster néven hozzunk létre egy numerikus kontrollt, két kapcsolót és egy csúszkát tartalmazó clustert.
❑ Helyezzünk el egy üres clustert a front panelen. ❑ Helyezzünk el egy numerikus kontrollt a cluster belsejében. ❑ Adjunk a clusterhez két függőleges állású kapcsolót. ❑ Írjuk át a Boolean kapcsolók nevét Boolean 1-re, illetve Boolean 2-re.
❑ Adjunk a clusterhez egy horizontal fill slide (vízszintes csúszka)
Mi nta
elemet.
8. Hozzunk létre egy másik clustert Modified Cluster néven, a Cluster clusterrel megegyező tartalommal, csak a kontrollok helyet indikátorokkal.
❑ Készítsünk másolatot a Cluster clusterről.
❑ A másolat címkéjét nevezzük át Modified Cluster-re.
❑ Jobb egérgombbal kattintsunk a Modified Cluster keretére,
és a legördülő menüből válasszuk ki a Change to Indicator menüpontot.
9. Small Cluster néven hozzunk létre egy újabb clustert, mely egy boolean indikátort és egy numerikus indikátort tartalmaz.
❑ Készítsünk másolatot a Modified Cluster clusterről.
❑ Az új cluster címkéjét nevezzük át Small Cluster-re. ❑ Töröljük ki a második toggle switch (kapcsoló) elemet. ❑ Töröljük ki a vízszintes csúszka indikátort is.
❑ Jobb egérgombbal kattintsunk a Small Cluster keretére, és válasszuk ki az Autosizing»Size to Fit menüpontot.
❑ A numerikus indikátor nevét írjuk át Slide value-ra. ❑ Szükség esetén állítsunk a cluster méretén.
© National Instruments Corporation
5-9
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
10. Ellenőrizzük a Cluster, a Modified Cluster és a Small Cluster elemeinek sorrendjét.
❑ Jobb egérgombbal kattintsunk a Cluster keretére, és a legördülő
menüből válasszuk ki a Reorder Controls in Cluster menüpontot.
❑ Ellenőrizzük, hogy az elemek sorrendje megegyezik az 5-8. ábrán látható sorrenddel.
❑ A sorrend véglegesítéséhez és a szerkesztő mód elhagyásához kattintsunk az eszköztárban található Confirm gombra.
❑ Jobb egérgombbal kattintsunk a Modified Cluster keretére, és a
Mi nta
legördülő menüből válasszuk ki a Reorder Controls in Cluster menüpontot.
❑ Ellenőrizzük, hogy az elemek sorrendje megegyezik-e
az 5-8. ábrán látható sorrenddel. A Modified Cluster elemeinek sorrendje meg kell, hogy egyezzen a Cluster elemeinek sorrendjével.
❑ A sorrend véglegesítéséhez és a szerkesztő mód elhagyásához kattintsunk az eszköztárban található Confirm gombra.
❑ Jobb egérgombbal kattintsunk a Small Cluster keretére, és a
legördülő menüből válasszuk ki a Reorder Controls in Cluster menüpontot. A sorrend véglegesítéséhez és a szerkesztő mód elhagyásához kattintsunk az eszköztárban található Confirm gombra.
❑ Ellenőrizzük, hogy az elemek sorrendje megegyezik-e az 5-8. ábrán látható sorrenddel.
5-8. ábra A clusterek elemeinek helyes sorrendje
LabVIEW Core 1 Feladatok
5-10
ni.com
5. lecke
Összetett adattípusok
Mi nta
A következő lépések végrehajtása során megépítjük az 5-9. ábrán látható blokkdiagramot.
5-9. ábra A Cluster Experiment VI blokkdiagramja
11. Helyezzünk el a blokkdiagramon egy, a Structures palettán található While ciklust. 12. Bontsuk elemeire a Cluster kontrollt.
❑ Helyezzünk el egy Unbundle (kicsomagolás) műveletet a blokkdiagramon.
❑ Kössük be a Cluster kontroll terminálját a kicsomagolás művelet bemenetére. Látni fogjuk, hogy a művelet ikonja automatikusan átméreteződik a cluster elemeinek megfelelően.
13. Gyűjtsük egybe a Small Cluster elemeit.
❑ Helyezzünk el egy Bundle (becsomagolás) műveletet a blokkdiagramon.
❑ Kössük be a becsomagolás művelet termináljait az 5-9. ábra szerint.
14. Gyűjtsük egybe a Modified Cluster elemeit.
❑ Helyezzünk el egy Unbundle by Name (kicsomagolás név szerint) műveletet a blokkdiagramon.
❑ Kössük be a Cluster kontroll terminálját az Unbundle by Name művelet bemenetére.
❑ Méretezzük át az Unbundle by Name művelet ikonját, hogy két kimeneti terminálja legyen látható.
❑ Az első terminálra válasszuk ki a Numeric elemet, a másodikra pedig a Boolean 1-et. A terminálcímkék kiválasztásához használjuk a műveletvégző eszközt.
© National Instruments Corporation
5-11
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
❑ Helyezzünk el egy Increment műveletet a blokkdiagramon. ❑ Kössük össze az Unbundle By Name művelet Numeric címkéjű kimenetét az Increment művelet bemenetével. Az Increment művelet a Numeric értékéhez hozzáad egyet.
❑ Helyezzünk el egy Not (negálás) műveletet a blokkdiagramon. ❑ Kössük össze az Unbundle By Name művelet Boolean 1 címkéjű
kimenetét a negálás művelet x bemenetével. A negálás művelet a Boolean értékének logikai ellentettjét képzi.
❑ Helyezzünk el egy Bundle by Name (becsomagolás név szerint)
Mi nta
műveletet a blokkdiagramon.
❑ Kössük be a Cluster kontrollt a Bundle by Name művelet cluster bemenetére.
❑ Méretezzük át a Bundle by Name művelet ikonját, hogy két bemeneti terminálja legyen látható.
❑ Az első terminálra válasszuk ki a Numeric elemet, a másodikra pedig a Boolean 1-et. A terminálcímkék kiválasztásához használjuk a műveletvégző eszközt.
❑ Az Increment művelet kimenetét kössük össze a Bundle by Name művelet Numeric bemenetével.
❑ A negálás művelet kimenetét kössük össze a Bundle by Name művelet Boolean 1 bemenetével.
❑ A Bundle By Name művelet kimenetét kössük be a Modified Cluster indikátor termináljába.
15. Helyezzünk el egy várakozás műveletet a While ciklusban, hogy a többi taszk számára is jusson elégséges processzor-idő.
❑ Helyezzünk el egy Wait Until Next ms Multiple műveletet a blokkdiagramon.
❑ Jobb gombbal kattintsunk a Wait Until Next ms Multiple művelet millisecond multiple bemenetére.
❑ A legördülő menüből válasszuk ki a Create»Constant menüpontot. ❑ A létrejött szám konstans értékének írjunk be 100-et.
16. Kössük be a még hiányzó vezetékeket az 5-9. ábrának megfelelően. 17. Mentsük el a VI-t.
18. Nyissuk meg a front panelt. 19. Futtassuk a VI-t.
LabVIEW Core 1 Feladatok
5-12
ni.com
5. lecke
Összetett adattípusok
20. Állítsunk be különböző értékeket a Cluster elemeiben, és figyeljük meg, a Cluster kontrollban végzett változtatások hogyan hatnak a Modified Cluster és Small Cluster indikátorokra. Úgy működik a VI, ahogy azt előre vártuk? 21. Ha végeztünk a kísérletezéssel, a Stop gombbal állítsuk le a VI-t. 22. Változtassuk meg a Modified Cluster elemeinek sorrendjét. Futtassuk a VI-t. A sorrend megváltoztatásával hogyan változott a program viselkedése?
Mi nta
23. Zárjuk be a VI-t. A változtatásokat ne mentsük el.
5-2. feladat vége
© National Instruments Corporation
5-13
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
5-3. feladat
Alapismeretek: Típus definíció
Cél A type definition (típus definíció) és a strict type definition (pontos típus definíció) közötti különbségek megértése.
Tennivalók 1. Nyissunk meg egy üres VI-t.
Mi nta
2. Hozzunk létre egy custom (egyedi) kontrollt strict type definition státusszal.
❑ Helyezzünk el egy numerikus kontrollt a front panelen,
és módosítsuk a nevét Strict Type Def Numeric-re.
❑ A Control Editor ablak megnyitásához kattintsunk jobb
egérgombbal a kontrollra, és a legördülő menüből válasszuk ki az Advanced»Customize menüpontot.
❑ A Control Type legördülő menüből válasszuk ki a Strict Type Def. opciót.
❑ Kattintsunk jobb egérgombbal a kontrollra, és a legördülő menüből válasszuk ki a Representation»Unsigned Long típust.
❑ Válasszuk ki a File»Save menüpontot.
❑ Mentsük el a kontrollt Strict Type Def Numeric.ctl néven az <Exercises>\LabVIEW Core 1\Type Definition könyvtárba.
❑ Zárjuk be a kontroll-editor ablakot.
❑ A kérdésre, hogy szeretnénk-e lecserélni az eredeti kontrollt a szerkesztett változattal, válaszoljunk igennel.
3. Vizsgáljuk meg a strictly defined (pontosan definiált) egyedi numerikus kontrollunkat.
❑ Kattintsunk jobb egérgombbal a Strict Type Def Numeric kontrollra,
és a legördülő menüből válasszuk ki a Properties menüpontot. Figyeljük meg, hogy csak az Appearance (külső megjelenés), a Documentation és a Key Navigation (billentyű hozzárendelések) fülek érhetők el, az összes többi tulajdonságot a strict type definition határozza meg.
❑ A Cancel gombra kattintva zárjuk be a Properties párbeszédablakot.
❑ Ismét kattintsunk jobb gombbal a Strict Type Def Numeric
kontrollra. Láthatjuk, hogy a legördülő menüben többé nem érhető el a Representation (adattípus) pont, ugyanakkor lehetőségünk van megnyitni a típusdefiníciót, vagy akár függetleníthetjük is a kontrollt tőle.
LabVIEW Core 1 Feladatok
5-14
ni.com
5. lecke
Összetett adattípusok
4. Módosítsuk a strict type def kontrollt.
❑ Kattintsunk jobb egérgombbal a Strict Type Def Numeric kontrollra, és a legördülő menüből válasszuk ki az Open Type Def. menüpontot.
❑ A Control Editor ablakban kattintsunk jobb egérgombbal a
numerikus kontrollra, és a legördülő menüből válasszuk ki a Representation»DBL menüpontot.
❑ Válasszuk ki a File»Save menüpontot.
Mi nta
❑ Zárjuk be a kontroll-editor ablakot. ❑ A Context Help (tartalom-érzékeny súgó) ablak megnyitásához válasszuk ki a Help»Show Context Help menüpontot.
❑ A VI-on vigyük az egérkurzort a kontroll fölé, és figyeljük meg, hogy az U32 adattípus DBL-re változott.
❑ Kattintsunk jobb egérgombbal a Strict Type Def Numeric kontrollra, és a legördülő menüből válasszuk ki az Open Type Def. menüpontot.
❑ Változtassunk a numerikus kontrollunk külső megjelenésén oly
módon, hogy a Control Editor ablakban módosítjuk annak méretét.
❑ Válasszuk ki a File»Save menüpontot. ❑ Zárjuk be a kontroll-editor ablakot.
❑ Figyeljük meg, hogy miután módosítottuk a strict type def kontrollt,
a változtatás a VI front paneljén lévő numerikus kontrollra is hatott.
5. Hozzunk létre egy custom (egyedi) kontrollt type definition státusszal.
❑ Helyezzünk el egy újabb numerikus kontrollt a front panelen, és módosítsuk a nevét Type Def Numeric-re.
❑ A Control Editor ablak megnyitásához kattintsunk jobb
egérgombbal a kontrollra, és a legördülő menüből válasszuk ki az Advanced»Customize menüpontot.
❑ A Control Type legördülő menüből válasszuk ki a Type Def. opciót. ❑ Kattintsunk jobb egérgombbal a kontrollra, és a legördülő menüből válasszuk ki a Representation»Unsigned Long típust.
❑ Válasszuk ki a File»Save menüpontot.
❑ Mentsük el a kontrollt Type Def Numeric.ctl néven az
<Exercises>\LabVIEW Core 1\Type Definition könyvtárba.
© National Instruments Corporation
5-15
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
❑ Zárjuk be a kontroll-editor ablakot. ❑ A kérdésre, hogy szeretnénk-e lecserélni az eredeti kontrollt a szerkesztett változattal, válaszoljunk igennel.
6. Vizsgáljuk meg a type defined (típusdefiniált) egyedi numerikus kontrollunkat.
❑ Kattintsunk jobb egérgombbal a Type Def Numeric kontrollra,
Mi nta
és a legördülő menüből válasszuk ki a Properties menüpontot. Figyeljük meg, hogy ebben az esetben több paraméter érhető el, mint például a Data Entry (adatbevitel) és Display Format (tartalmi megjelenés) tulajdonságok.
❑ A Cancel gombra kattintva zárjuk be a Properties párbeszédablakot.
❑ Ismét kattintsunk jobb gombbal a Type Def Numeric kontrollra.
Láthatjuk, hogy a Representation menüpont ki van szürkítve, hiszen a kontroll típusát továbbra is a típusdefiníció határozza meg. Megfigyelhetünk viszont egy újabb menüpontot: megszabhatjuk, hogy a kontroll együtt frissüljön-e automatikusan a típusdefinícióval.
7. Módosítsuk a type def kontrollt.
❑ Kattintsunk jobb egérgombbal a Type Def Numeric kontrollra, és a legördülő menüből válasszuk ki az Open Type Def. menüpontot.
❑ A Control Editor ablakban kattintsunk jobb egérgombbal a Type Def Numeric kontrollra, és a legördülő menüből válasszuk ki a Representation»DBL menüpontot.
❑ Válasszuk ki a File»Save menüpontot. ❑ Zárjuk be a kontroll-editor ablakot.
❑ A Context Help (tartalom-érzékeny súgó) ablak megnyitásához válasszuk ki a Help»Show Context Help menüpontot.
❑ A VI-on vigyük az egérkurzort a Type Def Numeric kontroll fölé, és figyeljük meg, hogy az U32 adattípus DBL-re változott.
❑ Kattintsunk jobb egérgombbal a Type Def Numeric kontrollra, és a legördülő menüből válasszuk ki az Open Type Def. menüpontot.
❑ Változtassunk a numerikus kontrollunk külső megjelenésén oly
módon, hogy a Control Editor ablakban módosítjuk annak méretét.
❑ Válasszuk ki a File»Save menüpontot. ❑ Zárjuk be a kontroll-editor ablakot.
LabVIEW Core 1 Feladatok
5-16
ni.com
5. lecke
Összetett adattípusok
❑ Vegyük észre, hogy ebben az esetben, miután módosítottuk a type def kontroll méretét a Control Editor ablakban, a változtatás a VI front paneljén lévő Type Def Numeric kontrollra nem volt hatással. A type def kontrollok egyes példányai csak abban az esetben módosulnak, ha típusdefiníciójuk adattípusa változik.
8. Helyezzük el az egyedi kontrollnak egy újabb példányát a front panelen, és válasszuk le azt a típusdefinícióról.
❑ A Controls palettáról válasszuk ki a Select a Control funkciót. ❑ Válasszuk ki a Type Def Numeric.ctl kontrollt az
Mi nta
<Exercises>\LabVIEW Core 1\Type Definition könyvtárból.
❑ Kattintsunk az OK gombra.
❑ Kattintsunk jobb egérgombbal az új kontrollra, és a legördülő
menüből válasszuk ki a Disconnect from Type Def. menüpontot.
❑ Kattintsunk az OK gombra.
❑ Jobb gombbal ismét rákattintva a kontrollra láthatjuk, hogy most már ki tudjuk választani a Representation menüpontot, hiszen többé nem kötődik típusdefinícióhoz a kontroll.
9. Ha készen vagyunk, zárjuk be a VI-t. Nem kell elmentenünk a VI-t, a továbbiakban nem lesz rá szükségünk.
5-3. feladat vége
© National Instruments Corporation
5-17
LabVIEW Core 1 Feladatok
5. lecke
Összetett adattípusok
Mi nta
Feljegyzések
LabVIEW Core 1 Feladatok
5-18
ni.com