Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně
Přednáška č. 4 z předmětu
Zpracování informací (kombinované studium) © 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 4.
1/15+16
Ohlédnutí – přednášky 1-3 Abychom získali INFORMACE, potřebujeme DATA. Technická data získáváme měřením a sledováním. Logické a spojité veličiny (signály) měříme pomocí snímačů (senzorů). Pro elektronické zpracování je nutný převod do formy elektrického signálu (U,I...). Pro digitální zpracování se signály vzorkují (v čase) a kvantují (A/D). Data ze senzorů obvykle potřebujeme někam přenést, archivovat a analyzovat. Technickou úroveň přenosu a archivace přizpůsobujeme rozpočtu dané úlohy. Technickou úroveň přenosu a archivace přizpůsobujeme rozpočtu dané úlohy. Souborový formát a rozmístění dat volíme s ohledem na budoucí použití (datové tabulky, jednotlivé binární soubory, datové stromy ve značkovaných souborech). Rychlost prohledávání datových záznamů je možné optimalizovat použitím indexů. Pro zabezpečení spolehlivého víceuživatelského přístupu k datům: DBS Práci s daty je možné zefektivnit relačním uspořádáním (vazbami mezi tabulkami) Relační data nemusí nutně mít charakter „tabulek“ (viz XML stromy) Pro jednotný přístup k datům se nejčastěji používá DDL/DML jazyk SQL. Zpracování informací, přednáška 4.
2/15+16
Obsah přednášky Přednáška 4 – Analýza dat základní analýzy tabulkových dat tabulkové editory algebraické editory laboratorní software aplikační vývojová prostředí
Realita
DATA
Informační systém
Informace Příjemce
Zpracování informací, přednáška 4.
3/15+16
Analýza tabulkových dat Paralelně s vývojem sekvenčních zápisových technik (výrobní postupy, recepty, algoritmy...) se používaly i vícerozměrné formy zápisu (tabulky, schémata, animace), např. Účetní knihy (starověk), matriky (středověk) a veškeré tabulkové protokoly (výstupem výpočtů prvních počítačů byly dělostřelecké tabulky). Takto zorganizovaný zápis umožňoval data nejen přehlednou formou zobrazit, ale i nad snadno definovatelnými skupinami provádět určité operace (přepočty, sumy...) a z DAT tak extrahovat INFORMACE. Všechny druhy číselných dat je možné transformovat do formy tabulky/tabulek. Většina DBS je schopná už v rámci DML (SQL příkaz Select) nad daty provádět jen základní analytické operace: filtrování (klauzule WHERE a HAVING) transformace (běžné algebraické operace nad výstupními daty: +-*/,sin,cos...) agregace (operace nad skupinami dat: Count, Sum, Avg, Min, Max ...) Výstupem je pak vždy zase datová tabulka („DATASET“). pro pokročilejší typy analýz (OLAP, regresní a kovarianční analýzy, řešení soustav rovnic, MKP...) a výstupů (grafy, animace...) už bývá vhodnější použít příslušný analytický software... Zpracování informací, přednáška 4.
4/15+16
Tabulkové editory Potřeba flexibilnější práce s daty než je pouhé „spuštění programu a čekání na výsledek“ vedla v 70. letech k návrhu prvních interaktivních „tabulkových procesorů“, umožňujících vytváření průběžných přehledů a rozvah (...účetnictví). Toto bylo umožněno zavedením „souřadnic“ pro jednotlivá pole tabulky, z nichž každé se tak může chovat nejen jako „textová konstanta“, ale i jako textová, číselná nebo jiná proměnná, indexovaná vždy svým sloupcem a řádkem. Každá buňka může obsahovat i vzorec, definující její hodnotu buď relativními (=A1), nebo absolutními (=$A$1) odkazy na okolní buňky nebo pole (A1:C5). Relativním rozkopírováním vzorců je potom možné definovat celé tabulky. 1 2 3 4 5 6 7
A B C D E Položka á ks cena vč. DPH počítač 10 500,00 Kč 1 =B2*C2 =D2*1,19 monitor 1 6 200,00 Kč 7 378,00 Kč 6 200,00 Kč myš 350,00 Kč 1 350,00 Kč 416,50 Kč klávesnice 720,00 Kč 1 720,00 Kč 856,80 Kč DVD média 10,00 Kč 25 250,00 Kč 297,50 Kč Celkem: =SUM(D2:D6) 21 443,80 Kč
Prvním komerčním tabulkovým procesorem pro PC byl VISICALC (viz http://www.danbricklin.com/visicalc.htm), následoval Lotus 1-2-3 (a další, které se jeho funkce dodnes snaží kopírovat – MS Excel, OOo Calc...). Zpracování informací, přednáška 4.
5/15+16
Analýza tabulkových dat Tabulkové editory pracují buď s vlastními (přímo zadanými) daty, nebo mohou prostřednictvím SQL přistupovat k datasetům z existujících datových zdrojů. podobně jako u DBS, je možné na získaná data aplikovat řádkové filtry (v Excelu/Calcu menu „Data“), transformace (do nových sloupců) prostřednictvím vzorců a relativních odkazů agregační funkce (sumační, statistické,...) s výstupem ve zvolených polích. Některá data ale přímo transformovat nejde => speciální funkce: Kontingenční tabulky (Pivot Tables) agregace řádkových záznamů do přehledové tabulky dle zvolených stat. kritérií: (filtry, sumace, průměry, min/max,...)
Pobočka Brno Brno Praha Praha Plzeň Plzeň Plzeň Brno Praha
Produkt A A A B A B A C A
Měsíc
Rok
1 3 2 1 1 2 2 1 3
Ks
2005 2005 2005 2005 2005 2004 2004 2005 2005
Zpracování informací, přednáška 4.
5 3 6 2 3 4 1 5 8
Pobočka
(Vše)
Součet z Ks Rok Měsíc 2004 2 Celkem z 2004 2005 1 2 3 Celkem z 2005 Celkový součet
Produkt A 1 1 8 6 11 25 26
B 4 4 2
C
2 6
5 5
5
Celkový součet 5 5 15 6 11 32 37
6/15+16
Analýza tabulkových dat Online Analytical Processing (OLAP, E.F. Codd & Associates,1993) „Dolují-li“se kontingenční data ne z jedné, ale z mnoha (typicky časovými) relacemi propojených tabulek, je mezikrok s 2D zdrojovou tabulkou neefektivní a nekonzistentní (spousta opakujících se dat = velký dataset, nepřehledné a děravé KT, pomalé zpracování=>offline data). Pobočka
(Vše)
Součet z Ks Rok Měsíc 2004 2 Celkem z 2004 2005 1 2 3 Celkem z 2005 Celkový součet
Produkt A 1 1 8 6 11 25 26
B 4 4 2
C
2 6
5 5
5
Celkový součet 5 5 15 6 11 32 37
=> Snaha o „vícerozměrný on-line“ pohled na data („hyperkostka“), s výstupem vždy jen ve zvolených řezech, vedených podél os které nás zajímají. data se drží buď v dynamické vícerozměrné struktuře (MOLAP - viz spreadsheety, XML), nebo se obvyklé relační tabulky doplňují o „předzpracované“ informace (ROLAP) specializovaná SQL nadstavba „MDX“ (Microsoft, '97), výrazně zjednodušující dotazy: Zpracování informací, přednáška 4.
SELECT { [Measures].[Store Sales] } ON COLUMNS, { [Date].[2002], [Date].[2003] } ON ROWS FROM Sales WHERE ( [Store].[USA].[CA] )
7/15+16
Analýza tabulkových dat Mnoho úloh vede k řešení soustav lineárních rovnic: Ax=b
=>
x = A-1 b
...kde A je čtvercová matice soustavy, x je vektor proměnných a b je vektor pravých stran. pro menší soustavy mívají spreadsheety přímo funkce pro inverzi matic koeficientů OOo Calc: MInverse(rozsah zdrojových dat), MS Excel/CZ: Inverze(rozsah zdrojových dat) ...nutno zadat jako maticový vzorec Pro větší soustavy lin. rovnic (>128×128) je nutný specializovaný software, využívající přímé metody (Gaussova eliminační metoda, L-U rozklad...) - pomalejší - ale fungují vždy, nebo iterační metody (Jacobiho, Gauss-Seidel) – pro vhodná data rychlé, nemusí vždy konvergovat! Matlab, Octave,...
Zpracování informací, přednáška 4.
8/15+16
Analýza tabulkových dat Regresní a kovarianční analýzy: Statistická analýza vzájemné závislosti náhodných veličin x a y (více viz Matematika 3)
f(x )
Nejčastěji používaná: Metoda nejmenších čtverců hledá se ideální přímka f(x) (nebo obecně i polynom) pro proložení množiny bodů:
míru vzájemné lineární závislosti x a y pak udává korelační koeficient:
Zpracování informací, přednáška 4.
kde
9/15+16
je rozptyl (disperze) dané veličiny
Analýza tabulkových dat Vizualizace dat pomocí grafů: Graf je grafické zobrazení číselných dat. Namísto procházení mnoha sloupců čísel na listu stačí jediný pohled k tomu, abyste získali přehled o situaci. Před vlastní tvorbou grafu bychom si měli ujasnit, co zobrazuje a k čemu slouží: zobrazení prosté posloupnosti hodnot (spojité:čarové grafy, diskrétní:bodové) zobrazení vzájemného poměru hodnot (blokové, skládané a koláčové grafy) zobrazení závislosti mezi sloupci (X-Y grafy, radarové grafy) zobrazení statistických údajů (proložení regresních křivek, krabicové grafy...) Opatrně s 3D pohledy...
Zpracování informací, přednáška 4.
10/15+16
Celoškolský software Během studia na FSI se možná setkáte s tímto komerčním analytickým softwarem: ABAQUS (simulace a metody konečných prvků) ANSYS, LS-DYNA, CivilFEM (MKP) Labview (laboratorní software pro řízení, sběr, analýzu i vizualizaci dat) Maple (symbolický algebraický a vizualizační sw – více viz předmět Matematika 2) Mathematica (dtto) Matlab (dtto) Microsoft Windows a Office (kancelářské aplikace – Word, Excel, Access,...) Minitab (statistický software) Pro/ENGINEER (konstrukce) Statistica (statistika a kvalitativní ukazatele výroby, plánování experimentů) (některé licence jsou na serveru https://sw.vutbr.cz volně přístupné i pro studenty FSI)
Open-Source nebo zdarma dostupné varianty: OpenOffice.org (kancelářské aplikace, náhrada MS Office) GNU Octave (symbolický algebraický a vizualizační sw, náhrada Matlabu) Python (symbolický algebraický software, rozhraní pro vývoj univerzálních aplikací)
Při znalosti potřebných algoritmů si můžete vytvořit i svou vlastní aplikaci pomocí Delphi 6PE (nainstalováno na internetových studovnách, pro nekomerční použití) Lazarus (multiplatformní Open-Source klon Delphi, vč. object Pascalu) Microsoft Visual Studio.Net (Visual Basic, C#, C++, Java; studentské edice zdarma). Zpracování informací, přednáška 4.
11/15+16
Maple Interaktivní editor pro symbolickou algebru a pohodlnou vizualizaci výsledků
více viz předmět Matematika 2 Zpracování informací, přednáška 4.
12/15+16
Matlab (Octave) CLI algebraické interpretery s důrazem na práci s maticemi (MATrix LABoratory) rychlé výpočetní jádro s podporou paralelních výpočtů a „Just in Time“ kompilací podpora vícerozměrných polí a uživatelsky definovaných datových struktur rozšiřitelnost, velké množství aplikačních knihoven (Toolboxů), nadstavba Simulink pro simulaci a modelování - využívá jádro Matlabu pro numerické řešení nelineárních diferenciálních rovnic. 2D a 3D grafika včetně animací, interaktivní nástroje pro tvorbu GUI komunikace s externím přístrojovým vybavením (sériová linka,...)
Zpracování informací, přednáška 4.
13/15+16
Labview Ne všechny aplikace je nutné „napsat“ pomocí některého z programovacích jazyků... nástroje pro sběr, analýzu a zobrazení dat (mnoho ovladačů a virtuálních přístrojů) objektové vývojové prostředí (vizuální programování UI, blokovými diagramy + MathScript + DLL) výhodné pro RAD laboratorních aplikací
Zpracování informací, přednáška 4.
14/15+16
Shrnutí přednášky Většinu technických analýz provádíme nad tabulkovými daty informace můžeme z naměřených dat získávat jejich filtrováním transformací agregací regresní analýzou náhodných dat řešením soustav rovnic náhledy ve formě kontingenčních tabulek a vizualizací výsledků ve formě grafů Pro řešení základní úlohy jsou určeny interaktivní tabulkové editory, u složitějších úloh je vhodné sáhnout po některé ze specializovaných analytických aplikací. Po přestávce: více o Labview (doplňkový text)
Zpracování informací, přednáška 4.
15/15+16
Doplňkový text Doplnění – LabVIEW co je LabVIEW použití labview vizuální programování generátor signálů MathScript a DLL vizualizace a export výsledků
Zpracování informací, přednáška 4.
16/15+16
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ě blokového schématu ř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 4.
17/15+16
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 4.
zvuková karta
18/15+16
Vizuální programování LabVIEW
C, Object Pascal, matlab...
* does not include code to generate UI
Zpracování informací, přednáška 4.
19/15+16
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í...
Zpracování informací, přednáška 4.
20/15+16
Pracovní nástroje Výběr změna pozice
popisovač
ovladač spojovač
scrooling
propojovač
výběr barvy dle objektu pop-up menu spojovač - space bar
sonda barva
breakpoint
run
stop
Svítí-li žárovička: Labview při vykonávání zobrazuje 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 4.
21/15+16
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 4.
Numerický indikátor
Logický indikátor
STOP tlačítko
22/15+16
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 4.
Numerická konstanta
Funkce časovače
Terminál logického ovladače 23/15+16
Datové typy a signály
Zpracování informací, přednáška 4.
24/15+16
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…) (zobrazen je vždy jen jede 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 4.
25/15+16
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 4.
Standardní VI 26/15+16
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 4.
27/15+16
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 o úplnou náhradu originálu) možnost importu DLL
Zpracování informací, přednáška 4.
28/15+16
Vizualizace výsledků Pohled na „řídící panel“ je možné doplnit o: výstupy ve formě 2D a 3D grafů (ActiveX) 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 4.
29/15+16
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 4.
30/15+16
Další informace Tento dokument vychází z veřejných podkladů na: 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 uai.fme.vutbr.cz
Zpracování informací, přednáška 4.
31/15+16