Zpracování informací - Ústav automatizace a informatiky
Transkript
Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně Přednáška č. 8 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 8. 1/19 Ohlédnutí... V procesu měření a získávání informací je možné identifikovat následující fáze: fáze sběru „surových“ dat a řízení technologického procesu zásuvné multifunkční karty, přímo snímající signály senzorů měřící přístroje vybavené komunikačním rozhraním (RS 232, ...) PLC (programovatelné logické automaty) a průmyslové I/O systémy fáze analýzy naměřených dat digitální zpracování signálu (přepočty veličin, archivace dat) digitální filtrace (potlačení impulzního a náhodného rušení,...) statistika (výpočty efektivních hodnot, mediánů, regresní analýzy...) operace s poli (maticové operace, konvoluční analýzy, zpracování obrazu,..) ... fáze prezentace naměřených a analyzovaných dat grafické uživatelské rozhraní (grafy, tabulky, interaktivní aplikace...) síťové aplikace (online protokoly, grafika) souborové a tiskové výstupy (protokoly, prezentace, …) Používané aplikace mohou být vzhledem k těmto fázím specializované (např. komunikace) a nebo mohou zasahovat do více fází současně (např. DB aplikace + tabulkové editory)... Zpracování informací, přednáška 8. 2/19 Ohlédnutí... Aplikace pro práci s daty mohou být uzavřené (binární kód, specializované programy bez možnosti uživatelských změn) s přiloženým zdrojovým kódem (možnost úprav – pro běžné uživatele velmi obtížné) Vývojová prostředí pro PLC (grafické metody i programovací jazyky) Basic / Visual Basic / VBA / Visual Basic.NET Pascal / Object Pascal / ST C/C++ / C#.NET / PHP Matlab,... řešení postavená na některé interaktivní platformě: tabulkové editory (vč. komponent pro sběr dat – NI Excel Measure) CASE* systémy s možností vizuálního programování HP VEE, Keithley Test Point (grafické programování, Windows) Control Panel/Control Web (Alcor Zlín, pro DOS/Windows) NI LabWindows for DOS/LabWindows CVI - textově orientovaný návrh NI LabVIEW - grafické programování pro různé platformy(Apple/Win/Linux) * CASE = Computer Aided Software Engineering Zpracování informací, přednáška 8. 3/19 Obsah přednášky Přednáška 8 – LabVIEW co je LabVIEW použití LabVIEW vizuální programování MathScript a DLL generátor signálů vizualizace a export výsledků Zpracování informací, přednáška 8. 4/19 Co je LabVIEW? Laboratory Virtual Instrument Engineering Workbench RAD vývojové prostředí od firmy National Instruments pracující s grafickým programovacím jazykem G OOP systém pro sběr, analýzu a vizualizaci dat (Windows, MacOS X a Linux) programy = Virtuální měřicí přístroje (Virtual Instruments, VI) programový kód v podobě grafického blokového schématu (jazyk „G“) řešení úlohy na základě toku dat, ve směru od zdroje přes jednotlivé komponenty možnost kombinace vizuálního programu s MathScriptem (MATLAB) schopnost exportu VI ve formě DLL komponent a používání DLL třetích stran Realita DATA Informační systém Informace Příjemce Zpracování informací, přednáška 8. 5/19 Použití LabVIEW Získávání dat Data Acquisition Device (USB, PCI/PXI) PLC s příslušnými ovladači Zvuková karta (analogový In/Out) Simulované (SW simulace dat) Analýza dat logické a matematické zpracování získaných signálů (program v „G“) Prezentace dat grafy a přehledy export dat do souborů senzory Zpracování informací, přednáška 8. zvuková karta 6/19 Vizuální programování LabVIEW C, Object Pascal, matlab... * does not include code to generate UI Zpracování informací, přednáška 8. 7/19 Aplikace = Virtuální přístroj Virtual Instrument = VI Front Panel = Uživatelské rozhraní (GUI), Ovládací prvky = Vstupy (přepínače, posuvné stupnice...) Indikátory = Výstupy (grafy, kontrolky/LED, tabulky, …) Block Diagram = Grafický kód bloky zobrazují jednotlivé komponenty data jsou mezi objekty přenášena „virtuálními dráty“ operace s daty s pomocí logických a numerických operátorů možnost seskupování komponent přístrojů do cyklicky opakovaných bloků, sekvencí, větvení... virtuální přístroje mají hierarchickou modulární strukturu. Zpracování informací, přednáška 8. 8/19 Front panel = GUI Panel nástrojů Ikona Nápověda Tabulka Legenda Graf Numerický ovládací prvek Logický ovládací prvek Zpracování informací, přednáška 8. Numerický indikátor Logický indikátor STOP tlačítko 9/19 Block diagram = propojení Panel nástrojů Funkce dělení SubVI Terminál grafu Dráty (tok dat) While Loop (smyčka) Zpracování informací, přednáška 8. Numerická konstanta Funkce časovače Terminál logického ovladače 10/19 Pracovní nástroje Výběr změna pozice popisovač ovladač spojovač scrooling propojovač výběr barvy dle objektu pop-up menu paleta komponent spojovač - space bar sonda barva breakpoint run stop Svítí-li žárovka: LabVIEW trasuje svoji činnost v blokovém schématu výběr - single click výběr - double click krokování výběr - triple click nastavení textu pauza Opakované spuštění Zpracování informací, přednáška 8. 11/19 Signály a datové typy logické (boolean) celočíselné (integer), výčtové (enumeration) spojité (floating point) a komplexní pole a struktury (cluster) variantní/polymorfní řetězcové (string) Zpracování informací, přednáška 8. 12/19 Programové struktury Signál probíhá paralelně po všech platných větvcích (rámcích): Sekvence (složena z navazujících rámců) vynucení posloupnosti provádění příkazů. rámce sekvence se provádějí popořadě (0, 1, 2…) (aktivní je vždy jen jeden rámec) Vstup i výstup do rámce jediným „tunelem“ (každý vstup ale může vést do více bloků) Přepínač (case) Větvení programu, dle podmínky do dvou či více větví Terminál pro připojení testovací podmínky For-loop cyklus pro známý počet opakování Automatická indexace vstupního/výstupního kanálu [i] frekvenci cyklu lze ovlivnit vložením bloku „Wait Until Next ms Multiple“. While-loop cyklus běží dokud JE SPLNĚNA řídící podmínka Event rámec je vykonán při určité události Zpracování informací, přednáška 8. 13/19 Sekvence (Sequence) I přes výhody „paralelního zpracování“ (nezávislost, ...), některé typy operací bývá výhodné rozčlenit do skupin, které na sebe postupně navazují a tvoří tak SEKVENCI (paleta Programming | Structures) sekvence je složena z více navazujících rámců/snímků Flat Sequence (pohled na „filmový pás“) Stacked Sequence (pohled na vybraný snímek) Timed Sequence (speciální sekvence s pevnou snímkovou frekvencí) k přechodu do dalšího rámce dojde až po dokončení všech větví v daném rámci Vstupní parametry je možné zadávat „tunelem“ (vstup může vést do více snímků): Zpracování informací, přednáška 8. 14/19 Větvení kódu (Case) Program lze zvoleným řídícím signálem větvit do dvou či více větví: Definuje se programový rámec typu Přepínač (Case, Programming/Structures) přepínání se při každém průchodu provádí na základě hodnoty signálu, přivedeného na terminál přepínače „?“ (True/False, index výčtu, hodnota, text...) větve je možné přidávat a mazat (Add Case Before/After, Duplicate, Delete) všechny varianty řídícího signálu musí být ošetřeny, jinak VI není možné spustit je-li řídící proměnná mimo výčet, lze definovat „výchozí“ (Default) větev. Zpracování informací, přednáška 8. 15/19 Smyčky (Loop) Je-li nutné určitou činnost vícekrát opakovat, je výhodné ji vložit do smyčky (Loop) Smyčka obsahuje automatické počítadlo průchodů [i] možné využít jako řídící proměnnou For-loop cyklu frekvenci cyklu lze ovlivnit vložením časovače „Wait Until Next ms Multiple“. Smyčka běží, dokud ukončovací podmínka nenabude zvolenou hodnotu (T/F) Počítadlo Zpracování informací, přednáška 8. Časovač Ukončit? 16/19 Události (Events) Event = rámec který je vykonán jen při určité GUI události (typicky např. při změně uživ. zadávaných parametrů) ...aplikace takto funguje efektivněji, není nutné neustále opakovat zbytečné operace (princip funkce GUI aplikací) Zpracování informací, přednáška 8. 17/19 Interakce s uživatelem Je-li nutné přitáhnout pozornost uživatele, je někdy možné použít Modální dialog: typicky pro dotaz na určité hodnoty možno použít i jako vstupní prvek pro potvrzení T/F POZOR: dokud je modální dialog/výzva zobrazena, NENÍ MOŽNÉ manipulovat se zbytkem aplikace. Modální dialogy je proto nevhodné používat u časově kritických operací („Kde je to OK?!!“) nepoužívat v hlavní smyčce, má-li přístroj bežet v kontinuálním režimu (riziko zacyklení) Zpracování informací, přednáška 8. 18/19 podprogramy a funkce Pro zpřehlednění schématu se dodané a odladěné kusy kódu „zapouzdřují“: uživatelské programy (VI) i podprogramy (SubVI´s) mají block diagram i front panel. express VI: interaktivní VI konfigurovatelným dialogovým oknem funkce: operátory v LabVIEW (nemá front panel ani block diagram) Funkce Express VI Zpracování informací, přednáška 8. Standardní VI 19/19 MathScript Tam kde vizuální programování nestačí: možnost použití kódu MathScript, vyvinutého v prostředích MATLAB® a GNU Octave nativní interpretr a editor MathScript uvnitř LabVIEW (instalace Matlab/Octave není nutná), cca 650 vestavěných funkcí, bez toolboxů (nejde tedy o náhradu ani o integraci originálu) možnost importu DLL Zpracování informací, přednáška 8. 20/19 Generování signálu Při ladění aplikace se hodí nástroje pro generování a filtraci signálu: skupina nástrojů: VI Expres, VI, Funkce možnost náhrady reálného zdroje dat VI Express Classic VI Zpracování informací, přednáška 8. 21/19 Vizualizace výsledků 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 8. 22/19 Vizualizace výsledků Pohled na „řídící panel“ je možné doplnit o: událostmi řízené 3D animace 3D scény definované jako obrázkové VI řízení polohy, velikosti a barvy entit import objektů z formátů VRML, STL, ASE HW akcelerace zobrazování (OpenGL) Zpracování informací, přednáška 8. 23/19 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 8. 24/19 Export výsledků - TDMS Získaná data je možné ukládat ve formě TDMS souborů Vestavěné komponenty manipulaci s daty TDM Data Model & File TDM Streaming VIs Data Storage VIs DataPlugins DIAdem DataFinder (pro dolování dat) TDM je možné importovat do Excelu (importní filtr na www.ni.com/tdm) TDM je možné streamovat pro vzdálené zpracování Zpracování informací, přednáška 8. 25/19 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 View 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 8. 26/19 Další informace Tento dokument vychází z podkladů na: www.ni.com : http://www.ni.com/czech - česká příručka k LabVIEW http://www.ni.com/trylabview - online „demoverze“ http://www.ni.com/labview http://www.ni.com/automatedtest http://www.ni.com/measurementfundamentals uai.fme.vutbr.cz : http://uai.fme.vutbr.cz/main.php?page=LAB&index=FAQ/labview http://uai.fme.vutbr.cz/main.php?page=LAB&index=a1-713/vyuka/kurzlabview Zpracování informací, přednáška 8. 27/19
Podobné dokumenty
Zivotopis Ing. Vladim´ır Dvorák
Návrh, implementace testovanı́ a optimalizace řı́dicı́ logiky technologického
procesu, přı́prava typových schémat řı́zenı́, vývoj a integrace HMI, prováděnı́
akceptačnı́ch testů HW/SW s...
Ceník NI pro školy
Vernier Green Sensors for ELVIS 2
Sada (pole) s FPGA (pro ELVIS 2/2+ nebo přes USB k PC)
aplikačního inženýra na plný úvazek
elektronik se zálibou pro reálné aplikace s PMIC obvody, toužící se učit a sdílet své zkušenosti
vysokoškolské vzdělání v oboru elektro nebo výpočetní techniky
zkušenosti s vývojem aplikací zaměřen...
Programování PLC pro žáky 3. a 4.ročník ME
PLC můžeme rozdělit do tří jednotlivých částí, bloků:
Vstupní blok je rozdělen do skupin (modulů). To umožňuje nakonfigurovat vstupy programovatelného
automatu s ohledem na zpracovávané úlohy podle...
UNIVERZITA PALACKÉHO V OLOMOUCI Přírodovědecká fakulta
praxe v chemii. Práce chemika, ať již v provozní laboratoři, výzkumné laboratoři nebo přímo ve
výrobní praxi je neoddělitelně spojena s ovládáním měřících přístrojů sloužících k získávání
informací...
APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY
Zadní strana počítačové skříně slouží k propojení počítače se sítí, monitorem, klávesnicí, myší a
ostatními periferiemi. K tomuto účelu jsou na zadní straně počítače vyvedeny příslušné
konektory. S...
CH12_etc
Projdeme kapitolu 12 - Základní nastavení síťového rozhraní v OSL
Základní cíl kapitoly
- informace o stavu nastavení sítě, síťová rozhraní
- základní příkazy pro nastavení
- spuštění a zastavení s...
Pracovní sešit pro 3.ročník oboru Esl a Esil Programování PLC
PLC můžeme rozdělit do tří jednotlivých částí, bloků:
Vstupní blok je rozdělen do skupin (modulů). To umožňuje nakonfigurovat vstupy programovatelného
automatu s ohledem na zpracovávané úlohy podle...