Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně
Přednáška č. 10 z předmětu
Zpracování informací © Ing. Radek Poliščuk, Ph.D.
Tato publikace vznikla jako součást projektu CZ.04.1.03/3.2.15.2/0285 „Inovace VŠ oborů strojního zaměření“, který je spolufinancován evropským sociálním fondem a státním rozpočtem České republiky
Zpracování informací, přednáška 10.
1/9
Ohlédnutí – úvod do LabVIEW Program LabVIEW = Virtual Instrument = VI Front Panel = Uživatelské rozhraní (GUI), Block Diagram = Grafický kód, „zapojení“ Propojením vstupů (GUI, DAQ zařízení) s příslušnými výstupy (GUI, I/O zařízení) vzniká uživatelská aplikace
Situace kde prosté propojení I/O nestačí: časování a synchronizace Větvení signálů a kódu (Case) Sekvence (Sequence) Smyčky (While/For/Timed Loop) GUI události (Event) a Dialogy Signály=data pak představují proměnné, zpracovávané příslušnými přístroji (operátory)... Zpracování informací, přednáška 10.
2/9
Obsah přednášky Přednáška 10 – práce s daty v LabVIEW pole (Array) a struktury (Cluster) zobrazení dat v grafech předávání dat a souborové operace tipy pro správný návrh aplikací
Zpracování informací, přednáška 10.
3/9
Struktury Obdobně jako při textovém programování, struktura (Cluster) slouží jako hromadný přístupový bod k datům souvisejících s jedním záznamem „sbalením“ více signálů do clusteru se zjednoduší manipulace i schéma VI může mít maximálně 28 samostatných vstupů+výstupů => více jen „v clusteru“ každý signál clusteru může mít jiný datový typ (boolean, numeric, string,...) nejčastěji narazíte na cluster signálů „Error“ (stav OK/Err, kód a textový popisek) k signálům zahrnutým clusteru je možné přistupovat: na Front Panelu pomocí objektu „Cluster Shell“, do kterého vložíme jednotlivá pole v blokovém schématu buď hromadně komponentou „Unbundle“ a nebo jednotlivě, komponentou „Unbundle by Name“ (jednotlivé elementy se interně indexují) Další užitečné funkce pro práci s clustery („Cluster & Variant Functions“): Bundle vytvoří cluster z jednotlivých signálů. Bundle By Name zapíše hodnoty do určeného/určených polí clusteru Cluster Constant definice strukturované konstanty. To Variant Převod dat do formátu OleVariant, vhodného pro ActiveX Variant To Data Převod dat z OleVariant do formátu LabVIEW.
Zpracování informací, přednáška 10.
4/9
Pole a matice Zpracovávají-li se opakovaně data stejného typu, je výhodné je ukládat do pole (Array): pole v LabView mohou mít až 231-1 prvků v každém rozměru prvkem pole může být boolean, číslo, řetězec a nebo cluster neobsahující vnitřní pole k prvkům je možné přistupovat pomocí jejich indexů (indexování vždy začíná od 0) na Front panelu se k prvkům pole přistupuje maticovým kontejnerem Array nebo Matrix do kontejneru se vloží ovládací prvek/indikátor příslušného typu, Matrix je číselný kontejner lze vodor./svisle roztáhnout, aby ukazoval více prvků od daného indexu lokální volbou Add/Remove Dimension lze měnit počet zobrazovaných dimenzí V blokovém schématu je možné použít i tyto funkce pro manipulaci s poli: Array Constant vytvoření konstanty typu pole Array Max & Min nalezení největšího/nejmenšího prvku podél daného indexu Array Size vrací rozměry daného pole Build Array složí jednotlivé signály do pole Initialize Array vytvoří pole s předdefinovanými hodnotami prvků Insert Into Array na určený index/na konec pole vloží zadané prvky. Delete From Array smaže daný počet prvků od daného indexu (pole se přeskupí). Array Subset/Index Aray: vrací část pole od daného indexu o dané délce Další maticové funkce a operátory – viz složka Mathematics Zpracování informací, přednáška 10.
5/9
Grafy Grafy jsou vizuální komponenty, určené k přehlednému zobrazení polí naměřených hodnot: Chart = osciloskop, který vůči dané časové základně zobrazuje získané vzorky Graph = prostý graf hodnot jedné a nebo více jednorozměrných funkcí (pole se zobrazí jako více funkcí) XY Graph = zobrazení parametrických funkcí
Zpracování informací, přednáška 10.
6/9
Souborové operace Jsou li zpracovávané signály ve formě matice/clusteru, je možný jejich export/import: Write/Read Spreadsheet: tabulkový formát (CSV) Write/Read Measurement LVM: textový protokol TDMS: binární formát (rychlé, malý objem) TDM: dtto, XML hlavička Report: tiskový/HTML výstup DIAdem Report: „XLS“ protokol (kontingenční tabulky, OLAP...)
Zpracování informací, přednáška 10.
7/9
Tipy pro návrh aplikací Front Panel:
Block Diagram:
ovládací prvky rozumně pojmenujte
co nejkompaktnější schéma
všude jen použitelné výchozí hodnoty
pojmenujte I/O kanály bloků - stručně!
komponenty by se neměly překrývat
používejte „Description and comments“
logické/atraktivní rozmístění ovladačů
signály nechte téct zleva doprava
čitelné fonty a barvy, jednotný styl.
zarovnávejte paralelní přístroje
texty čitelné bez rolování (Size to Text)
nepřekrývejte vodiče komponentami
prostor mezi komponentami (font DPI)
ošetřujte chybové stavy (signál Error)
cesty nezadávejte řetězcem ale příslušnou komponentou (Path)
opatrně se sekvencemi, raději Flat
nastavte limity numerických přístrojů doplňte popisky a tipy k přístrojům jako přepínač používat ENUM
uvnitř bloků používejte raději lokální proměnné než přímo GUI komponenty tam kde jde použít vodič, nepoužívejte lokální proměnné (kopírování dat zdržuje).
často používaným operacím přiřaďte klávesové zkratky Zpracování informací, přednáška 10.
8/9
Závěrem Tento „3-přednáškový rychlokurz“ prosím berte hlavně jako úvodní seznámení s produktem LabVIEW, se kterým se znovu setkáte v předmětech jako je Automatizace a případně na oborovém studiu (obor B-AIŘ). Probíraná látka (struktury, práce s proměnnými) má smysl jen v kombinaci s příklady. ...Využijte proto následující cvičení k vyzkoušení jednotlivých funkcí a postupů. Tip na cvičení: Přemýšleli jste někdy jak funguje ovládání výtahu? ...zkuste jej nasimulovat v LabVIEW! zájemcům o podrobnější informace opět doporučuji následující zdroje: www.ni.com www.ni.com/czech - česká příručka k LabVIEW www.ni.com/trylabview - online „demoverze“ www.ni.com/labview www.ni.com/automatedtest www.ni.com/measurementfundamentals http://uai.fme.vutbr.cz/main.php?page=LAB&index=a1-713/vyuka/kurzlabview Zpracování informací, přednáška 10.
9/9