Cvičení LabVIEW Core 2
áz ka
TM
Verze softwaru ke kurzu 2010 Edice Srpen 2010 Číslo dílu 325293B-0132 Cvičení LabVIEW Core 2
Autorské právo © 1993–2010 National Instruments Corporation. Všechna práva vyhrazena. Podle autorského zákona není dovoleno bez předchozího písemného souhlasu National Instruments Corporation pořizovat rozmnoženiny této publikace nebo její části ani ji nebo její část jakýmkoliv způsobem šířit, ať již elektronicky či mechanicky, včetně pořizování fotokopií, nahrávání, uchovávání v informačním vyhledávacím systému či překládání. National Instruments respektuje duševní vlastnictví třetích osob a proto žádáme naše uživatele, aby je respektovali také. NI software je chráněn autorským právem a dalšími zákony na ochranu duševního vlastnictví. Tam, kde je NI software užíván k pořizování rozmnoženin softwaru a jiných materiálů patřících třetím osobám, jste oprávněni NI software používat pouze k pořizování rozmnoženin těch materiálů, jejichž rozmnoženiny je možné pořizovat v souladu s podmínkami stanovenými aplikovatelnou licencí nebo v souladu s jinými právními omezeními.
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.
Uk
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
Ochranné známky LabVIEW, National Instruments, NI, ni.com, logo společnosti National Instruments a logo Orla jsou označení chráněná ochrannými známkami společnosti National Instruments Corporation. Ostatní ochranné známky zapsané ve prospěch společnosti National Instruments naleznete v Trademark Information na ni.com/trademarks.
Jiná označení a názvy výrobků a společností zde uvedená jsou chráněna ochrannými známkami nebo se jedná o chráněná obchodní jména příslušných společností. Členové programu National Instruments Alliance Partner Program jsou obchodní entity nezávislé na National Instruments a vztah mezi nimi a National Instruments není vztahem zastoupení, sdružením ani se nejedná o společný podnik.
Patenty Patenty chránící výrobky/technologie National Instruments naleznete umístěny v: Help»Patents ve vašem softwaru, soubor patents.txt na vašem médiu nebo v National Instruments Patent Notice na ni.com/patents.
áz ka
Uk Podpora
Celosvětová technická podpora a informace o produktech
ni.com
Hlavní sídlo National Instruments Corporation 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100
Pobočky ve světě Austrálie 1800 300 800, Belgie 32 (0) 2 757 0020, Brazílie 55 11 3262 3599, Česká republika 420 224 235 774, Čína 86 21 5050 9800, Dánsko 45 45 76 26 00, Finsko 358 (0) 9 725 72511, Francie 01 57 66 24 24, Indie 91 80 41190000, Itálie 39 02 41309277, Izrael 972 3 6393737, Japonsko 0120-527196, Jihoafrická republika 27 0 11 805 8197, Kanada 800 433 3488, Korea 82 02 3451 3400, Libanon 961 (0) 1 33 28 28, Malajsie 1800 887710, Mexiko 01 800 010 0793, Německo 49 89 7413130, Nizozemsko 31 (0) 348 433 466, Norsko 47 (0) 66 90 76 60, Nový Zéland 0800 553 322, Polsko 48 22 328 90 10, Portugalsko 351 210 311 210, Rakousko 43 662 457990-0, Rusko 7 495 783 6851, Singapur 1800 226 5886, Slovensko 386 3 425 42 00, Španělsko 34 91 640 0085, Švédsko 46 (0) 8 587 895 00, Švýcarsko 41 56 2005151, Tchaj-wan 886 02 2377 2222, Thajsko 662 278 6777, Turecko 90 212 279 3031, Velká Británie 44 (0) 1635 523545 Více informací o podpoře naleznete v příloze Další informace a zdroje. Komentáře k dokumentaci společnosti National Instruments můžete zadat na webové stránce National Instruments ni.com/info po zadání kódu feedback do pole Info Code.
Obsah Studentská příručka Certifikace NI.......................................................................................................v Popis kurzu .........................................................................................................vi Co potřebujete do začátku ..................................................................................vii Instalace softwaru ke kurzu.................................................................................vii Cíle kurzu ............................................................................................................viii Konvence v kurzu................................................................................................ix
áz ka
A. B. C. D. E. F.
Lekce 2 Techniky synchronizace Cvičení 2-1
Koncept: Porovnání front s lokálními proměnnými ........................2-1
Lekce 3 Programování s využitím událostí Cvičení 3-1 Cvičení 3-2
Koncept: Experimentování s událostmi řízenými strukturami ........3-1 Vytvoření konzole s tiskovou frontou .............................................3-4
Lekce 4 Zpracování chyb Cvičení 4-1
Přidání zpracování chyb do tiskové konzole ..................................4-1
Lekce 5 Ovládání uživatelského rozhraní
Zobrazení teploty a mezních hodnot..............................................5-1 Přizpůsobení okna VI.....................................................................5-5 Nastavení názvů průběhů ..............................................................5-10
Uk
Cvičení 5-1 Cvičení 5-2 Cvičení 5-3
Lekce 6 Techniky pro zápis a čtení ze souboru Cvičení 6-1 Cvičení 6-2
VI Bitmap File Writer ......................................................................6-1 Čtení TDMS souborů .....................................................................6-8
Lekce 7 Vylepšení stávajícího VI Cvičení 7-1
Koncept: Refaktorování VI .............................................................7-1
Lekce 8 Tvorba a distribuce aplikací Cvičení 8-1 Cvičení 8-2
Příprava souborů na distribuci .......................................................8-1 Vytvoření samostatné aplikace ......................................................8-7
© National Instruments Corporation
iii
Cvičení LabVIEW Core 2
Obsah
Příloha A Nastavení vašeho hardwaru
Uk
áz ka
Příloha B Další informace a zdroje
Cvičení LabVIEW Core 2
iv
ni.com
5
Ovládání uživatelského rozhraní
Cíl
Zobrazení teploty a mezních hodnot
áz ka
Cvičení 5-1
Použít prvky Property Node pro změnu nastavení objektů na čelním panelu z programu.
Situace
Dokončete VI, které zaznamenává teplotu do grafu průběhu. Při svém vykonávání provádí VI tyto úkoly:
Postup
•
Nastavte hodnotu Δx na grafu na uživatelsky definovanou hodnotu.
•
Vymažte graf s průběhem tak, aby na začátku neobsahoval žádná data.
•
Změňte barvu příslušného průběhu, pokud jeho hodnoty překročí určitou hranici.
•
Rozblikejte indikátor alarmu, pokud hodnoty překročí určitou hranici.
Přidejte do stávajícího VI následující prvky typu Property Node: Typ
Název
Temperature
XScale.Multiplier
Waveform Chart
Temperature
History
Waveform Chart
Temperature
Active Plot 0»Plot.Color
Dvoustavový indikátor (LED)
Over Limit
Blinking
Uk
Waveform Chart
Property (vlastnost)
© National Instruments Corporation
5-1
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
Implementace
áz ka
1. Otevřete soubor Temperature Limit.vi z adresáře <Exercises>\ LabVIEW Core 2\Temperature Limit. Čelní panel je pro vás již připraven.
Obrázek 5-1. Čelní panel Temperature Limit
Uk
2. Otevřete blokový diagram tohoto VI. Část pro vás již byla vytvořena. Na obrázku 5-2 vidíte příklad finální podoby blokového diagramu.
Obrázek 5-2. Blokový diagram Temperature Limit
3. Upravte toto VI tak, aby nastavilo hodnotu Δx na grafu na vstupní hodnotu Δt (ms) zadanou uživatelem.
❑ Klikněte pravým tlačítkem myši na ukazatel Temperature a z
kontextového menu zvolte Create»Property Node»X Scale» Offset and Multiplier»Multiplier pro vytvoření Property Node.
Cvičení LabVIEW Core 2
5-2
ni.com
Lekce 5
Ovládání uživatelského rozhraní
❑ Umístěte nový objekt Property Node na levou stranu od smyčky While.
❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Vydělte hodnotu delta t (ms) číslem 1000, abyste zjistili hodnotu
áz ka
X-Scale Multiplier (koeficient násobení pro osu X), jak vidíte na obrázku 5-2.
4. Upravte toto VI tak, aby před počátkem měření teploty byla vymazána všechna stará data z grafu průběhu Temperature.
Tip Pro vymazání grafu průběhu z blokového diagramu zapište do položky History Data prázdné datové pole.
❑ Změňte rozměry prvku Property Node tak, aby měl dva terminály. ❑ Nastavte na druhém terminálu položku History Data.
❑ Zkontrolujte, že je položka History Data nastavena pro zápis (Write).
❑ Klikněte pravým tlačítkem myši na položku History Data a z kontextové nabídky vyberte Create»Constant.
❑ Připojte Property Node tak, jak vidíte na obrázku 5-2.
5. Upravte toto VI tak, že když jsou měřeny hodnoty, je průběh Data přebarven na červeno, a LED Over Limit se rozbliká, když teplota překročí mezní hodnotu.
❑ Klikněte pravým tlačítkem myši na ukazatel Temperature a z
Uk
kontextového menu zvolte Create»Property Node»Active Plot pro vytvoření dalšího prvku Property Node.
❑ Umístěte nový objekt Property Node do varianty True programové struktury Case.
❑ Změňte rozměry prvku Property Node tak, aby měl dva terminály. ❑ Klikněte na druhý terminál a vyberte Plot»Plot Color. ❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Připojte k položce Active Plot číselnou konstantu 0 pro výběr prvního průběhu na grafu teplot Temperature.
❑ Připojte k položce Plot Color konstantu červené barvy, aby byla barva průběhu nastavena na červenou, když hodnota překročí hodnotu High Limit.
© National Instruments Corporation
5-3
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
❑ Vytvořte kopii objektu Property Node tak, že stisknete a podržíte klávesu
a přetáhnete jej myší.
Nepoužívejte pro kopírování Property Node standardní schránku (Edit»Copy nebo ). Došlo by tak k vytvoření odlišného typu Property Node, o kterém se dozvíte v sekci Control References lekce 5, Controlling the User Interface, v příručce LabVIEW Core 2 Course Manual. Tip
áz ka
❑ Umístěte kopii prvku Property Node do varianty False programové struktury Case, jak vidíte na obrázku 5-3.
❑ Připojte k položce Active Plot číselnou konstantu 0 pro výběr prvního průběhu na grafu teplot Temperature.
❑ Připojte k položce Plot Color konstantu zelené barvy, aby byla barva průběhu nastavena na zelenou, když hodnota nepřekročí hodnotu High Limit.
Obrázek 5-3. Varianta False struktury Case VI Temperature Limit
6. Upravte toto VI tak, že když jsou měřeny hodnoty, začne LED Over Limit blikat, když teplota překročí hraniční hodnotu.
❑ Klikněte pravým tlačítkem myši na ukazatel Over Limit a z
kontextové nabídky vyberte Create»Property Node»Blinking.
❑ Umístěte nový objekt Property Node dovnitř smyčky While.
Uk
❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Připojte Property Node tak, jak vidíte na obrázku 5-2.
7. Uložte toto VI.
Test
1. Spusťte VI, abyste zkontrolovali, že se chová správně. 2. Zavřete VI.
Konec cvičení 5-1
Cvičení LabVIEW Core 2
5-4
ni.com
Lekce 5
Cvičení 5-2
Ovládání uživatelského rozhraní
Přizpůsobení okna VI
Cíl Upravit atributy VI pomocí prvků Property Node a Invoke Node.
Situace
áz ka
Můžete nastavit vlastnosti zobrazení VI staticky tak, že použijete stránku s vlastnostmi VI. Nicméně robustní uživatelské rozhraní musí často modifikovat vzhled čelního panelu i v průběhu běhu programu.
Máte za úkol vytvořit VI, které dokáže na vyžádání provádět následující úkoly:
Postup
•
Zobrazit nebo schovat svůj pruh s titulkem
•
Zobrazit nebo schovat svou nabídkovou lištu
•
Stát se průhledným tak, aby byly viditelné objekty za VI
•
Přemístit se do centra obrazovky
Vstupy a výstupy Typ
Název
Výchozí hodnota
Show Menu Bar? (zobrazit pruh nabídky?)
True (ano)
Push Button
Show Title Bar? (zobrazit pruh s titulkem?)
True
Push Button
Make VI Transparent? (VI průhledné?)
True
Tlačítko OK
Center
False (ne)
Tlačítko Stop
Stop
False
Uk
Push Button (tlačítko)
Tip Použijte tlačítka typu Push Button, protože jejich výchozí mechanická akce je Switch When Pressed (přepnout když stisknuto). Použijte tlačítko OK, protože jeho výchozí mechanická akce je Latch When Released (spojit po uvolnění).
© National Instruments Corporation
5-5
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
Vlastnosti Použijte následující vlastnosti a funkce na třídu VI: ShowMenuBar—Když je tato vlastnost zapnuta, je ve VI viditelný pruh s nabídkami.
áz ka
Obrázek 5-4. Pruh s nabídkami VI
TitleBarVisible—Když je tato vlastnost zapnuta, je ve VI viditelný pruh s titulkem.
Obrázek 5-5. Pruh s titulkem VI
RunVITransparently—Když je tato vlastnost zapnuta, lze měnit hodnotu průhlednosti VI. Výchozí hodnota tohoto parametru je vypnuto, takže jej musíte nejprve povolit před tím, než budete měnit průhlednost VI.
Transparency—Tento parametr určuje míru průhlednosti VI. Lze do něj zapsat hodnotu v rozsahu 0 až 100. Hodnota 0 způsobí, že je VI zcela neprůhledné (normální chování), a hodnota 100 učiní VI zcela průhledným (neviditelným). V tomto cvičení nastavíte tuto hodnotu na 50, když je stisknuto tlačítko Make VI Transparent?.
Metody
Uk
Na rozdíl od vlastností, metoda má efekt pokaždé, když ji zavoláte. Proto byste měli volat metody pouze v tom případě, že chcete provést nějakou akci. Například pokud zavoláte metodu Fp.Center při každém průchodu smyčkou, je VI neustále umisťováno do středu obrazovky, a uživatel tedy nemá možnost jej přemístit. Můžete použít strukturu Case pro řízení volání metody pouze v daném průchodu smyčkou. Použijte následující metodu na třídu VI:
Center—Pokaždé, když je tato metoda zavolána, přemístí se VI do středu obrazovky.
Tip
Použijte okno Context Help pro zobrazení popisů každé vlastnosti a metody.
Struktura VI
Toto VI čte ovládací prvky na čelním panelu každých 50 ms a nastavuje hodnoty vlastností v závislosti na aktuální hodnotě ovládacího prvku. Provádění metody Center je řízeno strukturou Case.
Cvičení LabVIEW Core 2
5-6
ni.com
Lekce 5
Ovládání uživatelského rozhraní
Implementace
áz ka
1. Otevřete VI Customize VI Window z adresáře <Exercises>\LabVIEW Core 2\Customize VI Window. Čelní panel tohoto VI je zobrazen na obrázku 5-6.
Obrázek 5-6. Čelní panel VI Customize VI Window
Podle následujících kroků vytvoříte blokový diagram pro toto VI. Příklad hotového blokového diagramu je na obrázku 5-7.
Uk
Obrázek 5-7. Blokový diagram Customize VI Window
Obrázek 5-8. Varianta False struktury Case pro metodu Center
2. Umístěte okolo terminálů smyčku While.
3. Vytvořte referenci na toto VI.
❑ Vložte do blokového diagramu VI Server Reference na levou stranu od smyčky While.
© National Instruments Corporation
5-7
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
❑ Nastavte VI Server Reference na hodnotu This VI, pokud již není nastavena.
Poznámka Pomocí reference This VI (toto VI) můžete přistupovat ke všem metodám a vlastnostem aktuálního VI, aniž byste museli explicitně otevírat a zavírat referenci.
4. Vytvořte prvek Property Node pro vlastnost RunTransparently.
áz ka
❑ Klikněte pravým tlačítkem myši na referenci This VI a vyberte z
kontextové nabídky Create»Property for VI Class»Front Panel Window»Run VI Transparently pro vytvoření Property Node.
❑ Přesuňte Property Node napravo od reference This VI, mimo smyčku While.
❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Klikněte pravým tlačítkem myši na vlastnost FP:RunTransparently a z kontextové nabídky vyberte Create»Constant.
❑ Změňte hodnotu této konstanty na True.
5. Vytvořte objekt Property Node s vlastnostmi ShowMenuBar, TitleBarVis, a Transparency.
❑ Klikněte prvým tlačítkem myši na referenci This VI a vyberte z
kontextové nabídky Create»Property for VI Class»Front Panel Window»Show Menu Bar pro vytvoření dalšího objektu Property Node.
❑ Rozšiřte tento Property Node tak, aby měl tři prvky.
❑ Klikněte na druhou položku v Property Node a vyberte Front Panel
Uk
Window»Title Bar Visible.
❑ Klikněte na třetí položku v Property Node a vyberte Front Panel Window»Transparency.
❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Přemístěte objekt Property Node dovnitř smyčky While. ❑ Vložte do smyčky While funkci Select. ❑ Vložte nalevo od funkce Select dvě číselné konstanty s hodnotami 0 a 50.
❑ Připojte číselnou konstantu 0 ke vstupu f funkce Select. ❑ Připojte číselnou konstantu 50 ke vstupu t funkce Select. ❑ Připojte dvoustavové ovládací prvky k příslušným vlastnostem, jak vidíte na obrázku 5-7.
Cvičení LabVIEW Core 2
5-8
ni.com
Lekce 5
Ovládání uživatelského rozhraní
6. Vytvořte prvek Invoke Node pro metodu Center.
❑ Klikněte prvým tlačítkem myši na referenci This VI a vyberte z
kontextové nabídky Create»Method for VI Class»Front Panel» Center pro vytvoření Invoke Node.
7. Vytvořte okolo prvku Invoke Node s metodou FP.Center strukturu Case. 8. Přidejte do smyčky čekání v délce 50 ms.
áz ka
❑ Vložte do smyčky While funkci Wait (ms).
❑ Klikněte pravým tlačítkem myši na vstup milliseconds to wait a z kontextové nabídky vyberte Create»Constant.
❑ Zadejte 50 jako hodnotu číselné konstanty.
9. Nastavte smyčku While, aby se zastavila, když uživatel stiskne tlačítko Stop, nebo když dojde k chybě.
❑ Vložte do smyčky While funkci Unbundle By Name. ❑ Vložte do smyčky While funkci Or.
10. Propojte blokový diagram tak, jak vidíte na obrázku 5-7 a na obrázku 5-8. Nezapomeňte nahradit tunel chybového clusteru posuvným registrem.
11. Zobrazte uživateli upozornění na jakoukoliv chybu, která se vyskytne.
❑ Přidejte napravo od smyčky While VI Simple Error Handler.
❑ Připojte VI Simple Error Handler k výstupnímu posuvnému registru chybového clusteru ve smyčce While.
Uk
12. Uložte toto VI.
Test
1. Přepněte se do okna s čelním panelem vašeho VI.
2. Spusťte toto VI.
3. Vyzkoušejte stisknout každé z tlačítek a sledujte výsledky.
Konec cvičení 5-2
© National Instruments Corporation
5-9
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
Cvičení 5-3
Nastavení názvů průběhů
Cíl Použít reference na ovládací prvky k vytvoření subVI, které modifikuje nastavení grafu.
Situace
Postup
áz ka
Vytvořte subVI, které vám umožní přiřadit ke grafu seznam názvů průběhů. Toto subVI by mělo přizpůsobit velikost legendy grafu názvům všech zobrazených průběhů.
Vstupy a výstupy Typ
Název
Výchozí hodnota
Reference na objekt typu GraphChart
Graph Reference
není
Ovládací prvek s jednorozměrným polem textových položek
Plot Names
Prázdné pole
Ovládací prvek Error Cluster
Error In
Žádná chyba
Ukazatel Error Cluster
Error Out
Žádná chyba
Reference na ovládací prvky
Uk
Oba ovládací prvky Waveform Chart i Waveform Graph jsou objekty ve třídě GraphChart. Abyste mohli napsat subVI, které může přijímat reference na oba typy grafů, musíte použít referenci se slabým datovým typem pro třídu GraphChart. Nicméně tato třída obsahuje i další typy grafů, jako je například graf typu XY Graph (bodový). Toto subVI bude generovat chybu, pokud uživatel připojí jakýkoliv jiný typ grafu, než jsou Waveform Chart a Waveform Graph. To, zda uživatel připojil správný typ, můžete zjistit, když použijete vlastnost ClassName pro ovládání programové struktury Case. Pokud byla připojena správná třída, použijte funkci To More Specific Class, abyste získali referenci na příslušnou podtřídu. Jakmile získáte referenci na WaveformChart nebo na WaveformGraph, můžete nastavit příslušné vlastnosti a změnit tak názvy průběhů.
Cvičení LabVIEW Core 2
5-10
ni.com
Lekce 5
Ovládání uživatelského rozhraní
Vlastnosti Grafy nemají jediný parametr, přes který by se daly nastavit názvy všech průběhů. Namísto toho musíte použít kombinaci parametrů (vlastností) pro nastavení názvu každého průběhu. V tomto cvičení použijete následující vlastnosti:
áz ka
ClassName—Tento parametr vrací řetězec označující řídicí třídu objektu, pro nějž byl tento parametr vyvolán. Tento parametr mají k dispozici všechny ovládací prvky.
LegAutosize—Tento parametr určuje, zda se má velikost legendy grafu automaticky přizpůsobovat názvům všech průběhů, které obsahuje. Než začnete upravovat názvy průběhů, měli byste tento parametr nastavit na False. V opačném případě se rozměry legendy mohou změnit tak, že dojde k jejímu oddělení od grafu, nebo bude překrývat graf či jiné ovládací prvky.
LegNumRows—Tento parametr udává počet řádků viditelných v legendě grafu. Když přidáváte na čelní panel legendu, nezapomeňte ponechat místo, na které se legenda může rozšířit, pokud tuto vlastnost povolíte. Legenda se rozšiřuje směrem dolů. ActPlot—Parametry, které mají vliv na vykreslený průběh, se pokaždé týkají pouze jednoho průběhu. Tento parametr určuje aktivní průběh. Pokaždé, když je nastaven nebo čten parametr týkající se průběhu, vztahuje se k aktivnímu průběhu. Jednotlivé průběhy jsou číslovány sekvenčně v pořadí, v jakém byly vytvořeny, počínaje nulou. Plot.Name—Tento parametr slouží pro nastavení názvu aktivního průběhu.
Implementace
1. Otevřete prázdné VI.
Uk
2. Uložte toto VI pod názvem Set Plot Names.vi do adresáře <Exercises>\LabVIEW Core 2\Set Plot Names.
3. Vytvořte okno čelního panelu.
❑ Přidejte do okna čelního panelu prvek typu refnum. ❑ Pojmenujte prvek refnum jako Graph Reference. ❑ Klikněte pravým tlačítkem myši na prvek Graph Reference a z
kontextové nabídky vyberte Select VI Server Class»Generic» GObject»Control»GraphChart»GraphChart.
❑ Přidejte do okna čelního panelu pole. ❑ Pojmenujte pole jako Plot Names.
© National Instruments Corporation
5-11
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
❑ Vložte do prázdného pole Plot Names textový ovládací prvek. ❑ Přidejte vstupní chybový cluster. ❑ Přidejte výstupní chybový cluster.
áz ka
❑ Uspořádejte ovládací prvky tak, jak vidíte na obrázku 5-9.
Obrázek 5-9. Čelní panel Set Plot Names
Tip Protože se uživateli nebude zobrazovat čelní panel tohoto subVI, nemusíte vynakládat příliš mnoho námahy k tomu, abyste jej udělali vizuálně přitažlivým. Čelní panely byste vždy měli uspořádat logicky. Nicméně není potřeba trávit příliš mnoho času nad panelem, který uživatel neuvidí.
4. Přepněte se do blokového diagramu.
5. Identifikujte třídu reference ovládacího prvku a vygenerujte chybu, pokud třída není validní.
Uk
❑ Použijte nástroj Class Browser, ve kterém naleznete Property Node pro ClassName a přetáhnete jej do programu.
Cvičení LabVIEW Core 2
–
Otevřete dialogové okno Class Browser pomocí výběru View» Class Browser.
–
Jako Object Library vyberte VI Server.
–
Jako Class vyberte Generic»Generic.
–
Stiskněte tlačítko Search, čímž otevřete vyhledávací dialogové okno nástroje Class Browser.
5-12
ni.com
Ovládání uživatelského rozhraní
áz ka
Lekce 5
Obrázek 5-10. Dialogové okno pro hledání v nástroji Class Browser
Do políčka pro hledaný text zadejte Class Name. Class Name by měl být jedinou položkou ve výsledcích hledání.
–
V sekci Search Scope vyberte Generic class.
–
Stiskem tlačítka OK se vrátíte zpět do dialogového okna Class Browser. Ve stromě Properties and Methods je zvýrazněna položka Class Name.
Uk
–
© National Instruments Corporation
5-13
Cvičení LabVIEW Core 2
Ovládání uživatelského rozhraní
áz ka
Lekce 5
Obrázek 5-11. Dialogové okno Class Browser
Stiskněte tlačítko Create a potom přesuňte ukazatel myši nad prázdnou část blokového diagramu. Klikněte na blokový diagram, čímž umístíte prvek Property Node pro ClassName.
Uk
–
Cvičení LabVIEW Core 2
5-14
ni.com
Lekce 5
Ovládání uživatelského rozhraní
❑ Připojte ke vstupu reference prvku Property Node prvek Graph
áz ka
Reference.
Obrázek 5-12. Výchozí stav
❑ Vložte do blokového diagramu strukturu Case, jak vidíte na obrázku 5-12.
❑ Propojte výstup ClassName prvku Property Node s terminálem podmínky na programové struktuře Case.
❑ Přepněte se ve struktuře Case do stavu False.
❑ Vymažte text False v názvu varianty Case tak, aby se název podobal tomu na obrázku 5-12.
Uk
Výchozí (Default) varianta ve struktuře Case je vybrána, pokud třída reference na ovládací prvek neodpovídá jedné z definovaných tříd. V takovém případě, pokud je provedena výchozí varianta, neodpovídá reference předaná do tohoto subVI třídě WaveformGraph ani WaveformChart. Pamatujte, že ve struktuře Case jsou rozlišována malá a velká písmena u popisku terminálu pro výběr varianty.
❑ Přidejte do struktury Case VI Error Cluster From Error Code. ❑ Klikněte pravým tlačítkem myši na vstup error code VI Error Cluster From Error Code a z kontextové nabídky vyberte Create» Constant.
❑ Zadejte 1057 jako hodnotu konstanty. Chybový kód 1057 odpovídá chybové zprávě Object cannot be typecasted to the specified type (typ objektu nelze změnit
na požadovaný typ). To je vhodná chyba, která by měla být vygenerována, pokud je při volání subVI předána reference na ovládací prvek špatné třídy.
❑ Propojte blokový diagram tak, jak vidíte na obrázku 5-12.
© National Instruments Corporation
5-15
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
áz ka
6. Zpracujte reference na WaveformGraph.
Obrázek 5-13. Případ pro WaveformGraph
❑ Přepněte se ve struktuře Case do stavu True.
❑ Změňte text True v názvu varianty Case na WaveformGraph tak, aby se název podobal tomu na obrázku 5-13.
Výstraha Text zadaný do popisku musí přesně odpovídat vstupnímu řetězci, a to i z hlediska mezer a velkých a malých písmen. V tomto příkladě, zadejte WaveformGraph.
❑ Vložte do struktury Case funkci To More Specific Class.
❑ Klikněte pravým tlačítkem myši na vstup target class funkce
To More Specific Class a vyberte z kontextové nabídky volbu Create»Constant.
❑ Klikněte na konstantu, kterou jste vytvořili v předchozím kroku,
Uk
a vyberte třídu Generic»GObject»Control»GraphChart» WaveformGraph»WaveformGraph.
❑ Použijte okno Class Browser k tomu, abyste nalezli objekt Property Node typu Legend: Autosize a umístili jej do struktury Case.
Cvičení LabVIEW Core 2
–
Object library: VI Server
–
Class: Generic»Generic
–
Vyberte v sekci Search Scope volbu All classes in the VI Server library
–
Search string: Legend: Autosize
–
Vyberte záznam Legend: Autosize s typem třídy (class type) WaveformGraph
5-16
ni.com
Lekce 5
Ovládání uživatelského rozhraní
❑ Připojte výstup specific class reference funkce To More Specific Class ke vstupu reference prvku Property Node.
❑ Změňte rozměry objektu Property Node tak, aby obsahoval dvě položky.
❑ Klikněte na druhou položku v Property Node a vyberte z nabídky Legend»Number of Rows.
áz ka
❑ Klikněte pravým tlačítkem myši na Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Klikněte pravým tlačítkem myši na položku LegAutosize a z kontextové nabídky vyberte Create»Constant. Zkontrolujte, že hodnota konstanty je nastavena na False.
❑ Přidejte do struktury Case funkci Array Size. ❑ Přidejte do struktury Case smyčku typu For.
7. Do smyčky For vložte objekt Property Node.
❑ Použijte okno Class Browser pro nalezení prvku Property Node type Active Plot a umístěte jej do smyčky For.
–
Object library: VI Server
–
Class: Generic»Generic
–
Vyberte v sekci Search Scope volbu All classes in the VI Server library
–
Search string: Active Plot
–
Vyberte záznam Active Plot s typem třídy WaveformGraph.
Uk
❑ Připojte výstup reference out druhého prvku Property Node skrz hranici smyčky For ke vstupu reference třetího prvku Property Node.
❑ Změňte rozměry třetího objektu Property Node tak, aby obsahoval dvě položky.
❑ Klikněte na druhou položku v objektu Property Node a vyberte ze seznamu Plot»Plot Name.
❑ Klikněte pravým tlačítkem myši na třetí Property Node a z kontextové nabídky vyberte Change All To Write.
❑ Propojte blokový diagram tak, jak vidíte na obrázku 5-13. Použijte
posuvné registry, když propojujete chybové spoje skrz smyčku For. Zkontrolujte, že je zapnuté automatické indexování u tunelu Plot Names na smyčce For.
© National Instruments Corporation
5-17
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
áz ka
8. Zpracujte reference na WaveformChart.
Obrázek 5-14. Případ pro WaveformChart
❑ Klikněte pravým tlačítkem myši na hranici struktury Case a z kontextové nabídky vyberte Duplicate Case.
❑ Do pole s názvem této nové varianty zadejte WaveformChart.
Výstraha Text zadaný do popisku musí přesně odpovídat vstupnímu řetězci, a to i z hlediska mezer a velkých a malých písmen. V tomto příkladě, zadejte WaveformChart.
❑ Klikněte na konstantu reference WaveformGraph a vyberte
Generic»GObject»Control»GraphChart»WaveformChart.
Když změníte třídu reference na ovládací prvek, všechny objekty Property Node a Invoke Node, které tuto referenci používají, se stanou neplatnými, protože parametry v nich se odkazují na třídu, která neodpovídá referenci. Všimněte si, že se jména všech parametrů zabarví černě, když změníte referenci na třídu, a že šipka pro spouštění aplikace vypadá rozbitě. Nefunkčních spojů není potřeba si všímat, protože budou opraveny, když znovu vyberete správné parametry.
Uk
Poznámka
❑ Klikněte na každý ze čtyř parametrů a vyberte znovu správný
parametr. Těmito čtyřmi parametry jsou Legend»Autosize, Legend»Number of Rows, Active Plot, a Plot»Plot Name. Výsledný blokový diagram by měl vypadat jako na obrázku 5-14.
Cvičení LabVIEW Core 2
5-18
ni.com
Lekce 5
Ovládání uživatelského rozhraní
áz ka
9. Vytvořte pro toto subVI ikonu a konektorový panel. Na obrázku 5-15 vidíte příklad ikony a konektorového panelu.
Připojení
Konektorový panel
Obrázek 5-15. Připojení konektorového panelu pro VI Set Plot Names
❑ Přepněte se do okna s čelním panelem vašeho VI.
❑ Klikněte pravým tlačítkem myši na konu VI a z kontextové nabídky vyberte Show Connector.
❑ Klikněte na konektorový panel pravým tlačítkem myši a vyberte z kontextové nabídky volbu Patterns pro výběr vzoru.
❑ Připojte konektorový panel.
❑ Klikněte pravým tlačítkem myši na konektorový panel a z kontextové nabídky vyberte Show Icon.
❑ Klikněte na ikonu pravým tlačítkem myši a z kontextové nabídky vyberte Edit Icon.
❑ Za pomoci nástrojů v okně Icon Editor vytvořte ikonu. ❑ Když jste hotovi, zavřete okno Icon Editor.
10. Uložte toto VI.
Uk
Test
1. Otestujte toto VI s použitím grafu Waveform Graph.
Obrázek 5-16. Test nastavení názvů průběhů
❑ Vytvořte prázdné VI.
© National Instruments Corporation
5-19
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
❑ Vložte na čelní panel prvek typu Waveform Graph. ❑ Otevřete blokový diagram. ❑ Klikněte pravým tlačítkem myši na ukazatel Waveform Graph a z kontextové nabídky vyberte Create»Reference.
❑ Přidejte do blokového diagramu tohoto nového VI podprogram Set
áz ka
Plot Names.
Pokud je VI Set Plot Names otevřené, můžete přetáhnout jeho ikonu z pravého horního rohu jeho čelního panelu přímo do blokového diagramu svého nového VI. Tip
❑ Připojte referenci na WaveformGraph ke vstupu Graph Reference VI Set Plot Names.
❑ Klikněte pravým tlačítkem myši na vstup Plot Names náležející VI Set Plot Names a z kontextové nabídky vyberte Create»Control. Váš blokový diagram by se měl podobat tomu na obrázku 5-16.
❑ Přepněte se do okna s čelním panelem nového VI.
❑ Do pole Plot Names vložte nové záznamy One a Two.
❑ Přesuňte legendu Plot Legend na pravou stranu od grafu, abyste měli prostor pro její rozšiřování.
❑ Spusťte toto VI. V legendě by se měly objevit prvky One a Two.
2. Otestujte toto VI s použitím grafu Waveform Chart.
❑ Klikněte pravým tlačítkem myši na ukazatel Waveform Graph a z kontextové nabídky vyberte Replace»Graph»Waveform Chart.
❑ Do pole Plot Names přidejte novou položku Three.
Uk
❑ Spusťte toto VI. V legendě grafu by se mělo objevit Three.
3. Otestujte toto VI s bodovým grafem (XY Graph).
❑ Klikněte pravým tlačítkem myši na ukazatel Waveform Chart a z kontextové nabídky vyberte Replace»Graph»XY Graph.
❑ Do pole Plot Names přidejte novou položku Four. ❑ Spusťte toto VI. Zobrazí se chyba převodu datového typu.
Tato chyba se objeví, protože daný podprogram nepodporuje referenci na prvek XY Graph.
Poznámka
4. Zavřete VI. Soubor VI, který jste používali pro testování VI Set Plot Names, nemusíte ukládat.
Konec cvičení 5-3 Cvičení LabVIEW Core 2
5-20
ni.com
Lekce 5
Ovládání uživatelského rozhraní
Uk
áz ka
Poznámky
© National Instruments Corporation
5-21
Cvičení LabVIEW Core 2
Lekce 5
Ovládání uživatelského rozhraní
Uk
áz ka
Poznámky
Cvičení LabVIEW Core 2
5-22
ni.com