Zpracování informací - Ústav automatizace a informatiky

Transkript

Zpracování informací - Ústav automatizace a informatiky
Ú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

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...

Více

Ceník NI pro školy

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)

Více

aplikačního inženýra na plný úvazek

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...

Více

Programování PLC pro žáky 3. a 4.ročník ME

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...

Více

UNIVERZITA PALACKÉHO V OLOMOUCI Přírodovědecká fakulta

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í...

Více

APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY

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...

Více

CH12_etc

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...

Více

Pracovní sešit pro 3.ročník oboru Esl a Esil Programování PLC

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...

Více