Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 1 Počítač v analytické laboratoři Tvorba aplikací v LabVIEW Ing. Pavel Houška, Ph.D. houska.p@fme.vutbr.cz Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 2 Základy programování * Než začnu programovat měl bych mít jasno v ­ co má program dělat ­ uživatelském rozhraní ­ datových strukturách ­ mít náhled do budoucnosti * Programovat od shora dolu ­ mám v tom co budu programovat jasno ­ programuji od nejvyšší vrstvy aplikace po nejnižší vrstvy Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 3 Co je LabVIEW ? * Laboratory Virtual Instrumentation Engineering Workbench * Grafické programování ­ ,,G code" * Multi-platformní nástroj ­ PC * Win32 & Win64 * Linux * Mac OS X * WinCE ­ Real-time systémy * PXI * cRIO ­ Embedded systémy * ARM * Blackfin ­ FPGA Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 4 Zdrojový kód = VI (Virtual Instrument) * Čelní panel (Front panel) ­ uživatelské rozhraní * Blokový diagram (Block diagram) ­ program ­ funkční bloky ­ ,,dataflow" Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 5 Práce s daty ­ konstanta ,,constant" * obsahuje * pouze pro čtení * nelze měnit za běhu programu ­ ,,control" * získává vstup od uživatele * pro čtení * zobrazen na čelním panelu ­ ,,indicator" * zobrazuje připojenou hodnotu * pro zápis * zobrazen na čelním panelu ­ ,,local variable" * ,,připojuje" se na ,,control" nebo ,,indicator" * pro zápis i čtení Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 6 Základní datové typy * Celočíselné "Integer" * S plovoucí desetinou čárkou * reálná * komplexní se znaménkem bez znaménka 8bit I8 <-128 až 127> U8 <0 až 255> 16bit I16<-32 768 až 32 767> U16<0 až 65 535> 32bit I32<-2^31 až (2^31)-1> U32<0 až 4 294 967 296> 64bit I64<-2^63 až (2^63)-1> U64<0 až (2^64)-1> reálná 32bit Single-precision (SGL) 64bit Double-precision (DBL) 128bit Extended-precision (EXT) Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 7 Matematika Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 8 Logický datový typ (Boolean) * nabývá pouze dvou hodnot * 0/1 * pravda/nepravda * ano/ne * True/False * používá se pro * rozhodování * ovládání cyklů * řízení běhu programu * čtení/ovládání logických vstupů/výstupů * .... Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 9 Logické operace Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 10 Cykly * For Loop ­ provede se ,,N" iterací ­ možnost použít podmínku pro předčasné ukončení * ,,Stop if True" * ,,Continue if True" * While Loop ­ Ukončení * ,,Stop if True" * ,,Continue if True" Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 11 Řízení rychlosti opakování provádění smyček Timed Loop Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 12 Pole Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 13 Grafy Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 14 Texty "String" * Pole znaků Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 15 Chyba ­ "Error" * Složený datový typ používán většinou funkcí ,,LabVIEW" pro signalizaci ,,úspěchu" * Obsahuje ­ Status * "True" ­ vše v pořádku * "False" ­ došlo k chybě ­ "Code" * kód chyby * při stisku pravého tlačítka myši nad kódem se zobrazí možnost zobrazení vysvětlení chyby ­ "Source" * Textový popis Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 16 Rozhodování * Výběr "Select" ­ vstup ? ­ logická hodnota ­ výstup ­ hodnota podle ? * "Case" ­ pracuje s datovými typy * Boolean * Text ­ "string" * Celočíselné ­ "Integers" * Výčet ­ "enum" * Chyba ­ "Error" ­ vícehodnotových typů vyžaduje "default case" Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 17 Projekt / knihovny * Projekt drží ­ pro jednotlivá zařízení * soubory * knihovny * nastavení HW * nastavení překladu aplikace * Knihovna obsahuje * soubory * sdílené proměnné Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 18 Měření - DAQmx Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 19 Běh několika smyček najednou * LabVIEW umožňuje současný běh několik smyček ­ máte-li více procesorů než smyček, je možné, aby každá smyčka běžela na svém procesoru ­ jste schopni dosáhnou rychlejšího běhu aplikace Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 20 Posloupnost provádění kódu * Dáno pořadím ,,zadrátování" * Sekvencemi Tvorba aplikacTvorba aplikacíí v LabVIEWv LabVIEW 21 Sdílená proměnná ­ "Shared variable" * Sdílená v rámci ­ jedné aplikace ­ síťová