Rychlokurz
LabVIEW Ing. Petr Hošek
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/07.0247 Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Měřící technika 2.0 vs. 1.0
Navigace/ GPS
Hraní her
PC/WWW/ E-mail
PDA Telefon
Displej s vysokým rozlišením
Mp3
Fotoaparát
2
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Měřící technika 1.0 – tradiční přístup
RLC metr
Logický analyzátor
Signálový generátor
Programovatelný přepínač
Spektrální analyzátor
Zdroj
DMM 3
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Měřící technika 2.0 – „nový“ přístup - modulární programovatelný systém použitelný pro různá měření - menší rozměry - upgradovatelnost - real-time zobrazení dat v PC - uživatelem definované softwarové rozhraní dá se přizpůsobit - jednoduché přidat nové funkce (filtrování, FFT…) - LabVIEW, LabWindows CVI, Visual Studio… +NIDAQmx
4
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – základy - Front panel (FP): grafický interface na který uživatel kliká, nastavuje, kroutí a zadává, čte, data se zobrazují - Block diagram (BD): vlastní program
- Každému prvku na FP odpovídá prvek na BD - Vi = virtual instruments Controls: - zadání čísel, textu, nastavení hodnot, spínače, tlačítka… Indicators: - zobrazení dat, výsledků výpočtů, grafy, LED… Constants: - numerické, textové, boolean…
5
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – palety
6
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – data flow - jednotlivé struktury/funkce v LV mají vstupy a výstupy - program se nevykonává sekvenčně jako u textových program. jazyků, ale dle data flow
- data flow: koncept, kdy každá funkce se vykoná až když má definované všechny vstupy. Po provedení posílá data na své výstupy - pokud je přítomna chyba, není dovoleno spustit program
Příklad 1: převod teploty ze C na F Má oba vstupy definované, vykoná se okamžitě a pošle data dál
Nevykoná se, dokud nedostane data z násobení Nevykoná se, dokud nedostane data z dělení a Teplotu 7
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – základní datové typy Odlišují se barvou drátů a terminálů - Numerické: U8..U64, I8..I64, SGL, DBL, EXT, Complex… - String - Boolean - Kombinované = Cluster (více datových typů v jednom – jako record v Delphi nebo struct v C)
- Pole: rozměr se odlišuje „silou“ drátu
8
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – struktury Stejně jako v jiných programovacích jazycích: For, While, Case… paleta Structures na Block diagramu
Určuje počet iterací
Iteruje dokud není splněna podmínka
jeden nebo více subdiagramů, které se vykonají dle vstupní podmínky BOOLEAN
NUMERIC ale i STRING, ENUM…
9
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – zkratky, které se mohou hodit - ctrl+H nebo menu Help show Context Help. Zobrazí plovoucí nápovědu, která po ukázání na libovolnou funkci poskytne rychlou informaci o jejích vstupech/výstupech a o tom co funkce dělá - ctrl+E přepíná mezi FP a BD (nebo menu Window show Block Diagram/Front Panel ) - ctrl+B smaže všechny přerušené/nedokončené dráty
10
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 2: Naprogramujte řešení kvadratické rovnice
FP palety - numeric : sčítání, odčítání, dělení, negace, přetypování na Complex DBL (subpaleta Conversion) - structures: while loop BD palety - numeric : numeric control, numeric indicator - boolean: stop button
11
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 2: řešení
Wait – aby nevytěžoval CPU na 100%
Výstup jako CDB (pravým tlačítkem Representation CDB) Nutné přetypovat na CDB, jinak navazující oparace nebudou s komplexními čísly (subpaleta Conversion)
12
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – čemu se vyvarovat 1) Nekřižte dráty pokud nemusíte (Hrozí „špageti“ kód!)
2) Vstupy nalevo a výstupy napravo! (Program se stane nečitelný)
13
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – sběr dat - Jak pracovat s měřící kartou? Musím jí říct co chci měřit a jak to chci měřit NI-DAQmx - NI-DAQmx - driver ke komunikaci s měřícími kartami od NI (přístup z LabVIEW, C++, Java…) - zaměnitelnost karet – stejný program mi poběží na dvou zcela různých kartách (pokud nabízí kompatibilní hw) - simulované karty a celé skříně – odladím si program na softwarové emulaci
- Daq Assistant: expresní funkce – zapouzdření low-level funkcí ke sběru dat do jednoduchého průvodcem - všechny expresní funkce dostupné pod paletou Express
14
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření 1) Připojíme měřící kartu k PC a počkáme až ji Windows rozpozná 2) Správně naswitchujeme jumpery pro měření čtvrtmost/polomost/celý most a zesílení 3) Zvolíme si kanál ne kterém budeme měřit (levý konektor = AI0, pravý = AI1)
AI0 AI1 15
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření 4) Připravíme si Front Panel, který nám umožní a) nastavení napájecího napětí = knob nebo numeric control b) zobrazení naměřených dat = chart (paleta Graph) 5) Nejprve musíme nastavit napájecí napětí můstku, neboli musíme kartě říct, ať hodnotu příslušného AO nastaví na cca 3V Daq Assistant č.1 (najdeme v: Block diagram paleta Express Output)
16
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření a) chceme generovat napětí
Generate signal Analog Output Voltage
b) vybereme naši kartu (USB-6009) a napájecí AO
Dev X aoY*
17
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření c) detaily generování napětí
d) propojíme s našimi 3V
- Range: 0-5V - Terminal: RSE - Generation mode: 1 Sample (chci aby nastavil 3V a držel je) 18
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření 5) Musíme zajistit sběr dat z kanálu na kterém máme připojený můstek Daq Assistant č.2 (Block diagram Paleta Express Input) a) chceme měřit napětí
Acquire signals Analog Input Voltage
b) vybereme odpovídající kanál
Dev X aiZ*
19
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření c) nastavíme detaily měření napětí - Range: ±10V - Terminal: RSE (diferenciální odečtení a zesílení dělá předzesilovač v prvním stupni krabičky) - Generation mode: Continuous Samples (chci měřit dokud nezastavím program) - Samples to Read: 100 (při Rate = 1kHz vyčte data 10x/sec) - Rate: 1kHz
20
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: sběr dat z tenzometrického měření 6) Daq Assistant za vás doplní while smyčku pro kontinuální sběr dat 7) Připojte datový výstup do Chartu 8) Nyní musíme zajistit, aby se jako první nastavilo napájení můstku a až pak začal sběr dat pomůže nám data flow
Připojíme error out z prvního Daq Assistantu do while smyčky. Ta se nezačne vykonávat dokovad nemá všechna vstupní data = dokovad nemá error out. Error out nese data až po vykonání prvního Daq Assistantu 21
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 3: výsledek
22
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 4: rozšiřte předchozí úlohu o zápis dat + indikaci překročení kritické hodnoty (třeba 5V) - použijte expresní funkce - kdo má, může zkusit filtrování signálu a FFT
23
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
LabVIEW – úkoly Příklad 4: řešení
Pozor pro FFT musíte v programu provést jisté změny, jinak nebude nic moc vidět – jaké změny a proč? 24
LabVIEW Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Zdroje www.ni.com
25