LabVIEW for Windows
Radek Votrubec
únor 2000 Technická univerzita v Liberci Fakulta mechatroniky a mezioborových inženýrských studií Katedra řídící techniky
1. Úvod Tato publikace vznikla jako pomůcka pro osvojení práce s produktem National Instruments LabView. Zároveň vyčerpávajícím způsobem popisuje všechny základní prostředky a možnosti programování v tomto prostředí. Závěrem se v rychlosti zmiňuje o ostatních, speciálních knihovnách . LabView je vývojovým prostředím pro vytváření aplikací, tzv. virtuálních přístrojů, orientovaných na oblasti meření, zpracování a užití naměřených dat. Uživatelské rozhraní tvoří panel obsahující ovládací a indikační prvky. Vlastní program je reprezentován graficky blokovým schematem. Program neběží sekvenčně, výpočet je řízen tokem dat. Blok zahájí výpočet v okamžiku, kdy má data na všech vstupech,po zpracování posílá výsledky na všechny výstupy. Procesy jednotlivých bloků tedy běží (s ohledem nahardware a operační systém) paralelně.
2. Práce ve vývojovém prostředí - základem je Panel (Untitled 1) a Diagram (Untitled 1 Diagram), ostatní okna je možno zavřít - panel obsahuje textové a grafické menu, ikonu a pracovní plochu pro ovládací a indikační prvky - diagram obsahuje totéž textové a grafické menu rozšířené o odlaďovací funkce, ikonu (zde pouze needitovatelnou kopii) a pracovní plochu pro blokové schema - menu v panelu a v diagramu jsou ekvivalentní, lze použít obě se stejným výsledkem - při kliknutí pravým tlačítkem myši na pracovní ploše panelu se objeví paleta Controls obsahující knihovny ovládacích a indikačních prvků, které lze umístit na panel, při umístění prvku na panel se automaticky vytvoří v blokovém schematu blok odpovídajícího datového typu, doporučuje se proto každý prvek ihned při vytvoření pojmenovat, aby jej bylo možno v blokovém schematu lehce rozlišit - při kliknutí pravým tlačítkem myši na pracovní ploše diagramu se objeví paleta Functions obsahující knihovny bloků -každé okno má v levém horním rohu ikonu kolíku, po zastrčení kolíku zůstane okno trvale na obrazovce. - při kliknutí pravým tlačítkem na libovolný objekt, v diagramu nebo v panelu, se objeví menu umožňující měnit vlastnosti objektu, získat nápovědu k objektu a další - při shift+right click kdekoli se objeví paleta Tools, rozhodující o funkci myši (Tab cyklicky přepíná) - Spacebar přepíná mezi Operating a Positioning tool v panelu a mezi Positioning a Wiring tool v diagramu - posouvat objekty o bod lze pomocí šipek, o více bodů se shiftem, myší pomocí Positioning tool - kopírovat objekty lze myší pomocí Positioning tool s Ctrl - nápověda je dvojí a) - základní nápověda k LabVIEW, v menu Help - Online Reference… -k informaci o objektu lze přistoupit též pomocí Online Help v pop-up menu objektu b) - v menu Help - Show Help je navíc k dispozici nápověda k objektům - obsah okna se mění v závislosti na objektu, se kterým se pracuje - automatickou aktualizaci okna lze pozastavit volbou Help - Lock Help v menu nebo ikonou zámku přímo v okně nápovědy
- lze volit mezi stručným a podrobným popisem, a to volbou Help - Simple Help v menu nebo ikonou bloku v okně nápovědy
- je zde i možnost vyvolat základní nápovědu ikonou s otazníkem
2
2.1 Tools palette natrvalo se vyvolá v menu Windows - Show Tools Palette dočasně se vyvolá myší Shift + right click Spacebar mění nejpoužívanější nástroje tj. v panelu operating-positioning a v diagramu positioning-wiring Tab mění cyklicky nejpoužívanější nástroje - operating tool slouží ke změně hodnot ovládacích prvků na panelu - positioning tool slouží k umístění a modifikaci rozměrů a tvarů objektů - labeling tool slouží k popisování objektů, změně limitních hodnot a pro zadání textu vůbec - wiring tool slouží k propojování bloků ve schematu - pop-up menu tool vyvolává menu objektů (lze též pravým tlačítkem myši, proto pozbývá význam) - scrolling tool slouží k posunutí celé pracovní plochy (nemá význam) - breakpoint umožňuje vložení breakpointu, zastavení programu, lze aplikovat na wire nebo blok - probe umožňuje vložení probe, tj. ukazatele stavu, lze použít při odlaďování - color copy kopíruje barvu popředí nebo pozadí - color slouží ke změně barvy objektů
2.2 Techniky propojování bloků - prvky blokového schematu lze propojovat pomocí wiring tool - každý prvek blokového schematu má svůj konektor se vstupy a výstupy - jednotlivé piny konektoru se pod kurzorem wiring tool začerňují, přičemž se navíc zobrazuje jejich stručný popis - v případě nejasností je možno nahlédnout do nápovědy - obecně nelze propojit cokoli s čímkoli, některé bloky, např. sčítání, dovolují značnou volnost, v některých případech je možné automatické přetypování, v místě přetypování se objeví tečka, jiné bloky nekompromisně vyžadují jistý datový typ
- datové typy jsou rozlišeny barvou, tloušťkou a typem čáry nebo rámečku a doplňujícím textem - nepovolené propojení je znázorněno černou čárkovanou čarou - všechna nepovolená propojení lze odstranit příkazem Remove Bad Wires v menu Edit - propojení lze vytvářet klikáním - začíná se vždy na pinu nebo na wire (rozvětvení) - končí se na pinu nebo dvojklikem - Spacebar mění orientaci tažení - Ctrl + left click maže poslední segment - editace se provádí pomocí positioning tool - click označí segment - double click označí celou větev - triple click označí celý strom
- v pop-up menu signálu (right click na signálu) volbou Insert lze do signálu vložit libovolný blok, volbou Probe nebo Custom Probe vložit probe, tj. dočasný ukazatel stavu - v pop-up menu bloku (right click na blok) jsou volby Create Constant, Create Control a Create Indicator pomocí nichž lze rychle vytvořit a zároveň připojit k vybranému pinu konektoru daný objekt
3
2.3 Spouštění aplikace - aplikaci lze spouštět buď přímo v prostředí LabVIEW nebo ji zkompilovat a provozovat samostatně - aplikaci lze uchovávat samostatně jako soubor *.vi, nebo sdružovat více aplikací do knihovny *.llb - aplikace se spouští z menu Operate - Run nebo ikonou s šipkou - běh aplikace lze předčasně ukončit volbou Operate - Stop nebo - aplikaci lze spustit též Run Continuously, opakované spouštění - jsou-li v aplikaci chyby, nejze ji spustit, ikona Run je nahrazena
, která otevírá Error List
2.4 Nástroje pro odladění - běžící aplikaci lze dočasně pozastavit pomocí ikony Pause - v blokovém schematu lze na signály vložit Breakpoint - lze aktivovat Highlight Execution - krokování se provádí pomocí
a Probe
(Tools Palette)
, při běhu aplikace pak bude graficky znázorňován tok signálů jeden krok, skok do struktury provedení celé struktury, cyklu apod. provedení zbytku struktury, cyklu apod.
2.5 Nástroje na editaci - LabVIEW podporuje všechny prostředky pro editaci (clipboard apod.) - editace prvků se provádí pomocí positioning tool - typ,barva a velikost fontů se nastavuje pomocí - Align Objects a Distribute Objects ulehčují rozmístění objektů po poracovní ploše
2.6 Ikona a konektor - LabVIEW je modulární jazyk, každou aplikaci - virtuální přístroj (VI) lze použít v další aplikaci jako podprogram (subVI), hierarchii lze sledovat v menu Project - subVI vystupuje v nové aplikaci prostřednictvím své ikony - ikona je zobrazena v pravém horním rohu panelu a diagramu - right-click na ikonu na panelu vyvolá pop-up menu s volbami - VI Setup, nastavení vlastností virtuálního přístroje - Edit Icon, editace ikony - Show Conector, na místě ikony zobrazí konektor - konektor zajišťuje spojení virtuálního přístroje s okolím - volbou Patterns lze vybrat typ konektoru dle počtu pinů a jejich rozmístění - jednotlivé piny lze propojit s prvky na panelu pomocí wiring tool - nezapojený pin má barvu bílou, již zapojený pin je označen šedě, černě je označen pin korespondující s vybraným prvkem (orámovaný čárkovanou černou čarou) - pop-up menu dále nabízí volby pro orientaci konektoru, rozpojení všech pinů, rozpojení aktuálního pinu a určení druhu pinu
4
2.7 Nastavení vlastností virtuálního přístroje - okno nastavení vlatností VI se vyvolá volbou VI Setup v pop-up menu ikony nebo konektoru - vlastnosti VI určují hlavně chování při jeho použití jako subVI, tj. je-li volán jinou aplikací - Execution Options, možnosti běhu programu - Show Front Panel When Loaded, zobrazení čelního panelu subVI již při startu VI - Show Front Panel When Called, zobrazení čelního panelu až při volání subVI - Close Afterwards if Originally Closed, uzavření čelního panelu po ukončení subVI - Run When Opened, spuštění VI při otevření souboru - Suspend When Called, zastavení běhu programu při volání subVI - Reentant Execution, povolení vícenásobného volání subVI, při každém volání vytvoří novou originální datovou strukturu, je nutné při vícenásobném použití subVI, aby každý subVI měl vlastní datovou strukturu - Priority, nastavením priority subVI lze ovlivnit pořadí vykonávání paralelních větví v blokovém diagramu, paralelní zpracování je omezeno počtem procesorů výpočetního systému, LabVIEW přiřazuje procesory pouze podle priority, bloky jsou řazeny ve frontě dle priority, blokům se stejnou prioritou je procesor přidělován cyklicky do té doby, dokud nejsou všechny dokončeny, pak je teprve procesor přidělen blokům s nižší prioritou, vyjímkou je priorita Subroutine, bloku s touto prioritou je procesor přidělen až do jeho ukončení - Print Panel When VI Completes Execution, po ukončení VI (subVI) vytiskne panel - Print Header (name, date, page#), navíc vytiskne hlavičku, tj. název VI (subVI), datum a čas poslední modifikace VI (subVI), číslo stránky a ikonu VI (subVI) *) - Scale to Fit, volí měřítko pro tisk dle velikosti papíru nastavené v menu File-Printer Setup... *) - Surround Panel with Border, kolem panelu tiskne rámeček *) - Window Options, vlastnosti okna VI (subVI) při běhu programu - Dialog Box, okno přebírá focus, tj. je jediným aktivním oknem celé aplikace - Window has Title Bar, okno obsahuje řádek s názvem - Allow User to Close Window, uživateli je povoleno zavření okna - Allow User to Resize Window, uživateli je povolena změna velikosti okna - Allow Run-Time Pop-up Menu, prvky panelu mají pop-up menu i za běhu aplikace - Hilite
Boolean, prvek mající implicitně přiřazenu klávesu Enter je zdůrazněn - Size to Screen, při spuštění maximalizuje okno - Auto center, při spuštění vycentruje okno vzhledem k obrazovce - Show Scrool Bars, okno obsahuje rolovací lišty - Show Menu Bar, okno obsahuje hlavní menu - Show Toolbar, okno obsahuje grafické menu - Show Run Button, grafické menu obsahuje Run a Continuous Run (nejenom při běhu aplikace) - Show Continuous Run Button, grafické menu obsahuje Continuous Run (nejenom při běhu) - Show Abort Button, grafické menu obsahuje Stop (nejenom při běhu aplikace) - Show Debugging, grafické menu obsahuje nástroje pro odlaďování (nejenom při běhu aplikace) - Enable Log/Print at Completion, povoluje zápis na disk a tisk při ukončení - Documentation, umožňuje nestandartní nastavení správy sledování změn apod.
2.8 Nastavení vlastností subVI - okno nastavení vlastností subVI se vyvolá kliknutím pravým tlačítkem myši na blok subVI v diagramu VI a následnou volbou SubVI Node Setup... - je zde možno nastavit - Open Front Panel When Loaded - Show Front Panel When Called - Close Afterwards if Originally Closed - Suspend When Called - uvedené vlastnosti jsou obdobou vlastností popsáných v kapitole 2.7, v případě neshody v nastavení mají tyto volby přednost *) pouze ve spojení s volbou Print Panel When VI Completes Execution
5
2.9 Typy prvků, signálů a proměnných - v blokovém schematu je prvek z panelu zastoupen terminálem - terminál patří buď řídícímu
nebo indikačnímu prvku
- typ proměnné a signálu je rozlišen barvou a tloušťkou čáry - dle rozměru
- dle typu
6
2.10 Základní pop-up menu objektů panelu - Change to Indicator/Control, umožňuje rychlou změnu charakteru prvku - Find Terminal, vyhledá svůj terminál v diagramu - Find Attribute Nodes, vyhledá svoje Attribute Node v diagramu - Find Local Variables, vyhledá svoje lokální proměnné v diagramu - Show, definuje možnosti zobrazení jednotlivých částí objektů (název, stupnice,radix,digitální displej atd.) - Data Operations, práce s hodnotami prvku (počáteční hodnota, copy, paste, popis atd.) - Create Attribute Node, v diagramu vytvoří blok příslušející danému objektu umožňující programově měnit vlastnosti objektu - vlastnost se volí v pop-up menu vzniklého bloku pomocí Select Item - blok může obsahovat i více vlastností, další vlastnost se přidá Add Element, odstraní se Remove Element - zda položka slouží ke čtení či zápisu lze nastavit pomocí Change to Read/Write - obrázek ukazuje Attribute Node prvku x (typ Double) s vlastností Visible (typ Boolean) pro zápis a s vlastností Visible (typ U8) pro čtení - Create Local Variable, v diagramu vytvoří lokální proměnnou odpovídající prvku - objekt z panelu je v diagramu reprezentován svým terminálem, který umožňuje přístup k datové proměnné reprezentující daný objekt, tj. čtení pro controls a zápis pro indicators - vytvoření lokální proměnné přináší další možnost přístupu k proměnné a dovoluje navíc i zápis pro control a čtení pro indicator - zda lokální proměnná slouží ke čtení či zápisu lze nastavit pomocí Change to Read/Write Local - vytvoření lokálních proměnných dovoluje přistoupit k jedné proměnné na více místech v diagramu - lokální proměnnou lze vytvořit též výběrem z knihovny Functions-Structures-Local Variable - název proměnné spojené s objektem je totožný s názvem objektu, to je další důvod k důslednému popisování objektů - nově vytvořená lokální proměnná přebírá název od názvu objektu - proměnnou lze změnit volbou Select Item v jejím pop-up menu - v případě, že objekt nemá název objeví se
a je nutné vybrat proměnnou pomocí Select Item
- Key Navigation..., umožňuje přiřadit objektu horkou klávesu - Replace, umožňuje rychlé nahrazení objektu jiným objektem - Representation, umožňuje změnit typ proměnné charakterizující objekt - Data Range, nastavení rozsahu (min,max, krok, počáteční hodnota,typ proměnné, chování při překročení) - Format & Precision, nastavení formátu (numerický, datum a čas ...,d/h/o/b, hh/mm/ss ...) a přesnosti
2.11 Základní pop-up menu objektů diagramu - Change to Indicator/Control, umožňuje rychlou změnu charakteru prvku - Hide/Show Indicator/Control, umožní odebrat příslušející objekt z panelu - Find Indicator/Control, vyhledá svůj objekt na panelu - Find Attribute Nodes, vyhledá svoje Attribute Node v diagramu - Find Local Variables, vyhledá svoje lokální proměnné v diagramu - Show, definuje možnosti zobrazení jednotlivých částí objektů (název atd.) - Data Operations, práce s hodnotami prvku (počáteční hodnota, copy, paste, popis atd.) - Create Attribute Node, v diagramu vytvoří blok příslušející danému objektu umožňující programově měnit vlastnosti objektu, viz kapitola 2.10 - Create Local Variable, v diagramu vytvoří lokální proměnnou odpovídající prvku, viz kapitola 2.10 - Representation, umožňuje změnit typ proměnné charakterizující objekt - Create Constant, rychlé připojení konstanty (pro proměnnou pro zápis) - Create Control, rychlé připojení ovládacího prvku (pro proměnnou pro zápis) - Create Indicator, rychlé připojení indikačního prvku (pro proměnnou ke čtení) - Online Help, zobrazí nápovědu k danému prvku - Description, umožňuje vytvořit vlastní komentář k prvku
7
3. Popis knihovny Controls - knihovna Controls obsahuje prvky používané na panelu - knihovna Controls se vyvolá kliknutím pravým tlačítkem myši na pracovní ploše panelu - prvky v knihovně jsou popisovány postupně
3.1 Knihovna Numeric - obsahuje objekty s charakteristickou proměnnou numerického typu - digitální prvky - Digital Control, control - Digital Indicator, indicator - Simple Numeric, může být control i indicator - analogové prvky lineární - Simple Vertical Slide - Vertical Slide - Vertical Fill Slide - Vertical Pointer Slide - Tank - Simple Horizontal Slide - Horizontal Slide - Horizontal Fill Slide - Horizontal Pointer Slide - Thermometer - objekty mohou být typu control i indicator - všechny objekty se liší pouze vzhledem - objekty mohou mít více proměnných, editace pomocí Add/Remove Slider proměnná je pak typu numeric cluster - volba Fill Options nastavuje způsob výplně - volbou Scale je možno upravit stupnici (formát, diference, lin/log ...) - volba Text Labels umožňuje nahradit čísla na stupnici popisem, položku lze přidat volbami Add Item After/Before, odebrat Remove Item proměnná pak nabývá celočíselných hodnot 0,1...n, to lze změnit pomocí Data Range... a Format & Precision - analogové prvky kruhové - Knob - Dial - Meter - Gauge - objekty mohou být typu control i indicator, liší se pouze vzhledem - objekty mohou být více proměnných, editace pomocí Add/Remove Needle - ostatní volby obdobné jako u lineárních prvků - pomocí positioning tool lze měnit počáteční a aktivní úhel stupnice - prvky pracující s barvou - Color Box - Framed Color Box - mohou být control i indicator - proměnná je typu U32 ve tvaru RRGGBBh tedy od černé [0,0,0]=000000h=0 po bílou [255,255,255]=FFFFFF=16777215 - v režimu control Allow Transparent povoluje vybrat T=16777216 (průhledná) - Color Ramp - může být control i indicator libovolného numerického datového typu - volba Interpolate Color umožní plynulý přechod mezi barevnými odstíny - nad rampou lze nastavit barvu při přetečení, pod rampou barvu při podtečení - všechny numerické prvky mohou mít fyzikální jednotku vyvolatelnou pomocí Show Unit Label
8
3.2 Knihovna Boolean - obsahuje objekty s charakteristickou proměnnou typu Boolean - všechny prvky lze použít jako control i indicator - prvky jako Switch nebo Button se lépe hodí na control - prvky jako LED nebo Light se lépe hodí na indicator - hodnota prvku v módu control lze měnit pomocí operating tool vždy, hodnota prvku v módu indicator lze měnit pouze při editaci - některé prvky obsahují nápis, ten lze volbou Lock Text in Center zafixovat do středu prvku, pohyb povoluje Release Text - předpokládáme-li u nějakého prvku jistou hodnotu, lze odchylku od této hodnoty registrovat pomocí voleb Suspend If True/False v položce Data Range... - v módu control lze navíc nastavit režim přepínače pomocí volby v menu Mechanical Action - Switch When Pressed
při stisku tlačítka myši změní hodnotu, hodnota trvá nezávisle na čtení hodnoty prvku
- Switch When Released
při uvolnění tlačítka myši změní hodnotu, hodnota trvá nezávisle na čtení hodnoty prvku
- Switch Until Released
při stisku tlačítka myši změní hodnotu, při uvolnění opět mění hodnotu, překlápění je nezávislé na počtu čtení hodnoty prvku
- Latch When Pressed
při stisku tlačítka myši změní hodnotu, jakmile je hodnota jednou přečtena, vrací se zpět, to je nutné v případech kdy je nutné provést operaci pouze jednou (ovládání smyček apod.)
- Latch When Released
při stisku tlačítka myši změní hodnotu, jakmile je hodnota jednou přečtena, vrací se zpět
- Latch Until Released
při stisku tlačítka myši změní hodnotu, vrací zpět po uvolnění tlačítka a jednom přečtení stavu
3.3 Knihovna String & Table - String Control, control - String Indicator, indicator - Simple String, možno použít jako control i indikátor - formát textu lze měnit volbami - Normal Display, normální text - ‘\’ Codes Display, Escape sekvence - Password Display, skrytí textu za ******* - Hex Display, hex hodnoty Ascii kódu - volbou Limit To Single Line lze potlačit zadání nového řádku - Table, 2D pole proměnných typu String - volba Empty Table umožňuje rychle vymazat obsah celé tabulky - volbou Selection Scrooling lze povolit výběr mimo zobrazenou oblast tabulky
9
3.4 Knihovna List & Ring - List je struktura s proměnnou numerického typu, jejíž hodnota je závislá na výběru řádku v seznamu - Ring je struktura s proměnnou numerického typu, jejíž hodnota je závislá na výběru položky (text, obrázek ...) - Text Ring, položky typu textový řetězec, editace pomocí Add/Remove Item, v jednom okamžiku je vidět pouze jedna položka - Menu Ring, položky typu textový řetězec, editace pomocí Add/Remove Item, vidět je jedna položka, při změně hodnoty se vybírá ze seznamu - Dialog Ring, totéž jako Menu Ring, jiný vzhled - Pict Ring, položkami jsou obrázky, obrázek musí být předem umístěn do Clipboardu (menu Edit-Copy) a následně nahrán pomocí Import Picture - Text & Pict Ring, položkami mohou být texty i obrázky - Single Selection List, zobrazení více položek seznamu v jednom okamžiku - Multiple Selection List, umožňuje výběr několika položek zároveň, proměnná je typu pole - výběr v listu lze provést myší, šipkami nebo psaním počátečních písmen položek - režim klávesnice lze nastavit v Keyboard Mode (rozlišování velkých a malých písmen) - režim výběru lze nastavit v Selection Mode - 0 or 1 Item, může být vybrána pouze jedna položka - 1 Item, musí být vybrána právě jedna položka - 0 or More Items, může být vybráno libovolně - 1 or More Items, musí být vybrána alespoň jedna položka - Enumerated Type, proměnná výčtový typ, jinak stejné jako Text Ring
3.5 Knihovna Array & Cluster - Array, pole - po umístění na panel nemá ještě pole udaný typ proměnné - pole je třeba osadit prvkem požadovaného datového typu, tzn. prvek pomocí positioning tool umístit do rámečku pole - dimenze pole lze měnit pomocí Add/Remove Dimension, na pravé straně pole jsou umístěny indexy, indexace je vždy 0,1,... - velikostí pole na panelu je určen počet zobrazených prvků - v Data Operations je navíc několik položek týkajících se editace pole - volbou Add/Remove Element Gap lze aktivovat rámeček kolem vybraných prvků - v diagramu má terminál navíc volbu Array Tools umožňující rychlejší přístup na funkční bloky pracující s poli, viz kapitola 4.5 -Cluster, struktura obsahující položky různého typu, LabVIEW rozlišuje navíc cluster s položkami pouze číselného typu a cluster s položkami obecného typu, viz kapitola 2.9 - cluster na panelu reprezentuje rámeček, do kterého je možno umisťovat prvky libovolného datového typu - pořadí prvků ve struktuře závisí na pořadí vkládání prvků do rámečku, (nesouvisí s umístěním) - pořadí lze měnit pomocí Cluster Order... zadáním pozice a kliknutím na prvek - pomocí Autosizing lze aktivovat automatickou úpravu velikosti rámečku dle rozmístění prvků uvnitř - v diagramu má terminál navíc volbu Cluster Tools umožňující rychlejší přístup na funkční bloky pracující s clustery, viz kapitola 4.6 - Error In/Out.ctl, jsou clustery předdefinované pro komunikaci mezi VI, popis v Online Reference v Communications Overview
10
3.6 Knihovna Graph - Graph a Chart jsou ve většině případů používány jako dvourozměrné displeje určené pro grafické zobrazování jednoho nebo více průběhů, (ovšem lze použít i v režimu control) - Graph přijímá a zobrazuje data po blocích - Chart přijímá a zobrazuje jednotlivá data, tak jak přicházejí na jeho vstup -Waveform Chart, zobrazuje data přiváděná na vstup - osa x je tvořena přirozenými čísly 0,1,2..., rozteč ani měřítko nelze měnit - pro zobrazení jednoho průběhu je vstupem: - skalár udávající následující hodnotu y - 1D pole o n prvcích udávající n hodnot y
zobrazování lze zrychlit tím, že se hodnoty shromáždí do pole a nechají vykreslit najednou - pro zobrazení více průběhů je vstupem: - cluster obsahující n skalárních hodnot udávajících následující hodnoty y n průběhů - pole m clusterů obsahujících n skalárních hodnot udávajících m následujících hodnot y n průběhů
- krajní hodnoty os lze nastavit pomocí labeling tool, je-li vypnut autoscale - nastavením krajních hodnot osy x lze změnit množství najednou zobrazených dat - počet hodnot, které chart eviduje je udán nastavením bufferu Chart History Length... - zobrazení jednotlivých částí grafu lze nastavit pomocí Show, mimo jiné: - Legend, zobrazí nastavení jednotlivých průběhů (typ grafu, typ bodů, typ čar, typ výplně,barva...) - Palette, zobrazí grafické menu s nástroji (autoscale x/y, parametry x/y, zoom, posun, kurzor) - Scrollbar, zobrazí lištu umožňující posun po ose x - Digital Display, zobrazí digitální displej - X/Y Scale, zobrazení os - Data Operations obsahuje navíc: - Clear Chart, vymazání historie - Autoscale X/Y, nastavení autoscale pro osy - Update Mode, nastavení režimu práce chartu: - Strip Chart, po dosažení pravého okraje dochází k posunu grafu doleva - Scope Chart, po dosažení pravého okraje je obraz smazán a začíná se vykreslovat odleva - Sweep Chart, po dosažení pravého okraje se začíná vykreslovat odleva bez mazání - X/Y Scale, nastavení parametrů os - Marker Spacing - Uniform, pravidelná rozteč popisu měřítka os - Arbitrary, volitelná rozteč popisu měřítka os - Add/Delete Marker, editace popisu měřítka os, je-li Marker Spacing Arbitrary - Formatting..., nastavení formátu popisu os, nastavení rastru, formát čísel... - Autoscale X/Y, nastavení autoscale - Loose Fit, nastavení zaokrouhlování konce měřítka na celá čísla - Stack/Overlay Plots, více průběhů v jednom grafu nebo každý samostatně s možností vlastních měřítek os
11
-Waveform Graph, zobrazuje bloky dat přivedené na vstup - pro zobrazení jednoho průběhu je vstupem: - 1D pole n hodnot y (osa x 0,1,2...n-1, rozteč ani měřítko nelze měnit ) - cluster obsahující - skalární hodnotu x 0 udávající počátek osy x - skalární hodnotu dx udávající přírůstek - 1D pole o n prvcích udávající n hodnot y
- pro zobrazení n průběhů je vstupem: - 2D pole o n řádcích skládajících se z m hodnot y (osa x 0,1,2...m-1, rozteč i měřítko neměnné) - cluster obsahující - skalární hodnotu x 0 udávající počátek osy x - skalární hodnotu dx udávající přírůstek - 2D pole o n řádcích skládajících se z m hodnot y - 1D pole n clusterů obsahujících 1D pole m hodnot y, vhodné pro případ, kdy mají jednotlivé průběhy různý počet bodů, (osa x 0,1,2...mmax-1, rozteč i měřítko neměnné) - cluster obsahující - skalární hodnotu x 0 udávající počátek osy x - skalární hodnotu dx udávající přírůstek - 1D pole n clusterů obsahujících 1D pole m hodnot y - 1D pole n clusterů obsahujících x0, dx a 1D pole m hodnot y, umožní lib. počátky a přírůstky
- Show Cursor Display umožní použití souřadnicového kříže k odečítání (zadávání) hodnot z grafu - Data Operations Smooth Update, změna režimu aktualizace grafu, odstraňuje blikání - Transpose Array, transponuje vstupní pole, tj. záměna os, pouze u některých zapojení
12
- XY Graph, umožňuje kontrolu nad osou x, data jsou ve formě uspořádaných dvojic - pro zobrazení jednoho průběhu je vstupem: - cluster obsahující dvě 1D pole se stejným počtem hodnot n - 1D pole n clusterů obsahujících dvě skalární hodnoty x a y
- pro zobrazení n průběhů je vstupem: - 1D pole n clusterů obsahujících 1D pole m clusterů obsahujících dvě skalární hodnoty x a y - 1D pole n clusterů obsahujících dvě 1D pole se stejným počtem prvků
- Intensity Chart/Graph, razí cestu k zobrazení v 3D - vstupem je 2D pole, x a y jsou indexy pole, z jsou hodnoty v poli - každé hodnotě z odpovídá barevný odstín 0..255
3.7 Knihovna Path & Refnum - obsahuje objekty pro práci se soubory, zařízeními apod. - xxx Refnum, proměnná typu identifikátor souboru nebo zařízení - File Path Control/Indicator, proměnná typu cesta k souboru
3.8 Knihovna Decorations - obsahuje panely různého vzhledu použitelné k utváření grafického uspořádání panelu, jsou bez funkce
3.9 User Controls - umožňuje vytvořit si knihovnu vlastních objektů zapsáním do user.lib
3.10 Select a Control... - umožňuje vybrat objekt ze souboru
13
4.0 Popis knihovny Functions - knihovna Functions obsahuje prvky zpracovávající signál v diagramu - knihovna Functions se vyvolá kliknutím pravým tlačítkem myši na pracovní ploše diagramu - prvky v knihovně jsou popisovány postupně
4.1 Knihovna Structures - Sequence, struktura umožňující zajistit sekvenční provádění programu - sequence je složena z jednoho nebo více listů, jejichž provádění je postupné 0,1...,n - zobrazen je vždy pouze jeden list, jednotlivé listy se zobrazují pomocí přepínače v horní části rámečku nebo pomocí Show Frame x - přidávat listy lze pomocí Add Frame After/Before, odebírat volbou Remove Frame - pomocí Duplicate Frame lze přidat kopii zobrazeného listu - změna pořadí listů se provádí volbou Make This Frame x - celou sequenci včetně obsahu lze smazat klávesou Delete (mimo terminálů), volbou Remove Sequence lze též smazat sequenci, přičemž se zachovají objekty na právě zobrazeném listu - signál se do sequence nebo ze sekvence vede přes tzv tunel, vstupní i výstupní tunely jsou viditelné na všech listech - se vstupním tunelem může být propojeno více objektú na různých listech, s výstupním tunelem musí být propojen pouze jeden objekt - hodnoty na výstupních tunelech se objeví až po dokončení celé sekvence - je-li tunel zapojen správně, má barvu černou, je-li zapojen chybně, má barvu bílou - při pokusu zapojit tunel chybně tunel rychle bliká
- k přenosu signálu mezi listy v sequenci se používá lokální proměnná, lokální proměnná je viditelná na všech listech sequence, zda má být lokální proměnná ke čtení nebo k zápisu určuje její propojení, na libovolném listu lze hodnota do proměnné zapsat, hodnota je pak přístupná ke čtení na následujících listech
14
- Case, podmíněný příkaz - podmíněný příkaz je tvořen jedním nebo více listů, proveden je vždy pouze jeden, splňující podmínku - zobrazen je vždy pouze jeden list, jednotlivé listy se zobrazují pomocí přepínače v horní části rámečku nebo pomocí Show Case x - přidávat listy lze pomocí Add Case After/Before, odebírat volbou Remove Case - pomocí Duplicate Case lze přidat kopii zobrazeného listu - změna pořadí listů se provádí volbou Make This Case x - objekt určující podmínku se propojí s terminálem podmínky (selector - ?) - má-li case pouze jeden list, je tento list vybrán vždy - má-li case dva listy, je podmínka implicitně typu boolean s listy True a False, propojením ? s objektem jiného datového typu lze podmínku změnit na typ integer s listy 0 a 1 - má-li case více než dva listy, je podmínka typu integer s listy 0, 1, ..., n - je-li podmínka typu integer, je vyhodnocena jako 0 pro ( -∞ ; 0.5 ) 1 pro < 0.5 ; 1.5 ) : n-1 pro < n-1.5 ; n-0.5) n pro < n-0.5 ; ∞) je to v důsledku přetypování float na integer - celou strukturu case včetně obsahu lze smazat klávesou Delete (mimo terminálů), volbou Remove Case Structure lze též case smazat, přičemž se zachovají objekty na právě zobrazeném listu - signál se do case nebo z case vede přes tzv tunel, vstupní i výstupní tunely jsou viditelné na všech listech - s vstupním tunelem může být propojeno více objektú na různých listech, s výstupním tunelem musí být propojen na každém listu právě jeden objekt
- For Loop, cyklus s daným počtem průchodů - celou strukturu for včetně obsahu lze smazat klávesou Delete (mimo terminálů), volbou Remove For Loop lze for též smazat, přičemž se zachovají objekty uvnitř - počet iterací lze určit - připojením objektu ke count terminalu
- počtem prvků vstupního pole připojeného tunelem se zapnutou indexací, pro vícerozměrné pole je rozhodující nejnižší index (v panelu nejvýše položen) - je-li určujících prvků víc, je rozhodující prvek udávající nejmenší počet iterací, (zde bude počet iterací n=2)
15
- indexing lze zapnout u kanálu pomocí Enable/Disable Indexing - vypnuto - vstupem je pole při každém průběhu - výstupem je skalární hodnota po ukončení celého cyklu - zapnuto - vstupem jsou postupně prvky pole - výstupem je pole výsledků jednotlivých průchodů
- číslo průchodu 0,1,...,n je k dispozici na iteration terminal - rychlost provádění cyklu lze ovlivnit vložením funkce Wait Until Next ms Multiple z knihovny Time & Dialog ( po 1s zobrazuje čísla 0,1,2,3,4, pak zobrazí 5 a pole [0;1;2;3;4] )
- k zpřístupnění hodnot z minulých průchodů se používají posuvné registry - posuvný registr se vytvoří volbou Add Shift Register - volbami Add/Remove Element lze zvětšit počet uchovávaných hodnot - odstranění registru se provede volbou Remove All - registr může být libovolného datového typu, typ mění automaticky dle zapojení
- nová hodnota je do registru zapsána vždy po provedení jedné iterace pomocí terminálu s šipkou nahoru na pravé straně
- hodnoty registru jsou přístupné přes terminály s šipkou dolů na levé straně
- inicializace registru se provede připojením inicializačních hodnot zvnějšku, je tak možno mít požadované hodnoty v registru již při první iteraci - inicializovat se musí buď žádné nebo všechny hodnoty registru
- při opětovném použití cyklu zaručí inicializace nastavení požadovaných hodnot, po ukončení cyklu se totiž registry neresetují a při dalším vstupu do cyklu jsou v registrech staré hodnoty
i 0 1 2 3 4
x-1 0 0 1 2 3
x-2 0 0 0 1 2
1. spuštění x-3 y-1 y-2 0 0 0 0 0 0 0 1 0 0 2 1 1 3 2
y-3 0 0 0 0 1
x-1 0 0 1 2 3
x-2 0 0 0 1 2
16
2. spuštění x-3 y-1 y-2 0 4 3 0 0 4 0 1 0 0 2 1 1 3 2
y-3 2 3 4 0 1
- While Loop, cyklus s nedefinovaným počtem průchodů - celou strukturu while včetně obsahu lze smazat klávesou Delete (mimo terminálů), volbou Remove While Loop lze while též smazat, přičemž se zachovají objekty uvnitř - počet průběhů závisí na podmínce (conditional terminal) - podmínka je typu boolean, cyklus probíhá dokud je podmínka vyhodnocena jako True - podmínka může být ovládaná buttonem, funkcí apod. v prvním případě bude smyčka probíhat dokud se nepřepne button na Off ve druhém případě dokud 10 > i , tj. i bude nabývat hodnot 0,1,...,10
- číslo průchodu, rychlost provádění, indexace a posuvné registry shodné s For Loop pozn.: počet iterací While Loop může nabývat vysokých hodnot, pole vzniklé indexací může být paměťově náročné - Formula Node, struktura umožňující řešení výrazů v textové podobě - oproti grafické interpretaci je výrazně pomalejší - vstupy i výstupy lze umístit po celém obvodě volbou Add Input/Output, aby byl vstup nebo výstup využitelný musí být pojmenován
- formula node používá syntaxi Backus-Naur Form (BNF) - podrobný popis je k dispozici v Help-Online Reference...-Block Diagram Reference-Formula Node - příkazy se skládají z operandů, operátorů, matematických funkcí ... - příkazy jsou ukončeny středníkem
- Global Variable, globální proměnná, umožňuje zpřístupnit data z několika VI - globální proměnná je tvořena speciálním VI (má pouze panel) - nová globální proměnná (VI) se vytvoří výběrem a umístěním na panel - panel globální proměnné se zobrazí volbou Open Front Panel - na panel globální proměnné lze umístit objekty stejně jako na standartní panel VI, neexistuje však korespondující diagram, takže se nikde neobjeví terminály, objekty je nutné pojmenovávat - terminály jsou nahrazeny blokem globální proměnné, přiřazení se provádí pomocí Select Item - nalezení vazeb se provádí - u objektu na panelu pomocí Find Global References, - u bloku v diagramu pomocí Find Global Definition/References - každý blok globální proměnné je buď v režimu čtení nebo v režimu zápis, změna se provede pomocí Change To Read/Write Global - pro zpřístupnění dalších objektů z panelu globální proměnné je nutné nejprve vytvořit další bloky globální proměnné a to kopírováním stávajících bloků (Ctrl + myš), vybráním z knihovny Structures by se vytvořil další VI globální proměnné - Local Variable, lokální proměnná, umožňuje zpřístupnit data v rámci VI - využívá se pro několikanásobný přístup k datům - umožňuje zápis pro control a čtení pro indicator - nová lokální proměnná se vytvoří výběrem a umístěním na panel nebo viz kapitola 2.10 - přiřazení se provede volbou Select Item (nutné pojmenovávání objektů) - každý blok lokální proměnné je určen buď pro čtení nebo pro zápis, změna pomocí Change To Read/Write Local
17
4.2 Knihovna Numeric - obsahuje funkční bloky pracující s číselnými typy - Add, Subtract, Multiply, Divide, sčítání, odčítání, násobení, dělení
- Quotient & Remainder, celočíselné dělení
- Increment, Decrement, inkrementace, dekrementace
- Add Array Elements, součet prvků numerického pole
- Multiply Array Elements, součin prvků numerického pole
- Compound Arithmetic, součet, součin, log. součet, log. součin více prvků, druh operace je určen volbou Change Mode, rozšíření Add/Remove Input možnost inverze každého prvku pomocí Invert (inverze k násobení je dělení...)
- Absolute Value, absolutní hodnota
- Round To Nearest, zaokrouhlení na nejbližší celé číslo - Round To -Infinity, zaokrouhlení na nejbližší nižší celé číslo - Round To +Infinity, zaokrouhlení na nejbližší vyšší celé číslo
- Random Number ( 0-1 ), náhodné číslo v rozsahu < 0 ; 1 >
18
- Square Root, odmocnina, je-li vstup < 0, vrací NaN
- Negate, negace
- Scale By Power Of 2, násobení 2n
- Sign, fce signum
- Reciprocal, převrácená hodnota
- Numeric Constant, numerická konstanta - Enumerated Constant, konstanta výčtového typu, editace pomocí Add Item After/Before, Remove Item - Ring Constant, konstanta typu ring, tj. výčtový typ s přiřazenými celými čísly 0,1,...,n, editace pomocí Add Item After/Before, Remove Item
4.2.1 Knihovna Numeric - Conversion - obsahuje konverzní funkce
- To Byte Integer, etc. , konverze čísla (i pole čísel apod.) na požadovaný datový typ
- Convert Unit, konverze čísla na číslo s jednotkou a naopak, jednotku lze zadat pomocí volby Unit...
- Cast Unit Bases, konverze čísla s jednotkou na číslo s jinou jednotkou, tj. převodník fyzikálních veličin
19
- Number To Boolean Array, konverze čísla na pole hodnot typu boolean - Boolean Array To Number, konverze pole hodnot typu boolean na číslo
- Boolean To ( 0,1 ) , konverze boolean na integer - String To Byte Array, konverze řetězce na pole Ascii hodnot - Byte Array To String , konverze pole Ascii hodnot na řetězec
4.2.2 Knihovna Numeric - Trigonometric - obsahuje trigonometrické funkce - Sine, Cosine, Tangent, Inverse Sine, Inverse Cosine, Inverse Tangent, Hyperbolic Sine, Hyperbolic Cosine, Hyperbolic Tangent, Inverse Hyperbolic Sine, Inverse Hyperbolic Cosine, Inverse Hyperbolic Tangent, Cosecant, Secant, Cotangent - hodnoty jsou v radiánech - funkce pracují s čísly, číselnými poli, číselnými clustery...
- Sine & Cosine, spojení funkcí sin a cos v jednom bloku
- Inverse Tangent ( 2 Inputs), atan2
- Sinc, Sin(x)/x
20
4.2.3 knihovna Numeric - Logarithmic - obsahuje logaritmické funkce - Exponential, exp (x) - Natural Logarithm, ln (x)
- Power Of 10, 10 x - Logarithm Base 10, log10(x)
- Power Of 2, 2 x - Logarithm Base 2, log2(x)
- Power Of X, xy - Logarithm Base X, logx(y)
- Exponential (Arg) -1, ex -1 - Natural Logarithm (Arg + 1), ln (x+1)
4.2.4 Knihovna Numeric - Complex - obsahuje funkce pracující s komplexními čísly - Complex Conjugate, číslo komplexně sdružené
- Polar To Complex, Complex To Polar, z = r eiΦ
- Re/Im To Complex, Complex To Re/Im, z = Re (z) + i Im (z)
21
4.2.5 knihovna Numeric - Additional Numeric Constants - obsahuje několik konstant - Color Box Constant, konstanta barvy U32, výběr pomocí operating tool - Listbox Symbol Ring, konstanta symbolů I32, výběr pomocí operating tool - Error Ring, konstanta chybových hlášení U16, výběr pomocí operating tool - Pi, π - Two Times Pi, 2π - Pi Divided By Two, π/2 - Reciprocal Of Pi, 1/π - Natural Logarithm Of Pi, ln (π) - Negative Infinity, -∞ - e, e - Reciprocal Of e, 1/e - Base Ten Logarithm Of e, log10(e) - Natural Logarithm Of Ten, ln (10) - Natural logarithm Of Two, ln (2) - Positive Infinity, +∞ - Planck Constant (J/Hz), Planckova konstanta - Elementary Charge (C), elementární náboj - Speed Of Light In Vacuum (m/s), rychlost světla ve vakuu - Gravitional Constant (N m2/kg2), gravitační konstanta - Avogadro Constant (/mol), Avogadrova konstanta - Rydberg Constant (/m), Rydbergova konstanta - Molar Gas Constant (J/(mol K)), molární plynová konstanta
4.3 Knihovna Boolean - obsahuje funkční bloky pracující s typem boolean - And Or Exclusive Or x F F T T
y F T F T
z F F F T
Not And x F F T T
x F F T T
y F T F T
z F T T T
Not Or y F T F T
z T T T F
x F F T T
x F F T T
y F T F T
Not z F T T F
Not Excl. Or y F T F T
z T F F F
x F F T T
y F T F T
x F T
z T F
Implies z T F F T
x F F T T
22
y F T F T
z T T F T
- Compound Arithmetic, viz kapitola 4.2 - And Array Elements, and všech prvků vstupního pole
- Or Array Element, or všech prvků vstupního pole - Number To Boolean Array, viz kapitola 4.2.1 - Boolean Array To Number, viz kapitola 4.2.1 - Boolean To ( 0,1 ) , viz kapitola 4.2.1 - Boolean Constant, nastavení pomocí operating tool
4.4 Knihovna String - obsahuje funkční bloky pracující s řetězci - String Length, vrací délku řetězce, vstupem může být i pole nebo cluster řetězců, výstupem je pak stejná struktura typu integer
- Concatenate Strings, spojí vstupní řetězce ve výstupní řetězec
- String Subset, výstupem je část vstupního řetězce řetězce, zadává se délka a offset
- Split String, hledá znak v řetězci, výstupem je řetězec před znakem, řetězec od znaku včetně a pozice nalezeného znaku, místo hledaného znaku lze zadat offset dělícího bodu, při neúspěchu vrací pozici -1
- Match Pattern, hledá řětězec v řetězci, výstupem je řetězec před hledaným řetězcem, hledaný řetězec, řetězec za hledaným řetězcem a pozice konce nalezeného řetězce, při neúspěchu vrací pozici -1, dále lze zadat i offset začátku vyhledávání
23
- Pick Line & Append, připojí k řetězci řádku z víceřádkového řetězce
- Index & Append, připojí k řetězci prvek z pole řetězců
- Select & Append, připojí k řetězci jeden nebo druhý řetězec
- Index & Strip, hledá začátek vstupního řetězce v poli řetězců, vrací pozici nálezu a zbytek řetězce, při neúspěchu vrací -1 a celý hledaný řetězec
- Select & Strip, hledá začátek vstupního řetězce ve dvou řetězcích, vrací T/F, je-li nález v prvním/druhém a zbytek řetězce, při neúspěchu vrací F a celý hledaný řetězec
- Scan From String, převod řetězce na číslo, vstupem je formátovací řetězec, pracovní řetězec, offset začátku převodu a vstupní error cluster, výstupem je zbytek řetězce, pozice konce převodu, error cluster a převedené hodnoty, nepovede-li se řetězec dle formátovacího schematu převést, dosadí implicitní výstupní hodnoty (-1 v druhém příkladě), důvod je k dispozici ve výstupním error clusteru, pomocí vstupního error clusteru je možno převod zakázat
24
- Format Into String, převod čísla na řetězec, vstupem je formátovací řetězec, počáteční řetězec, vstupní error cluster a převáděné hodnoty, výstupem je výsledný řetězec a výstupní error cluster indikující případnou chybu, pomocí vstupního error clusteru lze převod zakázat
- Spreadsheet String To Array, převod řetězce ve formě tabulky na pole čísel, vstupem je oddělovací znak (implicitně tab, zde mezera), formátovací řetězec a datový řetězec, výstupem je implicitně 2D double pole, struktura výstupního pole lze určit připojením pole požadované struktury (1D I32 pole)
- Array To Spreadsheet String, převod pole čísel na řetězec ve formě tabulky, vstupem je oddělovací znak (implicitně tab, zde mezera), formátovací řetězec a pole čísel
- To Lower Case, A-Z nahradí a-z - To Upper Case, a-z nahradí A-Z - Rotate String, rotace znaků v řetězci, tj.první na poslední místo
- Reverse String, obrácení pořadí znaků v řetězci - String Constant, řetězcová konstanta - Empty String, konstanta prázdný řetězec - Carriage Return, konstanta návrat vozíku - Line Feed, konstanta nová řádka - End of Line, konstanta konec řádky - Tab, konstanta tabulátor - formátovací řetězec: [Str]%[-][0][Width][.Precicion]Conversion[Str]
25
conversions: d,x,o,f,e,g
4.4.1 Knihovna String - Additional String to Number Functions - obsahuje převodní funkce mezi čísly a řetězci - To Decimal, převod čísla na řetězec ve formátu dec, umožňuje zadání šířky
- To Hexadecimal, převod čísla na řetězec ve formátu hex, umožňuje zadání šířky
- To Octal, převod čísla na řetězec ve formátu oct, umožňuje zadání šířky
- To Engineering, převod čísla na řetězec ve vědeckém formátu, umožňuje zadání počtu des. míst a šířky
- To Fractional, převod čísla na řetězec v desetinném formátu, umožňuje zadání počtu des. míst a šířky
- To Exponential, převod čísla na řetězec v exponenciálním formátu, umožňuje zadání des. míst a šířky
- From Decimal, převod řetězce ve formátu dec na číslo, vstupem je výchozí řetězec, pozice začátku převodu, implicitní hodnota výstupu v případě neúspěšnosti převodu, výstupem je pozice konce převodu a převedená hodnota
- From Hexadecimal, převod řetězce ve formátu hex na číslo, vstupem je výchozí řetězec, pozice začátku převodu, implicitní hodnota výstupu v případě neúspěšnosti převodu, výstupem je pozice konce převodu a převedená hodnota
26
- From Octal, převod řetězce ve formátu oct na číslo, vstupem je výchozí řetězec, pozice začátku převodu, implicitní hodnota výstupu v případě neúspěšnosti převodu, výstupem je pozice konce převodu a převedená hodnota
- From Exponential/Fract/Eng, převod řetězce v exp., des. nebo vědeckém formátu na číslo, vstupem je výchozí řetězec, pozice začátku převodu, implicitní hodnota výstupu v případě neúspěšnosti převodu, výstupem je pozice konce převodu a převedená hodnota
- Format & Append, zformátuje číslo a přidá k řetězci, vstupem je formátovací řetězec, počáteční řetězec a výchozí číslo, formátovací řetězec: [Str]%[-][0][Width][.Precicion]Conversion[Str] conversions: d,x,o,f,e,g
- Format & Strip, převod řetězce na číslo, hledá v řetězci dle formátovacího řetězce, vstupem je výchozí řetězec, formátovací řetězec (%d, %x, %o, %f, %e, %g) a implicitní hodnota výstupu v případě neúspěšnosti převodu, výstupem je získané číslo a zbytek řetězce
4.4.2 knihovna String - Conversion - Path to Array of Strings, převod cesty na pole řetězců - Array of Strings to Path, převod pole řetězců na cestu proměnná typu boolean určuje, zda je cesta relativní nebo absolutní
- Path to String, převod cesty na řetězec - String to Path, převod řetězce na cestu - String To Byte Array, převod řetězce na pole Ascii hodnot - Byte Array To String, převod pole Ascii hodnot na řetězec
27
4.5 Knihovna Array - obsahuje funkční bloky pracující s poli - Array Size, vrací velikost pole
- Index Array, vybere prvek pole dle indexů na vstupu
- Replace Array Element, nahradí prvek pole dle indexů na vstupu novou hodnotou
- Array Subset, vybere subpole z pole, vstupem jsou počátek a délka výseku na každé dimenzi
- Reshape Array, změna tvaru pole, vstupem jsou rozměry jednotlivých dimenzí, doplňuje nulami
- Initialize Array, inicializace pole, vytvoří pole zadaných rozměrů a vyplní je zadanou hodnotou
- Build Array, vytvoří z libovolných prvků stejného datového typu pole, režim vstupu lze změnit volbou Change To Array/Element
- Rotate 1D Array, rotace 1D pole o daný počet prvků - Reverse 1D Array, obrátí pořadí prvků v 1D poli
- Transpose 2D Array, transpozice 2D pole
28
- Search 1D Array, hledá prvek v 1D poli, výstupem je index nalezeného prvku, nebo -1, lze zadat počáteční index prohledávání
- Sort 1D Array, setřídí 1D pole
- Array Max & Min, vrací minimální prvek pole a jeho index a maximální prvek pole a jeho index
- Split 1D Array, rozdělí pole na dvě pole, zadán je počet prvků prvního pole
- Interpolate 1D Array, interpolace hodnot 1D pole nebo bodů zadaných pomocí clusteru s x a y, pozici v poli udává číslo před desetinnou čárkou (2.5 - 2), polohu v intervalu mezi dvěma prvky udává číslo za des. čárkou (2.5 - polovina intervalu) - Treshold 1D Array, prahování hodnot 1D pole nebo bodů zadaných pomocí clusteru a x a y, zadává se hledaná hodnota, může se zadat počáteční index hledání, výsledek - číslo před desetinnou čárkou udává index pole - číslo za desetinnou čárkou udává polohu v intervalu mezi dvěma prvky - Interleave 1D Arrays, mixování hodnot vstupních polí, tj. výsledkem je 1D pole skládané postupně z prvních, druhých, ... prvků vstupních 1D polí, délka výstupního pole je dána součinem počtu vstupů a počtu prvků nejkratšího vstupního pole - Decimate 1D Array, distribuce hodnot vstupního pole do více polí
- Array Constant, vytvoří se pouze struktura
, kterou je třeba osadit
- Array To Cluster, konverze pole na cluster - Cluster To Array, konverze homogenního clusteru na pole
29
a naplnit
4.6 Knihovna Cluster - obsahuje funkční bloky pracující s clustery - Unbundle, rozložení clusteru
- Bundle, složení do clusteru nebo přepsání jednotlivých hodnot
- Unbundle By Name, přístup na jednotlivé prvky clusteru pomocí jejich názvů, prvek lze přiřadit výstupu volbou Select Item
- Bundle By Name, přepsání jednotlivých hodnot clusteru
- Build Cluster Array, vytvoří pole clusterů
- Index & Bundle Cluster Array, vytvoří pole clusterů obsahujících n-té hodnoty vstupních polí
- Cluster Constant, vytvoří pouze strukturu
, kterou je třeba osadit
- Cluster To Array, konverze homogenního clusteru na pole
- Array To Cluster, konverze pole na cluster
30
4.7 Knihovna Comparison - obsahuje srovnávací funkční bloky - porovnávat lze pouze shodné datové typy při porovnávání různých datových typů automaticky přetypuje - porovnávat lze i dvě pole -korespondující prvky, výstupem pole - pole jako celek, výstupem boolean nastavení pomocí Compare Elements/Aggregates
- Equal?, T jestliže x=y
- Not Equal?, T jestliže x≠y
- Greater?, T jestliže x>y
- Less?, T jestliže x
- Greater Or Equal?, T jestliže x≥y
- Less Or Equal?, T jestliže x≤y
- Equal To 0?, T jestliže x=0
- Not Equal To 0?, T jestliže x≠0
- Greater Than 0?, T jestliže x>0
- Less Than 0?, T jestliže x<0
- Greater Or Equal To 0?, T jestliže x≥0
- Less Or Equal To 0?, T jestliže x≤0
31
- Select, vrátí - horní hodnotu, je-li na selektoru T, - dolní hodnotu, je-li na selektoru F, vstupní hodnoty musí být stejného typu
- Max & Min, vrací nahoře větší a dole menší hodnotu vstupní hodnoty musí být stejného typu
- In Range?, testuje, zda je vstupní hodnota z intervalu
- Not A Number/Path/Refnum?, testuje, zda je vstupní prvek NaN, cesta nebo refnum
- Empty String/Path?, testuje, prázdný řetězec nebo cestu
- Decimal Digit?, testuje, zda vstupní řetězec je číslo ve formátu dec - Hex Digit, testuje, zda vstupní řetězec je číslo ve formátu hex
- Octal Digit?, testuje, zda vstupní řetězec je číslo ve formátu oct
- Printable?, testuje, zda lze vstup vytisknout jako ascii, vstupem mohou být čísla, řetězce, pole čísel a řetězců, clustery... - White Space?, testuje, zda vstupní řetězec je oddělovač, tj. space, tab, new line, carriage return, form feed a vertical tab - Lexical Class, vrací číslo třídy vstupního znaku
32
4.8 Knihovna Time & Dialog - obsahuje funkční bloky pracující s časem a dialogy - Time Count (ms), vrací hodnotu časovače v ms nula není definovaná, nabývá hodnot 232-1..0
- Wait (ms), pauza v ms (př. přeruší běh programu na 1s) jako výstup je možno obdržet hodnotu časovače v čase konce pauzy
- Wait Until Next ms Multiple, umožňuje ovlivnit rychlost provádění cyklu viz kapitola 4.1
- Get Date &Time String, vrací datum a čas vstupem může být - ring nebo integer určující formát času - 0: 1/20/98 - 1: Tuesday, January 20, 1998 - 2: Tue, Jan 20, 1998 - boolean aktivující zobrazení sekund - integer udávající počet sekund od 1.1. 1904 od 00:00:00
pozn. v posledním případě je 120s po 00:00:00 1:02 místo 0:02 kvůli zimnímu času - Get Date Time in Seconds, vrací počet sekund od 1.1. 1904 od 00:00:00
- Date Time To Seconds, převod clusteru {s;min;h;den;měsíc;rok;den v týdnu;den v roce;letní/zimní čas} na počet sekund od 1.1. 1904 od 00:00:00
- Seconds To Date Time, převod počtu sekund od 1.1. 1904 od 00:00:00 na cluster {s;min;h;den;měsíc...} není-li počet sekund zadán, implicitně se bere současný stav
- One Button Dialog, zobrazí dialogové okno se zadanou zprávou a potvrzovacím buttonem, dalším vstupem může být text na buttonu místo OK, výstupem může být proměnná boolean, která se nastaví na T v okamžiku stisku buttonu
- Two Button Dialog, zobrazí dialogové okno se zadanou zprávou a dvěma buttony, výstupem může být proměnná typu boolean, která se nastaví na F stiskem Cancel nebo na T stiskem OK, dalšími vstupy mohou být texty na buttonech
33
- Simple Error Handler.vi, slouží hlavně k informování uživatele o vzniku chyby, jejímu popisu
- General Error Handler.vi, slouží hlavně k informování uživatele o vzniku chyby, jejímu popisu
- Find First Error.vi, slouží k sledování jednoho nebo více objektů, vstupem jsou číselné kódy chyb, které jsou převedeny na error cluster
34
4.9 Knihovna File I/O -obsahuje bloky pro práci se soubory - Write To Spreadsheet File.vi, zápis dat do textového souboru vstupem je - 1D nebo 2D pole (z obou připojených vybere 1D pole) - formátovací řetězec, implicitně %.3f - název souboru, implicitně Save Dialog - režim připojení/přepis, implicitně přepis - transpozice pole, implicitně F - oddělovač, implicitně Tab výstupem je název souboru, při neúspěchu Not A Path
- Read From Spreadsheet File.vi, čtení dat z textového souboru vstupem je - formátovací řetězec, implicitně %.3f - název souboru, implicitně Open Dialog - počet řádků, implicitně -1, tj. všechny - počet ignorovaných znaků na počátku řádku, impl. 0 - maximální počet znaků řádku, impl. bez limitu - transpozice pole, implicitně F - oddělovač, implicitně Tab výstupem je - název souboru, při neúspěchu Not A Path - celé 2D pole - 1D pole obsahující první řádek - pozice ukazatele po čtení, počet načtených znaků - indikace konce souboru, tj. T, je-li ještě požadavek na čtení, ale už je konec souboru
- Write Characters To File.vi, zápis textu do souboru vstupem je - název souboru, implicitně Save Dialog - textový řetězec - režim připojení/přepis, implicitně přepis - způsob reprezentace EOL - F: 0Ah (implicitně) - T: 0Dh, 0Ah výstupem je název souboru, při neúspěchu Not A Path
35
- Read Characters From File.vi, čtení textu ze souboru vstupem je - způsob reprezentace EOL - F: 0Ah (implicitně) - T: 0Dh, 0Ah - název souboru, implicitně Open Dialog - počet znaků, implicitně -1, tj. všechny - počet ignorovaných znaků na počátku řádku, impl. 0 výstupem je - název souboru, při neúspěchu Not A Path - textový řetězec - pozice ukazatele po čtení, počet načtených znaků - indikace konce souboru, tj. T, je-li ještě požadavek na čtení, ale už je konec souboru - Read Lines From File.vi, čtení textu ze souboru vstupem je - způsob reprezentace EOL - F: 0Ah (implicitně) - T: 0Dh, 0Ah - název souboru, implicitně Open Dialog - počet řádků, implicitně -1, tj. všechny - počet ignorovaných znaků na počátku řádku, impl. 0 - maximální počet znaků řádku, impl. bez limitu výstupem je - název souboru, při neúspěchu Not A Path - textový řetězec - pozice ukazatele po čtení, počet načtených znaků - indikace konce souboru, tj. T, je-li ještě požadavek na čtení, ale už je konec souboru
- Open/Create/Replace File.vi, otevření souboru, vytvoření nového souboru, přesun souboru vstupem je - maska v File Dialogu - text zobrazený v File Dialogu - název souboru, implicitně File Dialog - implicitní cesta v File Dialogu - funkce - 0: open - 1: open or create - 2: create or replace - 3: create - vstupní chybový cluster - implicitní název souboru v File Dialogu - je-li T, při pokusu o přepsání již existujícího souboru apod. se zobrazí potrvzovací dialog výstupem je - identifikátor souboru - název souboru - délka souboru v bytech - výstupní chybový cluster
- Close File, uzavření souboru, (zápis z bufferů, zrušení refnum) vstupem je - identifikátor souboru - vstupní chybový cluster výstupem je - název souboru - výstupní chybový cluster
36
- Read File, čtení ze souboru vstupem je - identifikátor souboru - vztažný bod pozice - 0: start - 1: konec - 2: ukazatel současné pozice - pozice čtení - vstupní chybový cluster - počet položek - deklarace typu, struktury výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - načtená data - poloha ukazatele současné pozice - výstupní chybový cluster
- Write File, zápis do souboru vstupem je - způsob reprezentace EOL - F: 0Ah (implicitně) - T: 0Dh, 0Ah (pouze pro data typu string) - je-li T a data jsou pole nebo řetězec, zapisuje napřed velikost ( a ignoruje convert EOL) - identifikátor souboru - vztažný bod pozice - 0: start - 1: konec - 2: ukazatel současné pozice - pozice čtení - vstupní chybový cluster - zapisovaná data výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - poloha ukazatele současné pozice - výstupní chybový cluster
- příklad zápisu dat do souboru
- příklad čtení dat ze souboru
- Build Path, operace nová cesta = cesta + řetězec
- Strip Path, operace cesta = nová cesta + řetězec
37
4.9.1 Knihovna File I/O - Binary File VIs - obsahuje bloky pro práci s binárními soubory
- Read From I16 File.vi, čtení I16 hodnot z binárního souboru, 1D nebo 2D pole vstupem je - název souboru, implicitně Open Dialog - počet řádek 2D pole - počet sloupců 2D pole nebo počet hodnot 1D pole, implicitně -1, tj. celé 1D pole - offset začátku čtení v bytech, implicitně 0 výstupem je - název souboru, při neúspěchu Not A Path - 2D pole - 1D pole - pozice ukazatele po čtení, počet načtených znaků - indikace konce souboru, tj. T, je-li ještě požadavek na čtení, ale už je konec souboru - Write To I16 File.vi, zápis I16 hodnot do binárního souboru vstupem je - název souboru, implicitně Open Dialog - 2D pole, platné není-li připojeno 1D pole - 1D pole - režim připojení/přepis, implicitně přepis výstupem je - název souboru, při neúspěchu Not A Path
- Read From SGL File.vi, čtení I16 hodnot z binárního souboru, 1D nebo 2D pole vstupem je - název souboru, implicitně Open Dialog - počet řádek 2D pole - počet sloupců 2D pole nebo počet hodnot 1D pole, implicitně -1, tj. celé 1D pole - offset začátku čtení v bytech, implicitně 0 výstupem je - název souboru, při neúspěchu Not A Path - 2D pole - 1D pole - pozice ukazatele po čtení, počet načtených znaků - indikace konce souboru, tj. T, je-li ještě požadavek na čtení, ale už je konec souboru - Write To SGL File.vi, zápis I16 hodnot do binárního souboru vstupem je - název souboru, implicitně Open Dialog - 2D pole, platné není-li připojeno 1D pole - 1D pole - režim připojení/přepis, implicitně přepis výstupem je - název souboru, při neúspěchu Not A Path
38
4.9.2 Knihovna File I/O - File Constants - obsahuje konstanty pro práci se soubory - Path Constant, konstanta typu cesta - Empty Path, konstanta prázdná cesta - Not A Path, konstanta neplatná cesta - Not A Refnum, konstanta neplatný identifikátor souboru
- Current Vi’s Path, vrací cestu, vyhrazenou pro aplikace - VI Library, vrací cestu vyhrazenou pro knihovny
- Default Directory, vrací cestu aktuálního adresáře
- Temporary Directory, vrací cestu adresáře dočasných souborů
4.9.3 Knihovna File I/O - Advanced File Function - obsahuje bloky pro práci se soubory na vyšší úrovni
- File Dialog, zobrazí File Dialog vstupem je - text zobrazený pod seznamem souborů - implicitní cesta - typ dialogu - 0: výběr existujícího souboru - 1: výběr nového souboru - 2: výběr existujícího nebo nového souboru - 3: výběr existujícího adresáře - 4: výběr nového adresáře - 5: výběr existujícího nebo nového adresáře - implicitní název souboru - maska - datalog, připojením libovolného datového typu je tento typ spřažen s daným souborem výstupem je - vybraná cesta - boolean hodnota T, pokud vybraná cesta existuje - boolean hodnota T, pokud byl dialog ukončen stiskem Cancel
39
- Open File, otevření souboru vstupem je - datalog, připojením libovolného datového typu je tento typ spřažen s daným souborem - název souboru - způsob otevření - 0: pro čtení a zápis (implicitně) - 1: pouze pro čtení - 2: pouze pro zápis (pro Win jako 0) - 3: pouze pro zápis - práva přístupu - 0: žádná - 1: povoleno čtení - 2: povoleno čtení i zápis (implicitně) - vstupní chybový cluster výstupem je - identifikátor souboru, při neúspěchu Not A Refnum - výstupní chybový cluster - New File, vytvoření nového souboru a jeho otevření vstupem je - datalog, připojením libovolného datového typu je tento typ spřažen s daným souborem - práva přístupu, ve Win má význam pouze 7.bit - xx...x0xxxxxxx: pouze ke čtení - xx...x1xxxxxxx: pro čtení i zápis - název souboru - skupina (ve Win95 není podporováno) - práva přístupu - 0: žádná - 1: povoleno čtení - 2: povoleno čtení i zápis (implicitně) - vstupní chybový cluster - nastavení režimu přepisu v případě, že soubor již existuje - T: dojde k přepisu - F: vygeneruje chybu (implicitně) výstupem je - identifikátor souboru, při neúspěchu Not A Refnum - výstupní chybový cluster - EOF, nastavení virtuálního konce souboru vstupem je - identifikátor souboru - vztažný bod pozice - 0: start - 1: konec - 2: ukazatel současné pozice - pozice - vstupní chybový cluster výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - poloha ukazatele současné pozice EOF - výstupní chybový cluster - Seek, nastavení pozice v souboru vstupem je - identifikátor souboru - vztažný bod pozice - 0: start - 1: konec - 2: ukazatel současné pozice - pozice - vstupní chybový cluster výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - poloha ukazatele současné pozice - výstupní chybový cluster
40
- Flush File, zápis bufferů, soubor zůstává otevřen vstupem je - identifikátor souboru - vstupní chybový cluster výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - výstupní chybový cluster - Lock Range, uzamknutí části souboru vstupem je - výběr funkce - T: uzamknutí - F: odemknutí (implicitně) - identifikátor souboru - vztažný bod pozice - 0: start - 1: konec - 2: ukazatel současné pozice - pozice začátku - vstupní chybový cluster - délka oblasti v bytech výstupem je - identifikátor souboru (kopie hodnoty ze vstupu) - výstupní chybový cluster
- Access Rights, nastavení přístupových práv vstupem je - název souboru - vlastník (ve Win95 není podporováno) - skupina (ve Win95 není podporováno) - práva přístupu, ve Win má význam pouze 7.bit - xx...x0xxxxxxx: pouze ke čtení - xx...x1xxxxxxx: pro čtení i zápis - vstupní chybový cluster výstupem je - název souboru (kopie ze vstupu) - vlastník (ve Win95 není podporováno) - skupina (ve Win95 není podporováno) - práva přístupu, ve Win má význam pouze 7.bit - xx...x0xxxxxxx: pouze ke čtení - xx...x1xxxxxxx: pro čtení i zápis - výstupní chybový cluster - Path Type, typ cesty vstupem je název souboru výstupem je typ cesty - 0: absolutní - 1: relativní - 2: neplatná - Type and Creator, nastavení typu a tvůrce souboru (ve Win není podporováno) vstupem je - název souboru - typ - tvůrce - vstupní chybový cluster výstupem je - název souboru (kopie ze vstupu) - typ - tvůrce - výstupní chybový cluster
41
- File/Directory Info, informace o souboru nebo o adresáři vstupem je - název souboru nebo adresáře - vstupní chybový cluster výstupem je - identifikátor adresáře - T: adresář - F: soubor - název souboru nebo adresáře (kopie ze vstupu) - velikost souboru v bytech nebo počet položek v adresáři - čas poslední modifikace v sekundách od 1.1. 1904 od 00:00:00 (viz kapitola 4.8) - výstupní chybový cluster
- Volume Info, informace o prostoru na médiu vstupem je - cesta udávající jednotku - vstupní chybový cluster výstupem je - cesta udávající jednotku (kopie počátku cesty ze vstupu) - celková velikost média v bytech - zabrané místo v bytech - volné místo v bytech - výstupní chybový cluster
- Move, přesun souboru vstupem je - zdrojová cesta - cílová cesta - vstupní chybový cluster výstupem je - nová cesta - výstupní chybový cluster
- Copy, kopírování souboru vstupem je - zdrojová cesta - cílová cesta - vstupní chybový cluster výstupem je - nová cesta - výstupní chybový cluster
- Delete, mazání souboru vstupem je - název souboru - vstupní chybový cluster výstupem je - název souboru - výstupní chybový cluster
42
- List Directory, výpis adresáře vstupem je - cesta - maska - datalog, připojením libovolného datového typu je tento typ spřažen s daným souborem - vstupní chybový cluster výstupem je - cesta (kopie ze vstupu) - 1D pole názvů souborů - 1D pole adresářů - výstupní chybový cluster - New Directory, vytvoření nového adresáře vstupem je - název adresáře - skupina (ve Win95 není podporováno) - práva přístupu, ve Win má význam pouze 7.bit - xx...x0xxxxxxx: pouze ke čtení - xx...x1xxxxxxx: pro čtení i zápis - vstupní chybový cluster výstupem je - název adresáře (kopie ze vstupu) - výstupní chybový cluster - Array of Strings to Path, převod pole řetězců na cestu - Path to Array of Strings, převod cesty na pole řetězců proměnná typu boolean určuje, zda je cesta relativní nebo absolutní
- String to Path, převod řetězce na cestu - Path to String, převod cesty na řetězec - Refnum To Path, zobrazí název souboru odpovídající vstupnímu identifikátoru
5. Ostatní knihovny LabView je možno rozšířit o spoustu dalších knihoven z různých oblastí (obdoba Toolboxů Matlabu). Některé z nich jsou již standardně obsaženy v základní konfiguraci.
5.1 Knihovna Communication Knihovna Communication podporuje protokoly TCP a UDP, práci s DDE a OLE a volání libovolného systémového příkazu.
5.2 Knihovna Instrument I/O Knihovna Instrument I/O podporuje zřízení VISA, GPIB 488/488.2 a sériovou linku.
43
5.3 Knihovna Data Acquisition Knihovna Data Acquisition umožňuje programování multifunkčních desek, funkce jsou rozděleny do tří kategorií - Basic, vysoká úroveň, autonomní měřící aplikace - Intermediate, střední úroveň, funkce se do nové aplikace řadí za sebou (Config-Start-Read-Clear) - Advanced, obdoba Int na nížší úrovni (Group Config...) Při opakovaném volání je nutné používat funkce Int a Adv, aby neprobíhala inicializace a uzavírání zařízení v každém kroku cyklu. Některé Basic funkce umožňují připojit Iteration Terminal a provést tak inicializaci pouze jednou. Konfigurace a používání funkcí této knihovny je silně závislé na typu (ceně) desky. Příklady použití všech funkcí a aplikace pro různé desky jsou v adresáři \examples\daq. - Analog Input, programování analogových vstupů, měření napětí -možnosti zapojení vstupů - DIFF, differencial, měří rozdíl napětí mezi dvěma kanály - RSE, single-ended, měří napětí proti svorce AGND - NRSE, měří napětí proti svorce ASENSE společné všem - konfigurace kanálů - adresa (0..63) - zesílení - režim DIFF / RSE / NRSE - režim UNIPOLAR / BIPOLAR - způsob přepínání kanálů - žádné, sejmutí jediné hodnoty - kontinuální, kanály jsou přepínány s periodou T, perioda opakování sekvence Ts = n T - pseudokontinuální- kanály jsou přepínány s nejvyšší možnou frekvencí, nastavit lze perioda opakování sekvence Ts - intervalové, nastavit lze T i Ts - nastavení triggerů - hardwarový analogový trigger, umožňuje ETS - softwarový analogový trigger - digitální trigger - start-stop trigger, umožňuje pretrigger, midtrigger a posttrigger - nastavení spouštění - below low level, pokles pod spodní hranici - above high level, vzestup nad horní hranici - in region, překročení dolní nebo horní hranice - hysterezis - antihysterezis - Analog Output, programování analogových výstupů, generování napětí - způsob ovládání - update hodnoty - generování sekvence hodnot (velikost bufferu, možná periodicita) - Digital I/O, programování digitálních vstupů a výstupů, většinou TTL kompatibilní, samy o sobě nejsou časově autoritativní - Counter, programování čítačů, čítání událostí, měření časového intervalu, frekvence a střídy, generování libovolného TTL průběhu, čítače jsou časově autoritativní - Calibration and Configuration, kalibrace a konfigurace desek - Signal Conditioning, zpracování měřeného signálu, např linearizace termočlánku
44
5.4 Knihovna Advanced Analysis Knihovna Advanced Analysis řeší typické úlohy zpracování dat - Signal Generation, generování průběhů (sin, puls, impuls, ramp, šumy...) - Digital Signal Processing
- FFT, IFFT, spektrogram, FHT, IFHT - konvoluce, dekonvoluce, korelace, autokorelace - decimace, posunutí - Clip, oříznutí signálu dle mezí - Zero Padder, kvantizace - Unwrap Phase, převádí fázi do intervalu <0..π) - integrál, derivace
- Measurement - spektrogramy, analyzátor harmonických, přechodová a impulsní fce , parametrizace pulsu, detekce lokálních extrémů ... - Filters, návrh a realizace filtrů - Butterworth, Chebyshev, Inv Chebyshev, Elliptic, Bessel, Equi-Ripple, Median, FIR, IIR ... - Windows - Hanning, Hamming, Triangle, Blackman, Flat Top, Kaiser-Bessel, Cos, Force, Exponential ... - Curve Fitting, výpočet koeficientů a realizace prokládání - Lin, Exp, Poly, Nonlin interpolace - Poly, Rational, Spline - Probability and Statistics, pravděpodobnost a statistika - Mean, Standard Deviation, Variance, RMS,MSE, Moment, Median, Mode, Histogram - rozdělení - Norm, Chi, F, T .... - ANOVA - Linear Algebra - řešení lineárních rovnic, inverzní matice, determinant, vlastní čísla a vlastní vektory, součin matic, součin matice a vektoru, skalární součin, vektorový součin - faktorizace LU, QR,SVD,Cholesky - Trace, Rank, Norm, PseudoInverse, Test Positive Definite - vytvoření speciální matice - Identity, Diagonal, Toeplitz, Vandermonde - Array Operations
- Linear Evaluation Y = scale ⋅ X + offset - Polynomial Evaluation Y =
∑a
n
Xn
n
X - Quick Scale Y = max(X ) X - Scale Y = −1 0.5(max( X ) + min( X ) ) - jednotkový vektor, normalizovaný vektor, normalizovaná matice - převody mezi polárními a kartézskými souřadnicemi - Additional Numerical Methods
- výpočet koeficientů polynomu - numerická integrace - lokální extrémy
45
5.5 Knihovna Advanced - Call Library Function, volá funkci z DLL - Call Interface Node, volá funkci v prog. jazyku C - Stop, zastavení aplikace - Quit, zastavení aplikace a ukončení LabVIEW - Beep, zvuková signalizace - Call Chain, řetězení aplikací - Help, funkce pro tvorbu nápovědy - VI Control, funkce pro práci s více virtuálními přístroji - Data Manipulation - Type Cast, přetypování - Flatten To String, - Unflatten From String, konverze čehokoli na řetězec a zpět - Mantissa & Exponent, rozdělí číslo na mantisu a exponent - Rotate Left With Carry, - Rotate Right With Carry, bitová rotace s definovaným doplňkem - Logical Shift, bitový posun, doplňuje nuly - Rotate, bitová rotace - Split Number, rozdělí číslo na Lo a Hi - Join Numbers, složí číslo z Lo a Hi - Swap Bytes, prohodí Lo a Hi (u 32b v jednotlivých 16b slovech) - Swap Words, prohodí slova (16b: 8b↔8b a 32b: 16b↔16b) - Occurences, práce s událostmi - Memory, přesuny dat v paměti
46
Obsah: 1. Úvod
2
2. Práce ve vývojovém prostředí 2.1 Tools palette 2.2 Techniky propojování bloků 2.3 Spouštění aplikace 2.4 Nástroje pro odladění 2.5 Nástroje pro editaci 2.6 Ikona a konektor 2.7 Nastavení vlastností virtuálního přístroje 2.8 Nastavení vlastností subVI 2.9 Typy prvků, signálů a proměnných 2.10 Základní pop-up menu objektů panelu 2.11 Základní pop-up menu objektů diagramu
2 3 3 4 4 4 4 5 5 6 7 7
3. Popis knihovny Controls 3.1 Knihovna Numeric 3.2 Knihovna Boolean 3.3 Knihovna String & Table 3.4 Knihovna List & Ring 3.5 Knihovna Array & Cluster 3.6 Knihovna Graph 3.7 Knihovna Path & Refnum 3.8 Knihovna Decorations 3.9 User Controls 3.10 Select a Control
8 8 9 9 10 10 11 13 13 13 13
4. Popis knihovny Functions 4.1 Knihovna Structures 4.2 Knihovna Numeric 4.2.1 Knihovna Numeric – Conversion 4.2.2 Knihovna Numeric – Trigonometric 4.2.3 Knihovna Numeric – Logarithmic 4.2.4 Knihovna Numeric – Complex 4.2.5 Knihovna Numeric – Additional Numeric Constants 4.3 Knihovna Boolean 4.4 Knihovna String 4.4.1 Knihovna String – Additional String to Number Functions 4.4.2 Knihovna String – Conversion 4.5 Knihovna Array 4.6 Knihovna Cluster 4.7 Knihovna Comparison 4.8 Knihovna Time & Dialog 4.9 Knihovna File I/O 4.9.1 Knihovna File I/O – Binary File VIs 4.9.2 Knihovna File I/O – File Constants 4.9.3 Knihovna File I/O – Advanced File Function
14 14 18 19 20 21 21 22 22 23 26 27 28 30 31 33 35 38 39 39
5. Ostatní knihovny 5.1 Knihovna Communication 5.2 Knihovna Instrument I/O 5.3 Knihovna Data Acquisition 5.4 Knihovna Advanced Analysis 5.5 Knihovna Advanced
43 43 43 44 45 46
47