MASARYKOVA UNIVERZITA V BRNĚ

Rozměr: px
Začít zobrazení ze stránky:

Download "MASARYKOVA UNIVERZITA V BRNĚ"

Transkript

1 MASARYKOVA UNIVERZITA V BRNĚ Přírodovědecká fakulta Moderní měřicí systémy Diplomová práce Vedoucí práce RNDr. Zdeněk Bochníček, Dr. Brno 2003 Martin Čermák

2

3 LabVIEW je zkratkou pro Laboratory Virtual Instrument Engineering Workbench. Jedná se o moderní výkonný systém speciálně vhodný pro programování komunikace osobního počítače s různými periferními zařízeními, zejména s měřicími přístroji. Tato diplomová práce má být výukovým textem programování v LabVIEW. Jejím cílem je seznámit čtenáře se základy programování v grafickém programovacím jazyce G, pro nějž je LabVIEW vývojovým prostředím, a předvést některé praktické aplikace tohoto systému. Součástí práce je CD s ukázkovými programy.

4 Prohlášení Prohlašuji, že jsem diplomovou práci vypracoval samostatně s použitím uvedené literatury. V Brně 9. ledna 2003 Martin Čermák

5 Poděkování Rád bych poděkoval RNDr. Antonínu Brablecovi a doc. Zdeňku Ondráčkovi za možnost pracovat s periferními zařízeními o kterých práce pojednává, panu Koblížkovi a panu Pajerovi za výrobu některých mechanických součástí experimentálního zařízení, RNDr. Pavlu Konečnému za námět kapitoly o precesi setrvačníku a za poskytnutí mechanické součásti experimentálního zařízení, Mgr. Zdeňku Navrátilovi za jeho diplomovou práci, která pro mě byla odrazovým můstkem ve snaze porozumět programování periferií osobního počítače, a RNDr. Zdeňku Bochníčkovi za jeho motivující přístup k vedení mé diplomové práce.

6 Použité názvy programových produktů, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami jejich vlastníků.

7 Obsah 1 Úvod do programování v LabVIEW Úvodní představa Vývojové prostředí I První program Vývojové prostředí II (Čelní panel) Vývojové prostředí III (Blokový diagram) Pojmy Princip Druhý program Vizualizace a sledování běhu VI Datové typy Konstanty číselná konstanta řetězcová konstanta konstanta typu pole konstanta typu Cluster logická konstanta Objekty typu Control a Indicator Jak nejrychleji napsat program? Paleta Functions pod drobnohledem Uzly s nastavitelným počtem terminálů Polymorfní uzly řídící struktury programu cyklus FOR cyklus WHILE struktura CASE struktura SEQUENCE Formula Node Podprogramy Tvorba Sub-VI Použití Sub-VI Příklady Příklad Příklad Příklad vii

8 2.0.6 Příklad Příklad Příklad Příklad Příklad Příklad Vybrané periferie PC Zvuková karta Nejjednodušší VI pro čtení ze zvukové karty VI pro fourierovu transformaci akustického signálu Sériový port Základní pojmy Využití sériového portu Ovládání sériového rozhraní z LabVIEW Multimetr M-3860D Rozhraní GPIB Jednoduchý odečet z HP34401A Odkazy na další ukázková VI pro čtení z HP34401A Univerzální měřicí karta PCI-6023E Univerzální měřicí karta PCL-818L Precese setrvačníku Teoretický základ Technická realizace Zpracování vstupních signálů Výsledky Závěr A Precese setrvačníku 68 B Sériová myš jako univerzální senzor pohybu 71 B.1 Komunikační protokol B.1.1 Dvoutlačítková myš (Microsoft Mouse) B.1.2 Třítlačítková myš (Mouse Systems Mouse) B.2 Programování B.3 Ukázkové programy B.4 Zdroje informací

9 Kapitola 1 Úvod do programování v LabVIEW 1.1 Úvodní představa Většina moderních vývojových prostředí pro programovací jazyky je typu RAD. Tato zkratka označuje Rapid Application Development a napovídá, že v daném vývojovém prostředí lze programy vyvíjet obzvláště rychle a efektivně. Zmíněná efektivnost spočívá zejména ve snadném navrhování uživatelského rozhraní programu. Stejně jako např. Delphi je vývojovým prostředím nad jazykem Object Pascal, lze také LabVIEW chápat jako vývojové prostředí nad jazykem G. Narozdíl od Object Pascalu, kde zdrojovým kódem programu je text, zdrojovým kódem programu v jazyce G je obrázek. Místo abychom programy psali, budeme je kreslit. G tedy značí grafický programovací jazyk. Grafické programování je technika neobvyklá a nová. Byla patentována společností National Instruments teprve v roce Pro jazyk G existuje kompilátor, který produkuje samostatné spustitelné programy. Tvůrci Lab- VIEW prohlašují, že programy vytvořené v jazyce G běží po přeložení srovnatelně rychle, jako programy napsané v jazyce C, který je obecně považován za velmi efektivní. V jazyce G má programátor k dispozici jak rychlé funkce nízké úrovně, tak i hotové komplikované podprogramy pro matematickou analýzu, statistiku, komunikaci se standardizovanými periferiemi a podobně. V současné době neexistuje česká lokalizace LabVIEW, pouze anglická, německá, španelská a japonská. Pokud je autorovi známo, neexistuje ani česká učebnice LabVIEW. Při tvorbě tohoto textu bylo nutno vytvořit nový pojmový aparát. Výrazy, které nemají v češtině zavedené ekvivalenty byly buďto počeštěny, nebo (častěji) ponechány v původní podobě. V následujícím textu se předpokládá základní znalost angličtiny, uživatelská znalost ovládání operačního systému a schopnost algoritmizace. 1

10 2 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Naprostá většina akcí se během programování provádí myší. V celém textu se při tom předpokládá běžné nastavení myši pro praváky. Výraz zaostřit na okno znamená klepnout do prostoru tohoto okna myší, takže se okno stane aktivním. Menu pod pravým tlačítkem myši nad určitým objektem je nabídka, která se objeví, klepneme li na tento objekt pravým tlačítkem myši. Součástí tohoto textu je CD s ukázkovými programy. Odkazy do archivu příkladů jsou odkazy do adresáře APP tohoto CD. 1.2 Vývojové prostředí I Uživatelská rozhraní programů v LabVIEW mívají často podobu skutečných měřicích přístrojů. Program v LabVIEW proto nazýváme virtuální přístroj. Anglický ekvivalent pro tento výraz zní Virtual Instrument a jeho akronym VI budeme pro onačení programu v LabVIEW používat v dalším textu i my. I nadále však budeme používat také obvyklé výrazy program a aplikace pro označení téhož. Každé VI se skládá ze dvou částí: Z uživatelského rozhraní, kterému se v terminologii LabVIEW říká čelní panel VI a z blokového diagramu který je zdrojovým kódem VI. K vytváření VI slouží vývojové prostředí (Development Environment) LabVIEW. Z uživatelského hlediska je to soustava oken. Po spuštění LabVIEW se objeví první z nich. Je to nabídka kterou projdeme s tím, že chceme vytvářet nové VI. Stiskneme tedy tlačítko New VI a ocitneme se v prostředí z obrázku 1.1 Palety Controls a Functions nejsou ve skutečnosti nikdy viditelné současně. Paletu Controls lze zobrazit pouze je-li aktivní okno čelního panelu a paletu Functions lze zobrazit jen je-li aktivní okno blokového diagramu. Na obrázku 1.1 je aktivní okno Untitled1, tedy okno čelního panelu, takže paleta functions by ve skutečnosti zůstala skrytá. Okno čelního panelu Untitled1 slouží k tvorbě čelního panelu VI. Pokud chceme s VI manipulovat, tzn. spouštět je, nebo editovat, nesmíme toto okno zavřít. Okno čelního panelu můžeme samozřejmě kdykoliv minimalizovat. Všechna ostatní okna můžeme během manipulace s VI podle potřeby otvírat a zavírat. Mezi oknem čelního panelu a oknem blokového diagramu lze přepínat pomocí Ctrl-E. Okno blokového diagramu Untitled 1 Diagram slouží k tvorbě blokového diagramu VI. Pokud nechceme editovat blokový diagram našeho VI, můžeme toto okno zavřít. Mezi oknem čelního panelu a oknem blokového diagramu lze přepínat pomocí Ctrl-E. Paletu Tools lze zviditelnit volbou Window Show Tools Palette hlavního menu, nebo zkrýt klepnutím na křížek v jejím pravém horním rohu. Umožňuje měnit funkci kurzoru myši a její funkce bude níže podrobněji popsána.

11 1.2. VÝVOJOVÉ PROSTŘEDÍ I 3 Obrázek 1.1: Vývojové prostředí LabVIEW Paleta Controls může být viditelná, jen je-li aktivní okno čelního panelu. Má stromovou strukturu a obsahuje všechny objekty které lze umístit do okna čelního panelu. Tuto paletu můžeme zobrazit zvolením položky Window Show Controls Palette hlavního menu okna čelního panelu, nebo zkrýt klepnutím na křížek v jejím pravém horním rohu. Kromě toho lze tuto paletu dočasně zobrazit klepnutím pravého tlačítka myši do prostoru okna čelního panelu. Paleta Functions může být viditelná, jen je-li aktivní okno blokového diagramu. Má taktéž stromovou strukturu a obsahuje všechny objekty které lze umístit do okna blokového diagramu. Tuto paletu můžeme zobrazit zvolením položky Window Show Functions Palette hlavního menu okna blokového diagramu, nebo zkrýt klepnutím na křížek v jejím pravém horním rohu. Kromě toho lze tuto paletu dočasně zobrazit klepnutím pravého tlačítka myši do prostoru okna blokového diagramu. Téměř všechny akce, které nad VI budeme provádět se realizují myší. Myš, resp. kurzor myši funguje v několika různých režimech. V každém režimu lze myší provádět jen určité akce. Klepnutím na příslušné políčko palety Tools lze zvolit jeden z deseti režimů. Mezi čtyřmi nejčastěji používanými lze také elegantně přepínat klávesou tab. Zde je jejich popis: režim positioning. Je signalizován kurzorem myši v podobě malé šipky ( ). V tomto

12 4 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW režimu lze zejména s objekty na pracovní ploše pohybovat. Kurzor příslušející režimu positioning budeme zkráceně nazývat šipka. režim wiring. Je signalizován kurzorem myši v podobě cívky s nití ( ). V tomto režimu lze jednotlivé objekty na pracovní ploše propojovat. O propojování se zmíníme později. Kurzor příslušející režimu wiring budeme zkráceně nazývat cívka s nití. režim operating. Je signalizován kurzorem v podobě malé ručičky ( ). Hodí se k úpravě hodnot tam, kde je více předdefinovaných voleb. Kurzor příslušející režimu operating budeme zkráceně nazývat ručička. režim labelling. Je signalizován kurzorem v podobě obdélníčku a svislé čárky ( ). Hodí se k úpravě textů. Kurzor příslušející režimu labelling budeme zkráceně nazývat popisovač. Akce provedené myší v příslušném režimu budeme popisovat jako akce provedené příslušným kurzorem. Řekneme-li, že s objektem pohneme šipkou, máme tím na mysli, že s objektem pohneme myší v režimu positioning. Popřípadě bude do textu vložena ikona příslušného kurzoru. Podrobný popis palety Tools i jednotlivých režimů kurzoru myši najde čtenář v nápovědě (Ctrl-?) v Indexu pod heslem tools palette. Každá paleta dočasně vyvolaná klepnutím pravého tlačítka myši je v levém horním rohu vybavena připínacím špendlíkem. Pokud na něj klepneme, paleta se zobrazí ve vlastním okně jako kdybychom ji zobrazili volbou Window Show Palette. Jak již bylo řečeno, palety Controls a Functions mají stromovou strukturu. Jsou sice obrázkové, ale v horní části se zobrazuje i krátký textový popisek vybírané položky. Pokud se v dalším budeme odkazovat na nějaký objekt palety, popíšeme jeho polohu v paletě posloupností názvů jednotlivých úrovní palety oddělených šipkami, kde na konci této posloupnosti uvedeme pomlčku a název konkrétního objektu. Například odkaz na objekt ručkového měřicího přístroje Meter, který se nachází v subpaletě Numeric palety Controls bude vypadat takto: Controls Numeric-Meter Každý VI lze uložit do samostatného souboru s příponou vi. Obvykle jsou všechny informace nutné ke spuštění VI obsaženy v tomto jediném souboru. Pouze v případě kdy uložený VI volá jiný VI jako svůj podprogram, je ke spuštění nutný i tento další VI. A v opravdu speciálním případě, kdy náš VI volá např. nějaké knihovní funkce, je k jeho spuštění nutná také přítomnost oné knihovny. 1 Uložení VI do souboru se provádí volbou File Save v hlavním menu, nebo klávesovou zkratkou Ctrl-S, jak je obvyklé. 2 Otevření VI se provede buďto volbou File Open v hlavním menu, nebo obvyklou klávesovou zkratkou Ctrl-O. Na tomto místě přerušíme náš stručný popis vývojového prostředí a všechny právě získané informace stoprocentně zužitkujeme. 1 LabVIEW umožňuje také uložit VI do tzv. knihovny virtuálních přístrojů (Virtual Instrument Library), což je binární soubor s příponou llb. S knihovnou VI zachází LabVIEW jako s běžným adresářem. 2 O pokročilých volbách při ukládání VI se čtenář dozví z nápovědy k LabVIEW.

13 1.3. PRVNÍ PROGRAM První program Proniknout do základů programování v LabVIEW je snadné. Aniž bychom o programování v LabVIEW cokoliv věděli, pokusíme se krok za krokem sestavit první funkční VI. Čelní panel našeho VI bude sestávat ze dvou objektů: Z tahového potenciometru a z ručkového měřicího přístroje. Náš VI nebude provádět nic jiného, než že hodnotu nastavenou na tahovém potenciometru zobrazí na měřicím přístroji. Jinými slovy, pohneme-li s jezdcem tahového potenciometru, pohne se i ručka měřicího přístroje. Postupujme podle následujícího návodu: 1. Klepneme pravým tlačítkem myši do prostoru okna čelního panelu Untitled 1. Objeví se paleta Controls. Paleta je obrázková, ale v horní části se zobrazuje i krátký textový popisek vybírané položky. Ve stromové struktuře palety zvolíme Controls Numeric-Vertical Pointer Slide. Opětovným klepnutím do prostoru okna čelního panelu umístíme Vertical Pointer Slide do libovolné pozice v okně. Takto jsme umístili tahový potenciometr na čelní panel našeho VI. 2. Stejným způsobem umístíme na čelní panel objekt Meter. Má podobu ručkového měřicího přístroje a nachází se také v nabídce Numeric palety Controls, stejně jako tahový potenciometr. Odtud označení Controls Numeric-Meter. Tím je návrh čelního panelu našeho VI ukončen a můžeme se pustit do tvorby vlastního programu, tedy do tvorby blokového diagramu. Bude to velmi snadné. Vzápětí totiž zjistíme, že celý blokový diagram je již v podstatě vytvořen. 3. V okně blokového diagramu Untitled 1 Diagram se objevily 2 nové objekty. Jak lze očekávat, objekt s popiskem Slide přísluší s tahovému potenciometru, druhý objekt s popiskem Meter ručkovému měřicímu přístroji. Objekt Slide odráží polohu jezdce potenciometru. objekt Meter určuje polohu ručky měřicího přístroje. Všimněme si, že při stisku klávesy tab se mění vzhled kurzoru. Klávesou tab tedy zvolíme kurzor tvaru cívky s nití ( ). 4. Intuitivně řečeno, nyní musíme spojit polohu jezdce potenciometru s polohou ručky přístroje. Když nyní klepneme myší postupně na objekty Slide a Meter, zjistíme, že se spojily červenou čarou. Obrázek 1.2: První program

14 6 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Tím je celý program hotov a nezbývá než jej vyzkoušet. VI spustíme tlačítkem Run Continuously ( ). Pokud program běží, můžeme pomocí myši pohybovat posuvným potenciometrem Slide. Zároveň se hýbe i ručka měřicího přístroje Meter. Běžící program zastavíme tlačítkem Abort Execution ( ). Nyní náš VI uložíme (Ctrl-S) do jediného souboru s příponou vi, jak je obvyklé, a zapamatujeme si jeho umístění, abychom s ním mohli později manipulovat. 1.4 Vývojové prostředí II (Čelní panel) Již víme, že vytvořit VI znamená navrhnout čelní panel a blokový diagram a také v jednom konkrétním případě víme přesně jak to udělat. Náš první VI fungoval tak, že hodnota kterou jsme nastavili na tahovém potenciometru se zobrazila na ručkovém měřicím přístroji. Tahový potenciometr tedy vystupoval v roli vstupního prvku a měřicí přístroj v roli výstupního prvku. To pravděpodobně nikoho nepřekvapí. V reálném světě vystupuje potenciometr vždy jako vstupní zařízení a analogový ručkový přístroj jako výstupní zařízení. V LabVIEW si však tahový potenciometr a ručkový měřicí přístroj mohou svou roli vyměnit. Tahový potenciometr i ručkový měřicí přístroj jsou objekty s určitými vlastnostmi. Nepochybně se od sebe liší například vlastností vzhled. A vězme, že se od sebe liší i vlastností, kterou bychom mohli označit jako role. Tahový potenciometr vystupuje v roli vstupního zařízení a měřicí přístroj v roli výstupního zařízení. Pokud nějaký objekt čelního panelu vystupuje v roli vstupního zařízení, jedná se o tzv. Control. A pokud nějaký objekt čelního panelu vystupuje v roli výstupního zařízení, jedná se o tzv. Indicator. Dále budeme říkat, že Indicator nějakou entitu zobrazuje a Control nějakou entitu generuje. Touto entitou může být například číslo, řetězec, disková cesta, pole a podobně. Výrazy Control a Indicator budeme v dalším textu používat aniž bychom pro ně hledali počeštěné ekvivalenty. Například tahový potenciometr Vertical Pointer Slide z prvního programu vzhledem k blokovému diagramu našeho VI generuje číselnou hodnotu, kterou do něj uživatel vepsal. Vystupuje tam totiž v roli Control. Naopak ručkový měřicí přístroj Meter který v našem prvním VI vystupuje v roli Indicator, zobrazuje číslo, které tahový potenciometr vygeneroval. Každý objekt čelního panelu je buďto Control nebo Indicator. Žádný objekt čelního panelu nemůže vystupovat v roli Control i Indicator současně. Tato skutečnost pravděpodobně programátora který je zvyklý používat Delphi nebo C++ Builder překvapí. Jak zaměnit našim objektům roli? Velmi snadno. Klepneme pravým tlačítkem myši na objekt tahového potenciometru. Objeví se menu v němž zvolíme možnost Change to Indicator. Nyní klepneme pravým tlačítkem myši na objekt ručkového měřicího přístroje a v menu, které se objeví zvolíme Change to Control. Takto změněný program spusťme. Nyní

15 1.4. VÝVOJOVÉ PROSTŘEDÍ II (ČELNÍ PANEL) 7 pokud pomocí myši hýbeme ručkou měřicího přístroje, hýbe se i jezdec potenciometru. Obecně tedy, do okna čelního panelu můžeme vložit jakýkoliv objekt z palety Controls. Téměř u každého z těchto objektů lze nastavit, zda má fungovat jako Control, nebo jako Indicator. Paleta Controls obsahuje velké množství různých objektů. Velmi často však budeme používat jen několik z nich, ostatní pravděpodobně jen zřídka. Některé velmi často používané objekty palety Controls shrnuje spolu s jejich stručným popisem tabulka 1.1. Kompletní přehledný a vyčerpávající popis objektů palety Controls obsahuje elektronická nápověda LabVIEW. Vyvoláme ji kombinací (Ctrl-?) a v Indexu vyhledáme heslo controls palette. Pomocí šipky ( ) je možné určitý objekt na čelním panelu označit a následně smazat klávesou Del.

16 8 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Controls Numeric-Digital Control... Okénko pro vstup číselné hodnoty. Obdobně vypadá Controls Numeric-Digital Indicator. Zobrazuje čísla. Controls Numeric-Vertical Pointer Slide... Tahový potenciometr. Hodí se pro vstup číselné hodnoty v daném rozsahu. Ve variantě Indicator číselnou hodnotu zobrazuje. Controls Numeric-Dial... Otočný knoflík. Funkčně naprosto shodný s tahovým potenciometrem. Controls Numeric-Meter... Ručičkový měřicí přístroj. Existuje ve variantě Control i Indicator. Generuje nebo zobrazuje číslo v nastaveném rozsahu, stejně jako tahový potenciometr. Controls Boolean-Vertical Toggle Switch... Přepínač. Ve variantě Control generuje logickou hodnotu a ve variantě Indicator logickou hodnotu zobrazuje. Obvykle se používá ve variantě Control. Controls Boolean-Round LED... Kontrolka. Ve variantě Indicator zobrazuje logickou hodnotu logickou hodnotu, ve variantě Control logickou hodnotu generuje. Obvykle se používá ve variantě Indicator. Controls Boolean-Push Button... Tlačítko. Funguje stejně jako Vertical Toggle Switch s tím, že u varianty Control lze navíc nastavit jeho mechanické vlastnosti (Mechanical Action). Nastavením mechanických vlastností určujeme, zda se má Push Button chovat jako spínač, či jako tlačítko a podobně. Mechanické vlastnosti se nastavují v menu pod pravým tlačítkem myši. Controls String & Path-String Control... Okénko pro vstup řetězce ve variantě Control, nebo zobrazení řetězce ve variantě Indicator. Controls String & Path-File Path Control... Okénko pro vstup diskové cesty ve variantě Control, nebo pro zobrazení diskové cesty ve variantě Indicator. Existuje i varianta s dialogovým oknem pro výběr diskové cesty. Jazyk G disponuje zvláštním datovým typem pro diskové cesty, který se liší od typu řetězec. Controls Graph-Waveform Graph nebo Controls Graph-Waveform Chart jsou objekty pro kreslení dvourozměrného kartézského grafu bez cejchované osy x (viz podrobný popis tohoto objektu v nápovědě k LabVIEW). Controls Graph-XY Graph je objekt pro kreslení obecného kartézského grafu. Tabulka 1.1: Vybrané objekty palety Controls

17 1.5. VÝVOJOVÉ PROSTŘEDÍ III (BLOKOVÝ DIAGRAM) Vývojové prostředí III (Blokový diagram) Pojmy Na následujícím obrázku 1.3 vidíme čelní panel a blokový diagram relativně komplikovaného VI. Obrázek 1.3: Ukázka VI - čelní panel a blokový diagram Pro zajímavost budiž řečeno, že uvedené VI nejdříve vygeneruje soubor dvojic čísel typu (X, X n) kde n je malé náhodné číslo. Vzniklý soubor dat se aproximuje polynomem 2. stupně s využitím metody nejmenších čtverců a na závěr se najde derivace aproximačního polynomu, což je samozřejmě přímka. Z obrázku by mělo být zřejmé, že blokový diagram se skládá z určitých objektů spojených barevnými čarami. V souladu s původní anglickou terminologií budeme tyto objekty nazývat uzly a spojovací čáry mezi nimi hrany. Uzly, které přísluší objektům čelního panelu mají s nimi shodný popisek. Všechny uzly, které můžeme do blokového diagramu vložit se nacházejí na Paletě Functions. Připomenňme, že pokud se budeme odkazovat na nějaký uzel této palety, popíšeme jeho po-

18 10 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW lohu v paletě posloupností názvů jednotlivých úrovní palety oddělených šipkami, kde na konci této posloupnosti uvedeme pomlčku a název uzlu. Například odkaz na uzel Add ( ), který se nachází v subpaletě Numeric palety Functions bude vypadat takto: Functions Numeric-Add. Uzly mají obvykle jemnější strukturu. Dělí se na tzv. Terminály. Například uzel Functions Array-Index Array je rozdělený do tří oblastí, jak je vidět na obrázku 1.4. To jsou právě Terminály uzlu Index Array. Obrázek 1.4: Objekt blokového diagramu Některé uzly jemnější strukturu nemají. Celá plocha jejich ikony představuje jeden jediný terminál. To je právě případ uzlů, které přísluší objektům čelního panelu. Například objekt Formule čelního panelu z obr. 1.3 přísluší objektu Formule blokového diagramu, jak napovídá obrázek 1.5. Obrázek 1.5: Dvě reprezentace téhož objektu Pro jednoduchost budeme takové uzly nazývat přímo terminály, neboť graficky oba objekty splývají. Jednotlivé terminály je možno vzájemně propojovat hranami. Propojení se provede cívkou s nití ( ) postupným klepnutím na jeden a na druhý terminál. Pokud takto vytvořená hrana odporuje pravidlům pro propojování terminálů, zobrazí se jako tenká černá čárkovaná čára. V opačném případě bude hrana reprezentována jiným typem čáry. Hrana může být obecně lomená čára. Klepnutím myší hranu ukotvujeme k pracovní ploše blokového diagramu. VI z obrázku 1.3 najde čtenář v archivu příkladů pod názvem 2.vi Princip Stejně jako objektům čelního panelu, přísluší i jednotlivým terminálům uzlů v blokovém diagramu role Control nebo Indicator. Pokud terminál přísluší objektu čelního panelu, má s ním shodnou roli. V ostatních případech je terminál typu Indicator takový terminál, který Data přijímá a terminál typu Control takový terminál, který data generuje.

19 1.6. DRUHÝ PROGRAM 11 Například Tahový potenciometr v roli Control generuje číslo. Toto číslo se v blokovém diagramu objeví na terminálu tahového potenciometru. Pokud je tento uzel spojený hranou s jiným terminálem, zkopíruje se toto číslo na onen terminál. Data tedy jakoby tečou z uzlu typu Control do všech uzlů typu Indicator které jsou s ním spojeny hranou. V blokovém diagramu je možné spojit jeden terminál typu Control s několika terminály typu Indicator. Není možné vzájemně propojit dva nebo více terminálů typu Control. Tato skutečnost je pravděpodobně v souladu s intuitivní představou čtenáře. Data putují po hranách vždy směrem od terminálu typu Control k terminálům typu Indicator. Při tom nezáleží na vizuální orientaci hrany v blokovém diagramu. Data mohou po hraně téci stejně dobře zleva doprava jako v jakémkoliv jiném směru. Uzel blokového diagramu je analogií k příkazu textově orientovaného programovacího jazyka. Uzel je výkonná jednotka programu v LabVIEW. V běžném textově orientovaném programování se jednotlivé příkazy provádějí v pořadí ve kterém jsou uvedeny ve zdrojovém kódu programu. Běh VI se však řídí zvláštními pravidly. K provedení libovolného uzlu blokového diagramu dojde v okamžiku kdy na všech jeho vstupních terminálech jsou připravena data. Jakmile všechny interní operace daného uzlu zkončí, jsou výsledky těchto vnitřních operací vyslány na jeho výstupní terminály, odkud se šíří blokovým diagramem dále. Tento mechanizmus běhu programu, resp. spouštění jednotlivých uzlů VI se označuje jako Data Flow Execution System. Programování založené na tomto přístupu se nazývá Data Flow Programming. Blokové schéma VI může obsahovat několik autonomních částí, např. několik nezávislých výpočtů, které se za běhu VI vykonávají paralelně. Tento rys jazyka G však přímo nesouvisí s tzv. Multithreadingem. O vytváření vícevláknových aplikací se stručně zmíníme později. LabVIEW jejich tvorbu podporuje. Vše si ozřejmíme na následujícím příkladu: 1.6 Druhý program Vytvoříme program, který bude vzájemně násobit dvě čísla. Otevřeme nové VI. Do čelního panelu vložíme dva objekty Controls Numeric - Digital Control pro vkládání čísel a jeden Controls Numeric - Digital Indicator, ve kterém zobrazíme výsledek. Šipkou ( ) objekty rozmístíme na ploše a popřípadě upravíme velikost okna. Popisovačem ( ) upravíme popisky objektů čelního panelu tak, aby první Digital Control měl popisek X, druhý Y a nakonec aby Digital Indicator, v němž chceme zobrazit výsledek, měl popisek Z. V okně blokového diagramu se již objevily tři nové uzly. Každý z nich přísluší jednomu z objektů čelního panelu. Odpovídající si objekty mají nejen shodný popisek, ale klepneme-li

20 12 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW dvakrát myší na některý, zvýrazní se jemu příslušný objekt. Tato funkce je zvláště výhodná, pracujeme-li s komplikovaným blokovým diagramem. Jak jsme si již dříve řekli, budeme uzly, které odpovídají některému z objektů čelního panelu, nazývat přímo terminály, neboť každý z těchto uzlů má jen jeden jediný terminál, který graficky pokrývá celou jeho plochu. Uzel od terminálu tedy stejně nelze v tomto případě opticky rozlišit. Dále jsme řekli, že nezáleží na směru, ve kterém se data po hranách šíří, tedy že nezáleží na konkrétním rozmístění uzlů v okně blokového diagramu. Přesto je vhodné rozmisťovat uzly postupně zleva doprava tak, jak jsme zvyklí číst. Zvýší se tím přehlednost diagramu. Navíc většina uzlů je koncipována tak, že jejich vstupní terminály se nachází obvykle na jejich levé straně a výstupní obvykle na pravé. Toto ovšem není pravidlem. Uzel Functions Numeric - Multiply ( ) má jednotlivé terminály rozmístěny následovně: ( ). Vlevo pod sebou leží terminály vstupní pro jednotlivé součinitele a vpravo pak terminál výstupní pro výsledek. Nyní umístíme do blokového diagramu uzel Functions Numeric - Multiply a pomocí cívky s nití ( ) vytvoříme blokový diagram podle obr Obrázek 1.6: VI pro násobení dvou čísel Program je hotový a můžeme jej spustit. Chceme, aby probíhal cyklicky, použijeme tedy tlačítko Run Continuously. ( ). Jakmile vložíme do okének X a Y nové číslo, hodnota výsledku v okénku Z se ihned změní. 1.7 Vizualizace a sledování běhu VI Nechme nyní náš program běžet a zaostřeme na okno blokového diagramu. V jeho horní části vidíme tlačítko Highlight Execution. Má podobu malé žárovky ( ). Když na ni klepneme, rozsvítí se ( ) a po jednotlivých hranách diagramu se začnou pohybovat data v podobě malých barevných terčíků. Navíc se u jednotlivých terminálů objevují okénka s aktuálními hodnotami, jak vidíme i na obr Obrázek 1.7: Highlight Execution

21 1.7. VIZUALIZACE A SLEDOVÁNÍ BĚHU VI 13 Highlighting of Execution, tedy vizualizace běhu VI je výborná pomůcka pro pochopení principu běhu VI. Zároveň usnadňuje hledání chyb v programu. Zastavme nyní naše VI (např. kombinací Ctrl-.). Pomocí tlačítka Step Into ( ) můžeme nařídit provedení právě jednoho elementárního kroku VI. Při tom, pokud je to možné, sledujeme i vnitřní strukturu jednotlivých uzlů. Uzel multiply z našeho hlediska nemá žádnou jemnější strukturu, je atomický. Instrukce Step Into má v tomto případě stejný efekt jako Step Over ( ), kteroužto instrukcí způsobíme provedení jednoho uzlu blokového diagramu. Při tom nás nezajímá případná vnitřní struktura tohoto uzlu. Pokud již nemáme v úmyslu sledovat běh VI po jednotlivých krocích, můžeme nařídit souvislé dokončení všech operací blokového diagramu zmáčknutím tlačítka Finish Block Diagram ( ). Běžící VI je možno pozastavit tlačítkem Pause ( ). Dále je možné do blokového diagramu umístit zarážku. Provedeme to speciálním kurzorem myši, Set/Clear Breakpoint ( ). Připomeňme, že tento kurzor lze nastavit např. pomocí palety Tools. Zarážka je pak v blokovém diagramu znázorněna červeným terčíkem ( ). Po spuštění VI budou provedeny všechny operace předcházející zarážce (Breakpoint). Na pozici zarážky se provádění VI pozastaví. Pozastavené VI lze opět rozběhnout instrukcí Run ( ), nebo Run Continuously ( ). Pozastavené VI lze rovněž krokovat jak bylo výše popsáno. Zrušení zarážky provedeme opět kurzorem Set/Clear Breakpoint ( ). Pomocí speciálního kurzoru probe ( ) je možno v pozastaveném VI kontrolovat aktuální hodnoty na jednotlivých hranách. Nejvýstižnějším označením kurzoru probe bude patrně zkoušečka. Demonstraci použití zkoušečky ve spojení se zarážkou vidíme na obr Obrázek 1.8: Demonstrace použití nástroje zkoušečka Jakmile klepneme zkoušečkou do některého místa blokového diagramu, objeví se v tom místě číselná kóta a otevře se nové okénko. Hodnota kóty koresponduje s číslicí v záhlaví okénka. V okénku se zobrazuje aktuální data v místě kóty. Pokud zavřeme okénko klepnutím na křížek v jeho pravém horním rohu, zmizí i kóta.

22 14 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW 1.8 Datové typy Stejně jako je tomu v běžných textově orientovaných programovacích jazycích, existují i v LabVIEW, resp. v jazyce G datové typy. Datový typ lze názorně chápat jako vlastnost hrany diagramu a také jako vlastnost určitého terminálu. Hrana určitého datového typu umí přenášet pouze určitý typ dat. Výstupní terminál generuje určitý typ dat. Vstupní terminál akceptuje určitý typ dat. Dále tedy budeme mluvit o datovém typu hrany a o datovém typu terminálu. Kromě obvyklých datových typů na které jsme zvyklí z běžných textově orientovaných programovacích jazyků nabízí jazyk G i některé netypické datové typy jako např. datový typ disková cesta, datový typ obrázek a další podivné datové typy. V následujícím textu nebude uveden kompletní seznam všech datových typů jazyka G. Tento kompletní a přehledný seznam najde čtenář jak v elektronické nápovědě LabVIEW, tak i v [8]. Navíc, konkrétní implementace některých datových typů je částečně závislá na operačním systému pod kterým LabVIEW provozujeme. Datový typ hrany je v blokovém diagramu určen typem čáry, která hranu reprezentuje. Datový typ terminálu, který přísluší nějakému objektu čelního panelu je určen ikonou, která terminál reprezentuje. Datový typ terminálů obecného uzlu blokového diagramu není explicitně graficky vyjádřen. Vzájemně spojené uzly a hrany mají samozřejmě shodný datový typ. Vypovídací hodnota jejich grafického vyjádření však není stejná. Zde: ( ) vidíme dva uzly propojené hranou. Pravý uzel odpovídá nějakému objektu čelního panelu a graficky splývá se svým jediným terminálem, takže pravý uzel nazýváme přímo terminálem, jak již bylo dříve zavedeno. Výstupní terminál levého uzlu a pravý terminál mají shodný datový typ. Jde o Double-precision floating-point numeric. Výstupní terminál levého uzlu není vůbec graficky vyznačen, takže na jeho datový typ můžeme usuzovat jedině z typu čáry která reprezentuje z něj vycházející hranu, nebo z grafické reprezentace pravého uzlu. Tato hrana je reprezentovaná tenkou oranžovou čarou. Odtud lze zjistit, že datový typ této hrany je floating-point numeric. Mezi floating-point numeric se však řadí také např. Complex extended-precision floating-point numeric, což je datový typ komplexních čísel. A konečně z ikony pravého uzlu lze vyčíst kompletní informaci o jeho datovém typu. Následující tabulka 1.3 uvádí seznam datových typů pro vybrané hrany. Levý sloupec obsahuje grafickou reprezentaci hrany a v pravém sloupci je uveden výčet datových typů, které mohou hraně s danou grafickou reprezentací odpovídat. Mezi uzly blokového diagramu mají zvláštní postavení ty uzly, které odpovídají nějakému objektu čelního panelu. Tyto uzly jsou vybaveny pouze jediným terminálem, který pokrývá celou plochu jejich ikony. V následujícím textu budeme takové uzly nazývat Terminálními uzly. Z ikony která reprezentuje terminální uzel lze jednoznačně určit datový typ i skutečnost, zda je daný uzel vstupní (tedy typu Indicator), nebo výstupní (tedy typu Control). Tabulka 1.2 uvádí datové typy vybraných terminálních uzlů. Kompletní seznam najde

23 1.9. KONSTANTY 15 čtenář v [8] i v elektronické nápovědě LabVIEW pod heslem data types. 1.9 Konstanty Do blokového diagramu je možné vložit konstantu. Každé konstantě přísluší v jazyce G datový typ. Lze vytvořit konstantu libovolného datového typu jazyka G. Každá konstanta je výstupním uzlem. Konstanta bývá obvykle reprezentovaná ikonou obdélníkového tvaru, jejíž barva a vzhled závisí na datovém typu konstanty číselná konstanta Pro vytvoření číselné konstanty vložíme do blokového diagramu uzel Functions Numeric - Numeric Constant. Datový typ konstanty se automaticky upraví podle čísla, které do okénka v ikoně konstanty vepíšeme popisovačem ( ). Například vepíšeme-li do něj číslo 10, bude konstanta reprezentována modrým obdélníčkem ( ) a její datový typ bude celočíselný. Pokud do ikony vepíšeme např. říslo 1,23, bude ikona reprezentována obdélníčkem oranžové barvy ( ) a bude reálného datového typu. Datový typ konstanty můžeme přesněji specifikovat klepnutím pravým tlačítkem myši na ikonu konstanty a volbou položky Representation. Ve stejné nabídce se nachází i volba Format & precision. Pomocí ní můžeme určit způsob zobrazování hodnoty konstanty, ne však její skutečnou přesnost. Ta je dána datovým typem konstanty. V nabídce Functions Numeric Additional Numeric Constants najdeme množství předdefinovaných konstant, jako např. π ( ), elementární náboj e ( ), gravitační konstantu g ( ) a mnoho dalších řetězcová konstanta Pro vytvoření řetězcové konstanty vložíme do blokového diagramu uzel Functions String. Má podobu růžového obdélníčku ( ). Do něj můžeme vepsat hodnotu konstanty ( ). Pro vkládání speciálních znaků se používají tzv. backslash sekvence, což je řetězec složený ze zpětného lomítka a hexadecimálního čísla (Např. \FA). Hexadecimální číslo musí být v rozmezí 00..FF a musí obsahovat pouze číslice a velká písmena. Hexadecimální číslo vyjadřuje ordinální hodnotu znaku v použitém kódování. 3. Používání backslash sekvencí můžeme povolit nebo zakázat v menu pod pravým tlačítkem myši umístěné nad ikonou konstanty (položka \ Codes Display). Pro správné zobrazení znaků české abecedy je nutné zvolit vhodný font. Volbu fontu pro blokový diagram provedeme v záhlaví okna blokového diagramu klepnutím na podlouhlé tlačítko s názvem aktuálně nastaveného fontu ( ). Standartní Application Font 3 Operační systémy Windows používají pro český jazyk kódování Windows 1250, operační systémy typu UNIX obvykle kódování ISO někdy též označované jako ISO Latin 2

24 16 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Control Indicator Popis Single-precision floating-point numeric Datový typ reálných čísel. Číslo je v paměti uloženo binárně v 32 bitech. Nejmenší zobrazitelné kladné číslo: 1.40e-45, největší zobrazitelné kladné číslo: 3.40e+38, nejmenší zobrazitelné záporné číslo: -1.40e-45, největší zobrazitelné záporné číslo: -3.40e+38. Počet platných desetinných míst: 6. Double-precision floating-point numeric Datový typ reálných čísel. Číslo je v paměti uloženo binárně v 64 bitech. Nejmenší zobrazitelné kladné číslo: 4.94e-324, největší zobrazitelné kladné číslo: 1.79e+308, nejmenší zobrazitelné záporné číslo: -4.94e-324, největší zobrazitelné záporné číslo: -1.79e+308, Počet platných desetinných míst: 15. Extended-precision floating-point numeric Datový typ reálných čísel. Číslo je v paměti uloženo binárně v 128 bitech. Nejmenší zobrazitelné kladné číslo: 6.48e-4966, největší zobrazitelné kladné číslo: 1.19e+4932, nejmenší zobrazitelné záporné číslo: -6.48e-4966, největší zobrazitelné záporné číslo: -1.19e Počet platných desetinných míst je závislý na operačním systému pod kterým LabVIEW provozujeme a pohybuje se mezi 15 a 30. Signed 8-bit integer numeric Celočíselný datový typ. Číslo je v paměti uloženo binárně v 8 bitech. Rozsah zobrazení: Signed 16-bit integer numeric Celočíselný datový typ. Číslo je v paměti uloženo binárně v 16 bitech. Rozsah zobrazení: Signed 32-bit integer numeric Celočíselný datový typ. Číslo je v paměti uloženo binárně v 32 bitech. Rozsah zobrazení: Unsigned 8-bit integer numeric Celočíselný datový typ bez znaménka. Číslo je v paměti uloženo binárně v 8 bitech. Rozsah zobrazení: Unsigned 16-bit integer numeric Celočíselný datový typ bez znaménka. Číslo je v paměti uloženo binárně v 16 bitech. Rozsah zobrazení: Unsigned 32-bit integer numeric Celočíselný datový typ bez znaménka. Číslo je v paměti uloženo binárně v 32 bitech. Rozsah zobrazení: Boolean Logický datový typ. String Datový typ řetězec. Array Datový typ pole. Barva ikony závisí na typu prvků pole. Cluster Tento datový typ přibližně odpovídá typu Record známému z Pascalu nebo Delphi. Barva ikony závisí na typu prvků Clusteru. Pokud jsou všechny prvky clusteru stejného typu, barva ikony je hnědá, pokud různého typu, barva je růžová. Path Disková cesta. Tento datový typ se liší od typu String. Waveform Typ waveform je možné chápat jako specializaci typu Cluster s pevně danou strukturou. Obsahuje položky t0, dt a jednorozměrné číselné pole. Často se používá pro zpracování ekvidistantních dat. Jazyk G nabízí množství výkonných funkcí pracujících s tímto datovým typem. Tabulka 1.2: Datové typy některých terminálních uzlů

25 1.9. KONSTANTY 17 floating-point numeric (Single-precision floating-point numeric, Double-precision floating-point numeric, Extended-precision floating-point numeric, Complex single-precision floating-point numeric, Complex double-precision floating-point numeric, Complex extended-precision floating-point numeric) integer numeric (Signed 8-bit integer numeric, Signed 16-bit integer numeric, Signed 32-bit integer numeric, Unsigned 8-bit integer numeric, Unsigned 16-bit integer numeric, Unsigned 32-bit integer numeric, Enumerated type) boolean string jednorozměrné pole s prvky typu integer numeric (tedy 6 možností, jak vyplývá z 1. řádku této tabulky) dvourozměrné pole s prvky typu integer numeric (tedy 6 možností, jak vyplývá z 2. řádku této tabulky) Cluster (Složený datový typ obdobný např typu pascalovskému typu record) Pokud jsou všechny prvky clusteru stejného typu, barva je hnědá, pokud různého typu, barva je růžová Tabulka 1.3: Datové typy některých hran je zpravidla nutné nahradit fontem, jehož název končí na CE, např. Arial CE. Poznamenejme, že pro každý textový prvek blokového diagramu lze nastavit jiný font. Také pro jednotlivé prvky čelního panelu lze nastavit font analogickým způsobem v okně čelního panelu. To znamená, že při nevhodném nastavení fontů může být tentýž řetězec v různých prvcích zobrazen různě. Na paletě Functions String najdeme také několik předdefinovaných konstant, jako např. prázdný řetězec ( ), znak Carriage Return ( ) nebo znak End Of Line ( ) konstanta typu pole Dále můžeme nadefinovat konstantu typu pole (Array). Do blokového diagramu vložíme uzel Functions Array - Array Constant. Tím však definice konstanty typu pole nezkončila. Nyní musíme určit typ prvků pole. To provedeme vložením konstanty příslušného typu do ikony konstanty pole. Je zřejmé že takto lze vytvářet komplikované datové struktury, např. pole jehož prvky jsou typu Cluster atd. Není však možné vytvořit pole, jehož jednotlivé prvky budou opět typu pole. Pokud chceme zvýšit dimenzi naší konstanty, klepneme na její ikonu pravým tlačítkem myši a v menu které se objeví vybereme AddDimension. Chceme-li například vytvořit vektor celých čísel, tedy pole dimenze 1 s prvky typu Integer, vložíme do blokového diagramu Functions Array - Array Constant a do jeho ikony ještě vložíme Functions Numeric - Numeric Constant. Šipkou ( ) uchopíme např. spodní pravý roh ikony konstanty pole a tažením zobrazíme určitý počet prvků. Tím jsme vytvořili posunovací okénko které můžeme v rámci naší jediné dimenze po konstantě posunovat pomocí malých šipek, které jsou součástí ikony naší konstanty. Vzniklá konstanta bude se bude podobat ( ). Nula v levém okénku ikony indikuje, že v prvním ze tří prvků které v našem posunovacím okénku vidíme, má index nula.

26 18 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW konstanta typu Cluster Postup vytváření konstanty typu Cluster je analogický postupu vytváření konstanty typu pole. Do základní ikony postupně vložíme konstanty, ze kterých se skládá. Příklad: Vytvořme konstantu Typu Cluster, která bude obsahovat 3 položky: konstantu typu jednorozměrné pole celých čísel, konstantu typu Floating point a řetězcovou konstantu. Příslušné blokové schéma vidíme na následujícím obrázku 1.9. Na obrázku je navíc znázorněn i způsob pro přístup k jednotlivým položkám této složené konstanty. Jednotlivé položky se zpřístupní pomocí funkce Functions Cluster - Unbundle. Na obrázku 1.9 jsou dále jednotlivé položky vyvedeny do terminálních uzlů které odpovídají prvkům čelního panelu, v nichž se zobrazí. Obrázek 1.9: Konstanta typu Cluster Bylo by samozřejmě možné nadefinovat tyto tři konstanty zvlášť, avšak potom by od každé z nich vedla samostatná hrana, a tím by se znepřehlednil blokový diagram. Nikoho snad nepřekvapí, že stejnou konstantu lze nadefinovat také způsobem z obrázku 1.10 s využitím funkce Functions Cluster - Bundle. Obrázek 1.10: Konstanta typu Cluster jinak VI s blokovým diagramem z obrázků 1.9 a 1.10 je uloženo v archivu příkladů pod názvem 004.vi logická konstanta Logickou konstantu reprezentuje v blokovém diagramu ikona v podobě zeleného obdélníčku Functions Boolean - True Constant ( ) pro logickou hodnotu Pravda a Functions Boolean - False Constant ( ) pro logickou hodnotu nepravda Objekty typu Control a Indicator Nyní popíšeme souvislost mezi konstantou, objektem typu Control a objektem typu Indicator. Připomeňme, že konstanta je v podstatě výstupním terminálem. Také prvek typu Control je

27 1.11. JAK NEJRYCHLEJI NAPSAT PROGRAM? 19 v blokovém diagramu reprezentovaný výstupním terminálem. Objekt typu Indicator reprezentuje v blokovém diagramu vstupní terminál. Je zřejmé, že v blokovém diagramu nelze beztrestně zaměnit vstupní terminál za výstupní, neboť podle pravidel pro tvorbu blokového diagramu může jedna hrana spojovat pouze jeden terminál výstupní s jedním nebo s více terminály vstupními, jak již bylo řečeno. Každá záměna vstupního terminálu za výstupní v korektně utvořeném blokovém diagramu nutně způsobí porušení pravidel. Existuje elegantní způsob pro vzájemnou záměnu uzlů typu konstanta, Control a Indicator v blokovém diagramu. Technicky se provede tak, že na ikonu reprezentující příslušný uzel klepneme pravým tlačítkem myši a v menu, které se objeví zvolíme Change to Control popř. Change to Indicator popř. Change to Constant. Původní a nový uzel mají vždy shodný datový typ a shodnou hodnotu. Každou konstantu lze zaměnit za ekvivalentní 4 uzel typu Control a opačně. V čelním panelu při tom vznikne, resp. zanikne ovládací prvek. Tato změna nenaruší funkčnost VI. Každou konstantu nebo prvek typu Control lze zaměnit za prvek typu Indicator a opačně. Tato změna vždy naruší funkčnost VI, takže je následně nutno provést další úpravy v blokovém diagramu. Možnost záměny konstanty za objekt typu Control je velmi výhodná v momentě, kdy ladíme VI a hledáme vhodnou hodnotu. Například pokud hledáme vhodný stupeň aproximačního polynomu pro metodu nejmenších čtverců víme-li, že vstupní data budou vždy stejného charakteru. Jakmile nalezneme vhodnou hodnotu, změníme daný Control na konstantu a tím nalezenou hodnotu zafixujeme. Souhrnně lze tedy říci že pro každý datový typ lze vytvořit Konstantu, Control i Indicator. Objekty typu Control a Indicator mají v čelním panelu svou reprezentaci, jejíž grafickou podobu lze všemožně upravovat k zajištění maximálního uživatelského pohodlí při interakci s programem Jak nejrychleji napsat program? Pokud přistupujeme k tvorbě VI tak, že nejprve vložíme do čelního panelu potřebné ovládací prvky a teprve potom se věnujeme tvorbě blokového diagramu, postupujeme jistě správně. Musíme si ovšem předem rozmyslet jakého datového typu budou jednotlivé ovládací prvky. Jiný korektní způsob tvorby VI spočívá v opačném postupu: Nejprve zhruba vytvoříme blokový diagram, to znamená že do okna blokového diagramu naskládáme všechny, nebo alespoň většinu uzlů nutných pro správnou funkci VI a teprve poté přistoupíme k tvorbě čelního panelu. Na tomto místě nás však čeká příjemné překvapení: Chceme-li k určitému terminálu 4 ekvivalentní ve výše uvedeném smyslu

28 20 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW připojit ovládací prvek (tedy Control nebo Indicator) nebo konstantu, stačí na onen terminál klepnout pravým tlačítkem myši a v menu které se objeví zvolit Create Control, popř. Create Indicator, popř. Create Constant. Pokud toto provedeme, vytvoří se automaticky kýžený objekt vhodného datového typu. Na závěr pouze vhodným způsobem rozmístíme a upravíme ovládací prvky na čelním panelu a nastavíme velikost okna Paleta Functions pod drobnohledem Připomeňme, že paleta Functions má stromovou strukturu. Podívejme se nyní podrobněji na některé subpalety v hloubce jedna tohoto stromu. Functions Numeric obsahuje uzly pro práci s čísly. Patří sem aritmetické, trigonometrické, logaritmické a komplexní funkce. Najdeme zde také funkce pro typovou konverzi, uzel pro tvorbu číselné konstanty a několik předdefinovaných číselných konstant. Functions Boolean obsahuje uzly pro logické operace. Patří sem zejména základní logické funkce, uzly pro aplikaci logických operací na prvky pole logických hodnot, funkce pro typovou kon verzi a 2 logické konstanty. Functions String obsahuje uzly pro operace nad řetězci, jako např. spojení řetězců, nalezení podřetězce v řetězci, určení délky řetězce, konverzní funkce pro převod řetězce na číslo a opačně a podobně. Functions Array obsahuje uzly pro práci s poli. Typickými akcemi nad polem jsou např. vytvoření pole, výběr prvků s určitou vlastností z pole, přidání prvků do pole, rozdělení pole na části atd. Functions Cluster obsahuje uzly pro práci s Clustery. Patří sem funkce Bundle pro vytvoření Clusteru z jednotlivých složek a k ní opačná funkce Unbundle pro rozklad Clusteru na jednotlivé složky, dále analogické funkce Bundle by name a Unbundle by Name, které navíc umožňují jednotlivé složky Clusteru pojmenovat. Dále zde najdeme uzly pro konverzi typů a uzel pro tvorbu konstanty typu Cluster. Functions Comparsion obsahuje uzly pro porovnávání logických a číselných hodnot, řetězců, clusterů a polí. Functions Time & Dialog zde se nachází funkce pro zjištění aktuálního data a přesného času a funkce pro pozdržení činnosti VI. Do této subpalety byly též zařazeny uzly pro zobrazování dialogových oken a informačních oken. Functions File I/O obsahuje uzly pro práci s textovými i speciálními soubory. Najdeme zde jak primitivní uzly provádějící elementární operace nad soubory, tak i komplexní uzel pro zformátování dat, zobrazení dialogového okna pro výběr diskové cesty a názvu souboru a uložení dat. Functions Waveform obsahuje uzly pro manipulaci s daty typu Waveform.

29 1.12. PALETA FUNCTIONS POD DROBNOHLEDEM 21 Functions Application Control obsahuje uzly pro řízení běhu VI. Patří mezi ně např. uzel pro zastavení běhu VI nebo uzel pro zastavení běhu VI a ukončení LabVIEW. Nyní je nezbytné, aby si čtenář paletu Functions sám důkladně prohlédl. Schopnost orientovat se v této paletě je naprosto nezbytná při programování. Elektronická nápověda LabVIEW obsahuje kompletní popis každého prvku palety Functions a to snad v nejnázornějším možném uspořádání - interaktivně. Otevřeme okno elektronické nápovědy (Ctrl-?). V Indexu vyhledáme heslo palettes. Objeví se paleta functions, kterou můžeme interaktivně procházet klepáním myší na její ikony. Ke zvolenému objektu palety bude zobrazen vyčerpávající popis Uzly s nastavitelným počtem terminálů Některé uzly mají nastavitelný počet vstupních a nebo výstupních terminálů. Příkladem takového uzlu je Functions Numeric - Compound Arithmetic. Viz obr Umí aplikovat některou z operací (+, *, AND, OR, XOR) na určitý počet operandů. Po vložení do blokového diagramu je Compound Arithmetic vybaven dvěma vstupními terminály a jedním výstupním. Tažením šipkou ( ) za roh ikony docílíme změny počtu (v tomto případě vstupních) terminálů. Analogickým způsobem se chovají i další uzly z palety Functions. Obrázek 1.11: Compound Arithmetic s různým počtem vstupních terminálů Polymorfní uzly Některé uzly jsou schopny přijímat a produkovat data různých datových typů. Tak například uzel Functions Numeric - Add, který provádí sčítání, lze aplikovat nejen na dvě čísla, nýbrž i na číslo a jednorozměrné pole, na dvě jednorozměrná pole a tak dále. 5 Následující obrázek 1.12 dokumentuje 3 vybrané případy aplikace uzlu Add na data různého datového typu. Obrázek 1.12: Polymorfizmus uzlu Add 5 Výčet všech možností spolu s popisem chování uzlu Add nelezne čtenář v elektronické nápovědě.

30 22 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW VI s blokovým diagramem uvedeným na obr nalezne čtenář v archivu příkladů pod názvem 011.vi. Po spuštění se na terminálu A objeví hodnota 3,5, na terminálu B jednorozměrné pole a na terminálu C jednorozměrné pole Uzel Add je v blokovém diagramu vždy reprezentován stejnou ikonou ( ), přestože ve skutečnosti provádí pokaždé jinou činnost. Ve skutečnosti existuje několik různých implementací uzlu Add. Vhodná implementace se zvolí podle typu dat na která má být uzel aplikován. V tomto případě říkáme, že uzel Add je polymorfní. Téměř všechny uzly z palety functions jsou polymorfní. Zejména z tohoto důvodu je programování v LabVIEW tolik intuitivní. Velmi zřídka se během programování setkáme s typovou nekompatibilitou jednotlivých uzlů. Vhodnou implementaci polymorfních uzlů lze určit již v době překladu VI a proto tahle pozornost programátorovi není vyvážena žádným zpomalením běhu přeloženého VI řídící struktury programu V tomto odstavci se zmíníme o cyklech FOR a WHILE, o struktuře pro větvení programu CASE a o struktuře, Sequence, která se programátorovi zvyklému používat klasický textově orientovaný jazyk, pravděpodobně zdá ze všech nejpodivnější. Řídící struktury programu jsou v blokovém diagramu reprezentovány rámečky, které obklopují tu část blokového diagramu, na kterou se vztahují cyklus FOR Cyklus FOR slouží k N-násobnému provedení části blokového diagramu, kde N známe před vstupem o cyklu. Najdeme jej v Functions Structures - For Loop. V blokovém diagramu je reprezentován ikonou z obr Obrázek 1.13: Cyklus FOR Velikost rámečeku ikony cyklu FOR lze měnit tažením šipkou ( ) za některý roh ikony. Ta část blokového diagramu, která má být cyklicky prováděna musí být uvnitř rámečku ikony cyklu FOR. Počet opakování je dán hodnotou přivedenou k terminálu ( ). Počet již vykonaných opakování lze číst z terminálu ( ). Počítání začíná od nuly, tedy během prvního průchodu cyklem je i = 0, během posledního průchodu cyklem je i = N 1. Průchod cyklem

31 1.13. ŘÍDÍCÍ STRUKTURY PROGRAMU 23 nazýváme též iterací. Z venčí mohou do cyklu vcházet a vycházet hrany. Místu, kde hrana protíná rámeček ikony cyklu říkáme tunel. Hrany, po kterých do cyklu vcházejí data procházejí vstupním tunelem. Hrany po kterých data vycházejí z cyklu ven procházejí výstupním tunelem. Tunel je reprezentován barevným čtverečkem. Tunel není nutné samostatně vytvářet, vytváří se automaticky, jakmile vedeme nějakou hranu přes hranice ikony cyklu. Zajímavé jsou zejména výstupní tunely. Mají vlastnost Indexing 6, kterou lze zapnout nebo vypnout, klepneme-li na tunel pravým tlačítkem myši a zvolíme-li v menu které se objeví položku Enable Indexing, resp. Disable Indexing. Tunel se zakázaným indexováním má podobu vybarveného čtverečku ( ), uzel s povoleným indexováním má podobu nevybarveného čtverečku ( ). Prvotní představa: Cyklus FOR se během své činnosti chová tak, jako by na začátku každé iterace přečetl data na vstupních tunelech poté provedl onu iteraci a na jejím konci odeslal data do výstupních tunelů. Skutečnost: Ve skutečnosti se data ze vstupních tunelů čtou pouze na začátku první iterace a na výstupní tunely jsou data odeslána až po skončení poslední iterace. Pokud má výstupní tunel zakázáno indexování ( ), vychází z něj jediná hodnota, tak jak pravděpodobně čtenář předpokládá. Pokud má však výstupní tunel indexování povoleno ( ), vychází z něj jednorozměrné pole složené ze všech hodnot, které by na tento uzel dorazily během každé iterace podle Prvotní představy. Na závěr našeho povídání o cyklu FOR zmiňme ještě Posunovací registry (Shift registers). Posunovací registr přidáme do cykou FOR kliknutím na rámeček jeho cyklu a volbou Add Shift Register v menu, které se objeví. Posunovací registr z cyklu odstraníme tak, že alespoň jednu z jeho párových ikon označíme šipkou ( ) a smažeme klávesou Del. Posunonací registr umožňuje přenést nějakou hodnotu z přítomné iterace do následující, nebo chceme-li, z minulé do přítomné. Každý cyklus FOR můžeme vybavit libovolným počtem posunovacích registrů. Posunovací registr je reprezentován párovými ikonami na svislých stranách rámečku ikony cyklu. Odpovídající si ikony jednoho páru se vždy nacházejí ve stejné výšce. Pravá párová ikona představuje vstupní terminál pro hodnotu, kterou chceme poslat do následující iterace. Levá párová ikona představuje výstupní terminál, ze kterého můžeme v současné iteraci přečíst hodnotu. Na začátku provádění cyklu FOR lze z vnějšku ikony cyklu FOR přivést k levé párové ikoně posunovacího registru inicializační hodnotu. Po skončení poslední iterace cyklu FOR lze z pravé párové ikony posunovacího registru přečíst výstupní hodnotu. Vše ozřejmíme na následujícím obrázku A a B jsou párové ikony jediného posunovacího registru, který na obr vidíme. F značí, že cyklus má mít 10 iterací. G značí, že posunovací registr bude před první iterací inicializován na hodnotu 0. E je jediným uzlem blokového diagramu, který má být opakovaně prováděn. Jde o Functions Numeric - Increment, přičítá jedničku. C je výstupní tunel se zakázaným indexováním. D je výstupní tunel s povoleným indexováním. Po skončení cyklu 6 Vstupní tunely mají taktéž vlastnost Indexing. Pokud přivedeme na vstupní tunel cyklu jednorozměrné pole a zapneme indexování, máme možnost uvnitř cyklu pohodlně procházet jednotlivé prvky pole.

32 24 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Obrázek 1.14: Příklad s cyklem FOR se na terminálu H objeví číslo 10, na terminálu I číslo 9 a na terminálu J jednorozměrné pole celých čísel VI s blokovým diagramem z obrázku 1.14 najde čtenář v archivu příkladů pod názvem 005.vi cyklus WHILE Cyklus WHILE slouží k opakovanému provádění části blokového diagramu. Opakování probíhá dokud má řídicí podmínka určitou logickou hodnotu. Testování platnosti řídicí podmínky se odehrává vždy po skončení iterace, takže první iterace se vykoná vždy. Cyklus WHILE najdeme v Functions Structures - While loop. V blokovém diagramu jej reprezentuje ikona z obr Obrázek 1.15: Cyklus WHILE Stejně jako cyklus FOR, vztahuje se cyklus WHILE k té části blokového diagramu, kterou obklopuje rámečkem své ikony. Také v cyklu WHILE můžeme používat vstupní a výstupní tunely a posunovací registry. Vypadají stejně a chovají se také stejně tak, jak už bylo popsáno výše v odstavci o cyklu FOR. ( ) indikuje číslo iterace. Počítá se od nuly, tedy během prvního průchodu cyklem je i = 0. Ikona ( ) je standardním řídicím terminálem. Cyklus probíhá dokud na tento terminál přivádíme logickou hodnotu True. Na řídicí terminál však můžeme klepnout pravým tlačítkem myši a v menu, které se objeví vybrat položku Stop if True. Ikona řídicího terminálu pak změní podobu na ( ) a cyklus probíhá dokud na tento terminál přivádíme logickou hodnotu False. Samozřejmě, ikonu ( ) změníme zpět na ( ) volbou Continue if TRUE v tomtéž menu.

33 1.13. ŘÍDÍCÍ STRUKTURY PROGRAMU 25 Pokud k řídicímu terminálu cyklu WHILE přivádíme logickou hodnotu z nějakého vstupního tunelu, tedy zvenčí, cyklus buďto po první iteraci skončí, nebo bude probíhat donekonečna, což je pravděpodobně samozřejmé, protože k přečtení hodnot na vstupních tunelech dojde jen před první iterací. Pokud chceme zajistit, aby jednotlivé iterace probíhaly v určitých časových odstupech, vložíme do cyklu Functions Time & Dialog - Wait Until Next ms Multiple k jehož vstupnímu terminálu připojíme konstantu. Hodnota této konstanty určí počet milisekund čekání. Pokud máme v blokovém diagramu více nezávislých cyklů, můžeme jim takto regulovat prioritu. Během čekání navíc umožníme operačnímu systému, aby se věnoval i jiným běžícím procesům. To vede k odlehčení systému. Obrázek 1.16: Příklad s cyklem WHILE Na obrázku 1.16 vidíme příklad s cyklem WHILE. Řídicí terminál je reprezentován ikonou ( ), takže cyklus probíhá dokud k němu přivádíme logickou hodnotu True. Functions Numeric - Random Number (0-1) představuje generátor náhodných čísel z intervalu 0, 1. Pokud je vygenerované náhodné číslo menší než 0,95, generuje Functions Comparsion - Less? logickou hodnotu True. Mezi jednotlivými iteracemi je nastaven časový odstup 2 milisekundy 7. Terminál Numeric, který je svázán s objektem Digital Indicator na čelním panelu čte pořadové číslo iterace a zobrazuje je na čelním panelu. Na čelním panelu by tedy bylo možné po jistou náhodně dlouhou dobu sledovat po jedničce se zvyšující číslice. VI s blokovým diagramem z obrázku 1.16 najde čtenář v archivu příkladů pod označením 006.vi struktura CASE Předpokládejme, že za určitých okolností potřebujeme, aby byl vykonán program daný diagramem 1 a za jiných okolností program daný diagramem 2. V tom případě potřebujeme řídicí strukturu CASE. Vložíme do ní diagram 1 a diagram 2. Hodnota, kterou přivedeme na rozhodovací terminál struktury rozhodne o tom, který z diagramů bude vykonán. Strukturu CASE najdeme v Functions Structures - Case. V blokovém diagramu je reprezentovaná ikonou z obrázku Struktura CASE obsahuje dva nebo více diagramů. Jsou v ní uloženy pod sebou, takže v určitou chvíli je viditelný pouze jeden z nich. Každý z diagramů je umístěn v samostatném okénku. Mezi jednotlivými okénky lze přepínat pomocí šipek v horní části ikony struktury 7 Skutečně, časový odstup mezi jednotlivými iteracemi činí průměrně 2 milisekundy. Nastavené 2 milisekundy se nesčítají s časem potřebným na provedení zbytku těla cyklu.

34 26 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Obrázek 1.17: Struktura CASE CASE. Mezi těmito šipkami nalezneme políčko pro vložení řídicí konstanty pro aktuální (tedy právě viditelný) diagram. Na obrázku 1.17 je v tomto políčku uvedena logická hodnota True. Za běhu programu pak bude hodnota přivedená na rozhodovací terminál ( ) porovnána s řídicími konstantami všech políček struktury CASE a diagram v odpovídajícím políčku bude spuštěn. Na rozhodovací terminál lze přivést např. logickou nebo celočíselnou hodnotu, nebo hodnotu typu řetězec. Bezprostředně po vložení struktury case z palety Functions do blokového diagramu je rozhodovací terminál připraven pro příjem logické hodnoty a struktura CASE je vybavena dvěma prázdnými okénky pro vložení dvou diagramů. Přidání dalšího prázdného okénka provedeme klepnutím pravým tlačítkem myši na rámeček ikony struktury CASE a zvolením Add Case After, nebo Add Case Before. Odebrání aktuálního okénka provedeme volbou Delete This Case v tomtéž menu. Na obrázku 1.18 vidíme ukázkový blokový diagram. Struktura CASE je zde vložena do cyklu FOR. Obrázek 1.18: Příklad se strukturou CASE Na obrázku 1.19 vidíme zvlášť obě okénka struktury CASE z obrázku VI s blokovým diagramem z obrázku 1.18 nalezne čtenář v archivu příkladů pod názvem 007.vi. Funguje následovně: Cyklus FOR má proběhnout desetkrát. Functions Numeric - Quotient & Reminder vrací zbytek po celočíselném dělení pořadového čísla iterace i dvojkou. 8 Functions Comparsion - Equal to 0? tedy vrací logickou hodnotu True v případě, že i je sudé. V opačném případě vrací False. Struktura CASE způsobí, že je-li i sudé, je při- 8 Druhý výstupní terminál, který vrací výsledek celočíselného dělení není zapojen.

35 1.13. ŘÍDÍCÍ STRUKTURY PROGRAMU 27 Obrázek 1.19: jednotlivá okénka struktury CASE vedeno na terminál A zatímco na terminál B se přivede nula. Pokud i je liché, přivede se na terminál B a na terminál A je přivedena nula. Terminály C a D mají zapnuto indexování, takže se na nich hodnoty seřazují do jednorozměrných polí. Po skončení poslední iterace cyklu FOR obsahuje terminál Array pole a terminál Array1 pole Pole Array tedy obsahuje pouze nuly a sudá čísla 0..9, zatímco pole Array1 obsahuje nuly a lichá čísla Všimněme si, že všechny výstupní tunely struktury Case musí být spojeny s nějakým výstupním uzlem. Proto se na pozicích s indexem 1 až 9 ve výsledných polích Array a Array1 objevují nuly struktura SEQUENCE Poslední řídicí strukturou jazyka G je SEQUENCE. Rozdíl mezi grafickým a textově orientovaným programováním, jsme již popsali v odstavci Princip na straně 10. Řekli jsme, že v programu napsaném v textově orientovaném jazyce dochází k exekuci jednotlivých příkazů v pořadí, ve kterém jsou tyto příkazy uvedeny ve zdrojovém kódu programu. Exekuce jednotlivých uzlů blokového diagramu se řídí pravidly Data Flow Execution Systemu. K zajištění postupného provádění určitých částí blokového diagramu v určitém pořadí slouží v jazyce G řídicí struktura SEQUENCE. Najdeme ji v Functions Structures - Sequence. V blokovém diagramu je opět reprezentovaná ikonou v podobě rámečku, viz obr Připomíná políčko fotografického filmu. Obrázek 1.20: struktura SEQUENCE Podobně jako ikona struktury CASE, je také ikona struktury SEQUENCE vybavena ve své horní části malými šipkami pro přepínání mezi jednotlivými políčky ze kterých se skládá. 9 9 Ikona struktury SEQUENCE právě vložená do diagramu z palety FUNCTIONS těmito šipkami vybavená není, neboť obsahuje pouze jediné políčko a není tedy mezi čím přepínat.

36 28 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Nové políčko přidáme klepnutím na rámeček ikony a zvolením Add Frame After, nebo Add Frame Before v menu, které se objeví. Aktuální políčko smažeme zvolením Delete this Frame v tomtéž menu. Jednotlivá políčka jsou ve své horní části očíslována od nuly. V tomto pořadí, nulou počínaje, budou diagramy umístěné v rámečcích postupně vykonány. Příklad použití SEQUENCE Vidíme na obr Obrázek 1.21: Příklad použití struktury SEQUENCE Funkce VI z obr je následující: Uzel Functions Time & Dialog - Two Button Dialog zobrazí dialogové okno se dvěma tlačítky. Tři řetězcové konstanty v levé části rámečku určují po řadě obsah sdělení dialogového okna, popisek 1. tlačítka a popisek 2. tlačítka. Pokud uživatel zvolí 1. tlačítko, vrátí Two Button Dialog logickou hodnotu True, jinak vrátí False. Uzel Functions Application Control - Stop zareaguje na hodnotu TRUE přivedenou na jeho vstupní terminál zastavením běhu VI. Na hodnotu FALSE nereaguje nijak. Jakmile je blokový diagram z prvního políčka proveden, spustí se diagram z políčka následujícího. Zobrazí se jiné dialogové okno Functions Time & Dialog - One Button Dialog tentokráte s jediným tlačítkem. Jakmile toto tlačítko uživatel zvolí, celý program zkončí, neboť žádné další rámečky v tomto příkladě SEQUENCE nemá. Pokud potřebujeme předat nějakou hodnotu z jednoho rámečku do následujících rámečků, nepoužijeme k tomu posunovací registr, jako tomu bylo u cyklů, nýbrž vytvoříme tzv. místní proměnnou. To se technicky provede klepnutím pravým tlačítkem myši na rámeček ikony SEQUENCE a volbou Add Sequence Local v menu, které se objeví. V aktuálním rámečku ρ přibude nová ikona ( ). Pokud k ní přivedeme hranu od nějakého výstupního terminálu, změní tato ikona podobu na ( ), stane se z ní vstupní terminál. V rámečcích následujících po ρ má tato ikona podobu ( ), je výstupním terminálem. Ve všech rámečcích předcházejících rámečku ρ je nače místní proměnná reprezentovaná ikonou ( ). Její hodnota zde není definovaná, takže tato ikona není (ani vstupním ani výstupním) terminálem. Následující příklad z obr demonstruje použití místní proměnné. Obrázek 1.22: Příklad použití struktury SEQUENCE VI s blokovým diagramem z obrázku 1.22 vrací po postupném provedení všech tří dia-

37 1.14. FORMULA NODE 29 gramů na výstupním terminálu Numeric hodnotu 4. Jednotlivá políčka na obrázcích 1.20 a 1.21 se ve skutečnosti samozřejmě překrývají. Oba ukázkové programy nalezne čtenář v archivu příkladů pod názvy 009.vi a 010.vi. Smysluplnější využití má struktura SEQUENCE zejména při komunikaci s některými periferními zařízeními PC Formula Node Pro snadné pochopení následujícího textu je nutná alespoň základní znalost některého textově orientovaného programovacího jazyka, nejlépe C, nebo Pascalu. Functions Structures - Formula Node je uzel v podobě rámečku se vstupními a výstupními tunely, který slouží k vepsání kódu v textově orientovaném programovacím jazyce. Syntaxe kódu vepsaného do Formula Node se podobá syntaxi jazyka C. Následující obrázek demonstruje použití Formula Node. Obrázek 1.23: Příklad použití Formula Node Formula Node VI z obrázku 1.23 produkuje jednorozměrné pole náhodných čísel. Konstanta n určí, ža pole má mít 450 prvků. Deklarace P ole uvnitř Formula Node pak shora omezuje počet prvků Pole na 500. Uvedený příklad nalezne čtenář v archivu příkladů pod názvem 132.vi. Vstupní nebo výstupní tunel se vytvoří klepnutím pravým tlačítkem myši na rám Formula Node a volbou Add Input pro vstupní tunel, resp Add Output pro výstupní tunel. Popisek, který do tunelu vložíme popisovačem ( ) představuje ve Formula Node proměnnou. Typ proměnné je dán typem hrany přivedené ke vstupnímu tunelu. Proměnná, která neodpovídá žádnému vstupnímu tunelu, jako i, nebo P ole na obr musí být deklarována. Neexistuje formální omezení na počet proměnných ve Formula Node. Žádné dva vstupní tunely nesmí mít stejné jméno. Také žádné dva výstupní tunely nesmí mít stejné jméno. Avšak jméno vstupního tunelu se může shodovat se jménem výstupního tunelu. Všechny vstupní tunely musí být zapojeny, tzn. ke každému vstupnímu tunelu musí být připojena platná hrana. Stejně jako v jazyce C, = je přiřazovací příkaz, operátory +, -, *, /, ^ mají běžný význam. Komentáře se ohraničují mezi symboly /* a */. Seznam funkcí použitelných uvnitř Formula Node: abs(x), acos(x), acosh(x), asin(x),

38 30 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW asinh(x), atan(x), atanh(x), ceil(x), cos(x), cosh(x), cot(x), csc(x), exp(x), expm1(x), floor(x), getexp(x), getman(x), int(x), intrz(x), ln(x), lnp1(x), log(x), log2(x), max(x,y), min(x,y), mod(x,y), pow(x,y), rand( ), rem(x,y), sec(x), sign(x), sin(x), sinc(x), sinh(x), sqrt(x), tan(x), tanh(x). Jazyk G nabízí obdobné uzly pro vkládání kódů jiného jazyka, jako např C-Node pro vkládání kódu v jazyce C, nebo MatLab Script pro vkládání skriptů MatLab. Obdobou Formula Node je Expression Node pro vyhodnocení rovnice o jedné neznámé. Podrobný popis Formula Node najde čtenář např. v elektronické nápovědě LabVIEW. Tamtéž je podrobně popsána syntaxe jazyka Formula Node a výčet funkcí, které lze uvnitř Formula Node použít Podprogramy Každé VI, které v LabVIEW vytvoříme, může vystupovat jako samostatná aplikace, samozřejmě. Existuje však také možnost vnořovat jednotlivé VI do sebe. VI, které je součástí jiného VI, vystupuje v roli podprogramu, Sub-VI. V blokovém diagramu vystupuje Sub-VI jako samostatný uzel. Je reprezentován ikonou a může být vybavený vstupními a výstupními terminály. Tvorbu Sub-VI si přiblížíme na konkrétním příkladě. Vytvoříme VI, které ze vstupního pole koeficientů polynomu vytvoří řetězec, který bude reprezentovat tento polynom v běžném algebraickém tvaru zápisu. Blokový diagram VI, které realizuje tuto úlohu vidíme na obr Obrázek 1.24: Tvorba Sub-VI Jádrem VI je FOR cyklus, který proběhne právě tolikrát, koik má vstupní pole Polynomial Fit Coefficients prvků. V každé iteraci cyklu se pak k i- tému prvku zleva připojí levá závorka ( a zprava řetězec )*x^i+. Tímto způsobem se zpracuje každý jednotlivý prvek vstupního pole a FOR cyklus zkončí. Takto vzniklý řetězec je však nutné zkrátit o poslední znak +, nebo na konec řetězce připojit nulu, jinak by zápis polynomu nebyl korektní. Využijeme prvního řešení. Uzel String Subset v kombinaci s String Length a Decrement (-1) provede zkrácení vstupního pole o jeden znak. VI s blokovým diagramem z obrázku 1.24 je uloženo v archivu příkladů pod

39 1.15. PODPROGRAMY 31 názvem 118.vi Tvorba Sub-VI Aby mohlo VI 118.vi fungovat jako Sub-VI, je nutné přidělit mu ikonu a vstupní a výstupní terminály. Zaostříme na okno čelního panelu (viz obr. 1.25) v němž vidíme příslušné vstupní a výstupní ovládací prvky, jak jsme zvyklí. Nyní klepneme na čtvercovou ikonu v pravém horním rohu okna pravým tlačítkem myši a v menu které se objeví zvolíme Show Connector. Obrázek 1.25: Tvorba Connectoru Connector je ikona rozdělená do oblastí, které budou reprezentovat vstupní a výstupní terminály našeho VI. Z menu pod pravým tlačítkem myši nad čtvercovou ikonou Connectoru můžeme vybrat pro Connector vhodnou podobu s potřebným počtem terminálů. Nyní přepneme kurzor myši do podoby cívky s nití ( ) a propojíme postupně jednotlivá políčka v ikoně s příslušnými objekty čelního panelu. Správně zapojený terminál Connectoru změní barvu. Jakmile jsou všechny terminály řádně propojeny, klepneme na Connector pravým tlačítkem myši a v menu, které se objeví zvolíme Show Icon. Ze stejného menu můžeme spustit editor obrázků volbou Edit Icon pro navržení vizuální podoby ikony našeho VI, viz obr Na ikonu je vhodné umístit např. nápis charakterizující činnost Sub-VI, zde např Coef 2 Poly. 118.vi je nyní připraveno pro použití v jiném VI jako Sub-VI. I nadále je samozřejmě možné spouštět 118.vi jako samostatnou aplikaci Použití Sub-VI V následující aplikaci 133.vi bude 118.vi vystupovat jako podprogram. Blokový diagram 133.VI je zobrazen na následujícím obrázku 1.27.

40 32 KAPITOLA 1. ÚVOD DO PROGRAMOVÁNÍ V LABVIEW Obrázek 1.26: Návrh Ikony VI Obrázek 1.27: Použití Sub-VI V cyklu FOR se vytvoří dvě jednorozměrná pole ozn. X a Y. Pole X obsahuje 700 celých čísel v rozmezí Pole Y obsahuje odpovídající funkční hodnoty polynomu y = x x 3. Výpočet funkčních hodnot polynomy probíhá ve Formula Node. Takto vzniklým datovým souborem je pomocí Functions Mathematics Curve Fitting - General Polynomial Fit.vi proložen polynom 2. stupně s využitím metody nejmenších čtverců. Výstupem General Polynomial Fit.vi je pole koeficientů aproximačního polynomu. Nyní je třeba do blokového diagramu vložit 118.vi. To provedeme volbou Functions Select a VI... v paletě Functions. 118.vi se v blokovém diagramu chová jako obyčejný uzel. Na jeho vstupní terminál Polynomial Fit Coefficients přivedeme pole koeficientů aproximačního polynomu. Konstantou Precision (6) změníme implicitní počet desetinných míst u koeficientů z 6 na 3. Výstupem 118.vi je pak aproximační polynom v obvyklém algebraickém tvaru zápisu, který se zobrazí na čelním panelu.

41 Kapitola 2 Příklady Následující kapitola je sestavena z devíti příkladů, které mají demonstrovat základní techniky programování v jazyce G. LabVIEW je dodáváno spolu s velkým množstvím řešených příkladů, resp. ukázkových VI, které lze vyhledávat například v elektronické nápovědě LabVIEW. Příklady uvedené v této kapitole jsou však narozdíl od výše zmíněných opatřeny podrobným komentářem, který má začátečníkovi usnadnit pochopení jejich funkce Příklad 1 VI které nyní uvedeme vykreslí v grafu na čelním panelu jednu periodu funkce sin x. Na následujícím obrázku 2.1 vidíme jeho blokový diagram. Obrázek 2.1: VI pro vykreslení jedné periody funkce sin x Uzly, které realizují výpočet jsou uzavřeny v cyklu FOR. Tělo cyklu má být provedeno tisíckrát. Uzel Functions Numeric Trigonometric - Sine vrátí v průběhu cyklu tisíc funkčních hodnot y i = sin(x i ) pro x i 0, 2π. Prvky x i rovnoměrně pokrývají interval 0, 2π. Aby se vstupní hrany uzlu Functions Numeric - Divide nekřížily, je použit uzel Functions Numeric - Reciprocal. Vypočtené funkční hodnoty se na výstupním tunelu cyklu FOR seřazují do jednorozměrného pole. Toto pole opustí výstupní tunel po skončení poslední iterace cyklu jako celek. Do čelního panelu VI byl umístěn Controls Graph - Waveform Graph. Ten v blokovém diagramu reprezentuje stejnojmenný terminál. V závěru běhu VI je obsah pole vykreslen v grafu. Při tom objekt Waveform Graph je implicitně nastaven tak. že automaticky nastaví minimální a maximální hodnoty na příslušných osách. Popsané VI se nachází v archivu příkladů pod názvem 121.vi. 33

42 34 KAPITOLA 2. PŘÍKLADY Příklad 2 Tento příklad je jen dalším řešením zadání z prvního příkladu, vykresluje jednu periodu funkce sin x. Obrázek 2.2: VI pro vykreslení jedné periody funkce sin x V prvním FOR cyklu se vygeneruje pole celých čísel 0, 999, výstupní tunel má totiž povoleno indexování. Kdyby indexování povoleno nebylo, vystoupila by z cyklu po poslední iteraci pouze hodnota 999. Dále je využito polymorfizmu uzlu Functions Numeric - Multiply, který každý jednotlivý prvek v poli vynásobí konstantou 2π. Výstupem je opět pole, tentokráte však reálných čísel. Dále jsou analogicky všechny prvky tohoto pole vyděleny konstantou 1000, takže výstupní pole obsahuje tisíc hodnot rovnoměrně pokrývajících interval 0, 2π. V druhém FOR cyklu je na každý jednotlivý prvek pole aplikován uzel Sine pro výpočet funkční hodnoty sin x. Oba tunely, vstupní i výstupní, mají zapnuto indexování. Počet iterací druhého FOR cyklu je dán počtem prvků ve vstupním poli. Počet prvků vstupního pole vrací uzel Functions Array - Array Size. Výsledné pole se vykreslí. Uzel Sine je však také polymorfní, takže blokový diagram z obrázku 2.2 lze zredukovat na diagram uvedený na obrázku 2.3. Obrázek 2.3: Modifikace VI pro vykreslení jedné periody funkce sin x Popsané VI se nachází v archivu příkladů pod názvem 123.vi Příklad 3 Následující VI Vykresluje do čelního panelu binární reprezentaci náhodného čísla z intervalu 0, 10. Uzel Functions Numeric - Random Number (0-1) generuje náhodné číslo x z intervalu 0, 1 typu Double Precision Floating Point Numeric. Vynásobením čísla x desítkou a následným převodem na typ Unsigned 8-bit integer obdržíme celé číslo z intervalu 0, 10. Typovou konverzi realizuje uzel Functions Numeric Conversion - To

43 35 Obrázek 2.4: 122.vi Unsigned Byte Integer. Toto číslo je přivedeno na vstup dalšího převodního uzlu Functions Boolean - Number to Boolean Array. Jeho výstupem je jednorozměrné pole logických hodnot. Do čelního panelu byl umístěn Indicator tohoto pole volbou Create Indicator v menu pod pravým tlačítkem myši nad konverzní funkcí. Indikátor imituje řadu luminiscenčních diod. Grafickou reprezentaci tohoto Indicatoru lze měnit. Popsané VI se nachází v archivu příkladů pod názvem 122.vi Příklad 4 Následující příklad demonstruje práci s řetězcem. Ze vstupního řetězce Manna-Hata vznikne po několika úpravách MANHATTAN. Blokové schéma této aplikace znázorňuje obrázek 2.5 Obrázek 2.5: Demonstrace práce s řetězci Všechny uzly které zmíníme v následujícím odstavci se nacházejí na paletě Functions String 1. Hodnota vstupní řetězcové konstanty Manna-Hata je přivedena na vstup uzlu To Upper Case, který všechna malá písmena změní na velká. Uzel String Length určuje délku vstupního řetězce. Ve spojení s String Subset a Decrement způsobí jeho zkrácení o poslední znak. Začátek podřetězce je určen hodnotou na terminálu Offset. Ten je nezapojen a neznázorněn. Jeho implicitní hodnota je nula, s výběrem se tedy začíná od začátku řetězce. Na výstupu String Subset je nyní MANNA-HAT. K tomuto řetězci připojíme sufix TAN. Tuto operaci realizuje uzel Concatenace strings. Má nastavitelný počet vstupních terminálů, 2 takže jím lze obecně spojovat více řetězců. Jeho výstupem je řetězec MANNA- HATTAN. Poslední úpravou je nahrazení části vstupního řetězce NA- prázdným řetězcem. Realizuje se uzlem Search And Replace String, který nalezne daný podřetězec vstupního řetězce a nahradí jej jiným, zde prázdným řetězcem. Výstupem je tedy řetězec MANHAT- TAN, který se vypíše v čelním panelu. Popsané VI se nachází v archivu příkladů pod názvem 126.vi. 1 kromě uzlu Decrement (-1) z Functions Numeric 2 Viz odstavec na str. 21 o uzlech s nastavitelným počtem terminálů

44 36 KAPITOLA 2. PŘÍKLADY Příklad 5 Demonstrace práce s poli. Obrázek 2.6: Demonstrace práce s poli VI s blokovým schématem z následujícího obrázku provádí následující činnost: Ve dvou pod sebou umístěných FOR cyklech se vygenerují dvě pole náhodných čísel, každé se dvěma prvky. Obě pole jsou vzápětí zobrazena na čelním panelu. Příslušné Indicatory pro výpis obsahu polí byly vytvořeny klepnutím pravým tlačítkem myši na výstupní tunely cyklů a volbou Create Indicator v menu. které se objevilo. Alternativně lze do čelního panelu vožit Controls Array & Cluster - Array a do jeho ikony dále vložit Controls Numeric - Digital Indicator. Uzel Functions Array - Build Array spojí zmíněná dvě jednorozměrná pole pole do jediného dvourozměrného. Uzel Build Array má nastavitelný počet terminálů. Dále se v diagramu nachází uzel Transpose 2D Array, který transponuje vstupní dvourozměrné pole podle hlavní diagonály. Takto jsme obdrželi dvěrůzná pole. Uzel Functions Numeric - Multiply je polymorfní, jak jsme si již mohli všimnout. Lze ho aplikavat i na dvě dvourozměrná pole. Výsledkem je pak jejich součin, pokud jej lze spočítat. Popsané VI se nachází v archivu příkladů pod názvem 127.vi Příklad 6 VI s blokovým diagramem z obr. 2.7 má demonstrovat realizaci základních statistických výpočtů nad jednorozměrným polem. Obrázek 2.7: Demonstrace práce s poli V cyklu FOR se vytvoří pole 200 náhodných čísel v intervalu 0, 1. Od každé jednotlivé hodnoty tohoto pole ja odečteno číslo 0, 5. Uzel Functions Mathematics Probbability & Statistics - Mean určuje průměrnou hodnotu čísel ve vstupním poli. Ta se pochopitelně

45 37 pohybuje kolem nuly. Uzel Functions Mathematics Probbability & Statistics - Histogram produkuje pole rozložení četností výskytu hodnot ležících v příslušných třídicích intervalech. Jejich počet je na obr. 2.7 určen konstantou intervals, která je nastavena na 100. Histogram produkuje dvě jednorozměrná pole. První z nich, histogram, obsahuje hodnoty příslušné třídicím intervalům, jejichž středy jsou obsahem druhého pole x-values. Popsané VI se nachází v archivu příkladů pod názvem 129.vi a 130.vi Příklad 7 Zde předvedeme základní způsob ukládání dat do textového souboru. Obrázek 2.8: Uložení dat do textového souboru VI 129.vi s blokovým diagramem z obr. 2.9 demonstruje nejběžnější způsob ukládání dat do textového souboru. Ve FOR cyklu jsou vygenerována dvě pole čísel. První pole obsahuje přirozená čísla 0..49, tedy 50 čísel. Druhé pole obsahuje 50 náhodných čísel. Tato dvě jednorozměrná pole jsou dále spojena do jediného dvourozměrného pole pomocí Functions Array - Build Array. Výsledné pole má tedy 50 sloupců a dva řádky. Toto pole je přivedeno na vstup uzlu Functions File I/O - Write To Spreadsheet File.vi, který provede uložení dat do textového souboru. Tento uzel umožňuje různě ovlivňovat formát zápisu dat, jako např. zvolit znak oddělovače (implicitně znak tabulátoru), znak konce řádku (obvykle CR v Linuxu a CR,LF pod Windows) atd. Hodnota přivedená na terminál transpose? rozhoduje o tom, zda mají být data ve vstupním dvourozměrném poli před uložením transponována. Pokud chceme aby bylo možné tato data snadno otevřít pomocí standardních aplikací (Origin, Excel,...), musíme tato dvě pole uložit jako dva sloupce, tedy vstupní pole transponovat. K terminálu transpose? tedy připojíme konstantu True, jak je na obr. 2.9 vidět. Obrázek 2.9: Načtení dat z textového souboru Analogicky, načtení dat z textového souboru zrealizujeme uzlem Functions File I/O - Read Spreadsheet File. Protože jsme prve uložili data transponovaná, musíme i nyní přivést k terminálu transpose? pravdivou konstantu. Využijeme výstupní terminál pro dvou-

46 38 KAPITOLA 2. PŘÍKLADY rozměrné pole a přivedeme jej na vstup dvěma uzlům Index Array, které vybírají část pole přivedeného jim na vstup. Konstanty Index nastavíme v prvním případě na 0, ve druhém na 1. První Index Array vrátí první sloupec, druhý uzel Index Array pak druhý sloupec načtený ze soubru. Jména souborů jsou v obou případech určena dialogovým oknem, které se automaticky objeví. Pokud chceme potlačit zobrazení dialogového okna a soubor určit před spuštěním VI, připojíme k terminálům file path uzlů Write To Spreadsheet File a Read From Spreadsheet File konstantu typu file path kliknutím pravým tlačítkem myši na terminál file path a volbou Create Constant v objevivším se menu. V popsaném případě pracujeme s textovým souborem, jehož každý řádek obsahuje číslo, znak tabulátoru, číslo a znak konce řádku. Některé běžné aplikace produkující datové soubory produkují místo znaku tabulátoru pro oddělení sloupců jiný znak, např. čárku. Podle toho je nutno nastavit konstantu delimiter. LabVIEW nabízí pro práci se soubory také množství jiných funkcí. Popsané VI se nachází v archivu příkladů pod názvem 129.vi a 130.vi Příklad 8 Kreslení grafů. V paletě Controls Graph se nacházejí 3 základní objekty pro kreslení grafů: Waveform Chart, Waveform Graph a XY Graph. Zde uvedeme jejich základní použití. Obrázek 2.10: Kreslení grafů Controls Graph - Waveform Chart slouží k vykreslování číselných hodnot. Číslo, které přicestuje na tento terminál se zobrazí v grafu jako bod. Všechny body, které reprezentují již dříve vykreslená čísla jsou odsunuty směrem doleva. Jak je vidět, Waveform Chart není v tomto případě klasickým kartézským grafem. V některých případech je jeho použití velice názorné. V příkladu z obrázku 2.10 jsou k terminálu Waveform Chart cyklicky přiváděny funkční hodnoty funkce sin x. Uzel Functions Time & Dialog - Wait Until Next ms Multiple s vhodně nastavenou dobou čekání, zpomaluje průběh FOR cyklu, takže vykreslování hodnot v Waveform Chartu je tím zpomaleno a lépe znázorněno. Controls Graph - Waveform Graph slouží zejména k jednorázovému vykreslení hodnot v jednorozměrném poli.

47 39 Controls Graph - XY Graph je objekt pro vykreslování kartézského grafu. Jedním ze způsobů jak XY Graph použít je přivést k jeho terminálu Cluster obsahující dvě jednorozměrná pole. Výsledný graf se pak skládá z bodů. Prvky vstupních polí se shodným indexem určují právě dvojice čísel, které reprezentují jednotlivé body v grafu. Všechny tři zmíněné objekty jsou polymorfní, takže k jejich vstupním terminálům lze přivést data různého datového typu. Podle typu dat přivedených na vstupní terminál volí objekt grafu své chování. Popsaná použití jsou tedy jen typická, nikoliv však jediná. Chování všech objektů lze obecně ovlivňovat nastavením parametrů v menu, které se objeví po klepnutí pravým tlačítkem myši na tento objekt. Nejinak je tomu i u objektů pro kreslení grafů. Jedním z nejdůležitějších nastavení je volba Autoscale Axis X/Y, která zpíná/vypíná automatické přizpůsobování rozsahu os vstupním datům tak, aby všechna byla viditelná. Pokud je automatická volba rozsahu os vypnutá, lze rozsah nastavit popisovačem ( ). Popsané VI se nachází v archivu příkladů pod názvem 131.vi Příklad 9 Pojďme se na závěr vrátit k příkladu VI, ze stránky 10. Tehdy si měl čtenář povšimnout, že blokový diagram se skládá z určitých objektů spojených barevnými čárami. Na obrázku vidíme opět jeho blokový diagram. Obrázek 2.11: Ukázkové VI Po spuštění proběhne tělo cyklu FOR a to stopadesátkrát. Na jeho výstupních tunelech se seřazují dvě pole. Horní pole X obsahuje celá čísla mezi 0 a 149. Ve spodním poli Y reálných čísel jsou obsaženy funkční hodnoty odpovídající X n kde n je malé náhodné číslo. Tato část VI má simulovat načítání experimentálních dat. Obdržená závislost je vykreslena v grafu Vstupní data.

48 40 KAPITOLA 2. PŘÍKLADY Nyní se těmito vstupními daty proloží aproximační polynom 2. stupně. Tuto funkci plní Functions Mathematics Curve fitting - General Polynomial Fit. Jeho výstupem je také pole, avšak pole koeficientů nalezeného aproximačního polynomu. Při tom koeficient na pozici nula tohoto pole odpovídá nulté mocnině proměnné aproximačního polynomu a tak analogicky dále. Nyní je třeba převést toto pole koeficientů do běžného algebraického způsobu zápisu polynomu. To prakticky znamená ke všem koeficientům zleva přidat levou závorku ( a zprava přidat řetězec )$\rightarrow$x^n+, kde n odpovídá indexu koeficientu v poli koeficientů. Tak vznikne polynom proměnné x. Ten se jednak vypíše na čelním panelu v objektu Controls String & Path - String Indicator, kterému odpovídá v blokovém diagramu terminál Formule, jednak je předán na vstup uzlu Functions Mathematics Calculus - Differentiation.vi. Differentiation.vi provede zderivování vstupního polynomu (napsat vlastní VI pro derivaci polynomu je jistě vhodný námět k samostatnému experimentování čtenáře) a spočte 100 funkčních hodnot původního i zderivovaného polynomu. Těchto 100 hodnot je rovnoměrně rozloženo v intervalu daném rozsahem původního datového souboru. Interval daný rozsahem původního datového souboru je určen jako interval mezi minimální a maximální hodnotou v poli X. Výpočet minimální a maximální hodnoty v poli provádí uzel Functions Array Array Max & Min. Obě pole výstupních hodnot uzlu Differentiation.vi jsou na závěr vyneseny do grafů Funkce F a Funkce G. Popsané VI se nachází v archivu příkladů pod názvem 002.vi.

49 Kapitola 3 Vybrané periferie PC 3.1 Zvuková karta Zvuková karta je v podstatě zařízení pro zpracování signálu jehož charakteristikou je proměnlivá hodnota elektrického napětí v čase. Zvukové karty, kterými se dnes běžně osazují osobní počítače, mají velmi podobné vlastnosti. Příkladem dnes běžně používané zvukové karty je Sound Blaster Live! Player 1024 firmy Creative. V následující tabulce 3.1 uvedeme technické parametry této zvukové karty převzaté z [?], které lze považovat za přibližně platné pro všechny běžně používané zvukové karty. Pro měření lze využít vstup Line-In, nebo mikrofonní vstup Microphone-In, který je osazen předzesilovačem. Oba vstupy jsou stereofonní. Karta má tedy v podstatě 4 nezávislé vstupy. Maximální amplituda vstupního signálu pro jednotlivé vstupy je uvedena v tabulce 3.1. Minimální frekvence vstupního signálu je dána horní pásmovou propustí, která je realizována kondenzátorem. Kondenzátor je sériově předřazen vstupnímu zesilovači. Zabraňuje průniku stejnosměrné složky signálu na vstup zesilovače a nízké frekvence potlačuje (viz např. [10], kap. 9). Maximální frekvence signálu zpracovatelného zvukovou kartou je dána maximální vzorkovací frekvencí karty a platností tzv. Nyquistova teorému 1 (viz např. [11], str. 114., nebo [7], str ), podle něhož musí být vzorkovací frekvence alespoň dvakrát vyšší, než nejvyšší harmonická složka zastoupená v měřeném signálu. Zvuková karta se velmi dobře hodí ke zpracování signálu jehož nejnižší harmonická složka má frekvenci alespoň 10 Hz a jehož nejvyšší harmonická složka má frekvenci nižší, než 22 khz. Obrázek 3.1: Konektor Jack 3,5 mm. Vstupy Line-IN a Microphone-IN i výstup Line-OUT jsou osazeny zdířkami pro konektor Jack o průměru 3,5 mm (tzv. malý Jack) viz obr Konektor lze schematicky znázornit jako ====##### G R L>. Aktivní plošky konektoru jsou tvořeny kovovými prstenci které 1 Někdy též Shannonův - Kotělnikovův teorém. 41

50 42 KAPITOLA 3. VYBRANÉ PERIFERIE PC Karta je vybavena 16 bitovým AD/DA převodníkem. Vstupní vzorkovací frekvence je volitelná. Přípustné hodnoty jsou: 8,0 khz, 11,025 khz, 16,0 khz, 22,05 khz, 24,0 khz, 32,0 khz a 44,1 khz. Výstupní vzorkovací frekvence je plynule nastavitelná v intervalu 8 khz - 48 khz. Pokud není aktivní interní předzesilovač, činí maximální amplituda vstupního signálu pro mikrofonní vstup 0,2 V. Vstupní impedance mikrofonního vstupu: 5,0 kω. Maximální amplituda vstupního signálu pro vstup Line-In: 2 V. Vstupní impedance vstupu Line-In: 10,0 kω. Maximální amplituda výstupního signálu: 2 V. Odstup signálu od šumu: 94 db. Celkové harmonické zkreslení 0.006%. Tabulka 3.1: Technické parametry zvukové karty Sound Blaster Live! Player 1024 ve schematickém znázornění odpovídají písmenům G, R a L. Ploška G představuje společnou zem pro pravý kanál (R) a levý kanál (L). Monofonní varianta tohoto konektoru má oblasti G a R spojeny v jedinou, která pak vystupuje v roli země a k prstenci L je přiveden jediný signálový vodič. Vstup pravého kanálu je takto zkratován. Pro čtení ze zvukové karty v LabVIEW slouží uzly z palety Functions Graphics & Sound Sound. Stejně jako při práci s jinými prostředky operačního systému, probíhá komunikace se zvukovou kartou ve třech fázích: Nejprve je nutno zvukovou kartu otevřít, to znamená vyhradit si ji pro použití ve své aplikaci a nastavit některé parametry. S otevřenou zvukovou kartou lze dále pracovat, tedy z ní číst, nebo do ní zapisovat data. Třetí fáze spočívá v uzavření karty. Tehdy se zřekneme práva práce s kartou a uvolníme ji pro použití ostatním aplikacím 2. Pro otevření zvukové karty slouží uzel Functions Graphics & Sound Sound Sound Input - SI Config. K terminálu Device (0) je nutno přivést pořadové číslo zvukové karty v systému. Pokud je počítač vybaven jedinou zvukovou kartou, odpovídá jí hodnota 0. Tato hodnota je implicitní, takže terminál Device může v tomto případě zůstat nezapojen. Pořadové číslo zvukové karty generuje LabVIEW. Obvykle nebývá v PC tolik zvukových karet, aby nebylo možné správnou hodnotu určit zkoušením. K terminálu Sound Format je nutno přivést Cluster obsahující nastavení vzorkovací frekvence, nastavení provozního režimu (mono/stereo) a počet bitů využitelných pro AD/DA převod (8/16). Pokud chceme tyto hodnoty nastavovat během VI na čelním panelu aplikace, připojíme k terminálu Sound Format ovládací prvek typu Control (V menu pod pravým tlačítkem myši zvolíme Create Control), jinak stačí obdobným způsobem vytvořit konstantu. Pokud aktuální nastavení překračuje možnosti konkrétní zvukové karty, objeví se během VI na terminálu Error Out Chybové hlášení, odkud snadno určíme o jakou chybu se jedná. Během ladění VI je tedy vhodné mít k terminálu Error Out připojen Indicator. Uzel SI Config produkuje referenční číslo (Refnum) pomocí kterého se na zvukovou kartu budeme v dalším odkazovat. Nakonec je vhodné nastavit Buffer Size, což je délka pole které bude v rámci jednoho čtení vyprodukováno uzlem 2 Obvykle může číst ze zvukové karty více aplikací zároveň

51 3.1. ZVUKOVÁ KARTA 43 SI Read. Implicitní hodnotu 8192 však obvykle není nutno měnit. Čtení ze zvukové karty realizujeme uzly SI Start, SI Read a SI Stop. Všechny nalezneme na paletě Functions Graphics & Sound Sound Sound Input.Uzlem SI Start odstartujeme čtení. Stačí k němu přivést RefNum od SI Config. Uzel SI Read zajišťuje vlastní čtení. Má 4 výstupní terminály pro data. Jen jeden z nich je však aktivní v závislosti na nastavení parametrů čtení uzlem SI Config. Například pokud chceme číst v režimu mono a k AD převodu využít 8 bitů, musíme přečtená data odebírat z terminálu mono 8-bit. Takto obdržíme pole čísel Unsigned Byte délky Buffer Size, tedy implicitně 8192 čísel. Po skončení čtení uzlem SI Read musí být proveden uzel SI Stop, který ukončí čtení. Pro uzavření zvukové karty použijeme uzel SI Clear. Jediným povinným vstupem pro tento uzel je RefNum odkazující na zvukovou kartu, s níž jsme pracovali. Pokud chceme ze zvukové karty číst průběžně a cyklicky, uzavřeme uzel SI Read do cyklu. Pokud chceme ze zvukové karty číst sice cyklicky, avšak spokojíme se např. s jedním vzorkem délky Buffer Size za N sekund, uzavřeme do cyklu uzly SI Start, SI Read a SI Stop a dále do cyklu vložíme uzel Functions Time & Dialog - Wait Until Next ms Multiple u něhož nastavíme příslušný počet milisekund čekání. Zápis do zvukové karty probíhá naprosto analogicky ke čtení, pouze využíváme uzly z palety Functions Graphics & Sound Sound Sound Output. Příklad zápisu do zvukové karty je uveden mezi ukázkovými programy dodávanými s LabVIEW. Současné čtení a zápis umožňují pouze zvukové karty schopné pracovat v tzv. Full Duplex režimu. Zvuková karta Sound Blaster Live! Player 1024 je schopná v tomto režimu pracovat. Na čtení ze zvukové karty má vliv nastavení hlasitosti nahrávání v systému. V OS Windows ji lze nastavit např. aplikací Play Control, která je v oddílu System Tray lišty Windows dostupná klepnutím na ikonu ( ). Nastavení hlasitosti nahrávání se provede volbou Možnosti Vlastnosti v hlavním menu a dále zaškrtnutím políčka Záznam. V sekci Mikrofon je dále možno zapnout nebo vypnout předzesilovač na mikrofonním vstupu, pokud zvuková karta umožňuje toto nastavení. Při 8 bitovém AD převodu lze úroveň vstupního signálu zakódovat do 2 8 čísel, tj. do 256 různých čísel. Citlivost zvukové karty tedy v tomto případě činí 1, 5/2 8. = 5mV. Při tom předpokládáme, že amplituda vstupního signálu činí 1,5 V. Amplituda vstupního signálu sice podle tabulky 3.1 může na vstupu Line-IN činit až 2 V, avšak hodnota již o málo vyšší způsobí přebuzení vstupního zesilovače a proto je vhodné počítat s jistou rezervou. Maximální amplituda bude tedy při osmibitovém AD převodu kódována číslem 255, při šestnáctibitovém AD převodu číslem Nejjednodušší VI pro čtení ze zvukové karty Nejjednodušší VI pro přečtení jednoho vzorku ze zvukové karty má přesně strukturu popsanou v předchozím textu. Všechny uzly přistupující ke zvukové kartě jsou propojeny hranou RefNum, která přenáší identifikátor odkazující na zvukovou kartu se kterou pracujeme. K ter-

52 44 KAPITOLA 3. VYBRANÉ PERIFERIE PC minálu Error OUT uzlu SI Config je připojen Indicator, ve kterém se na čelním panelu objeví popis eventuální chyby. Samozřejmě, bylo by možné propojit všechny uzly pracující se zvukovou kartou hranou Error a indikátor chybového hlášení připojit až nakonec. Vznik chyby mino inicializační část VI však nebudeme předpokládat. Vzorkovací frekvence je v tomto případě nastavena na Hz, číst se bude v režimu mono, tedy jen z levého kanálu a pro AD převod bude využito 8 bitů. Buffer Size je nastavena na implicitních 8192, takže doba odběru vzorku bude činit (1/11025) 8192 =. 0, 7s. Výstupem uzlu SI Read je jednorozměrné pole s prvky typu Unsigned Byte, které odebíráme z terminálu mono 8-bit uzlu SI Read. Terminálu mono 8-bit ( ) můžeme dát v blokovém diagramu podobu grafu Controls Graph - Waveform Graph a ve výsledku pak uvidíme časový průběh vstupního signálu. Samozřejmě, jednotkou na ose x bude jeden z 8192 odečtů. Uvedené nastavení klade nejmenší nároky na zvukovou kartu, takže toto VI by mělo fungovat prakticky s libovolnou zvukovou kartou. Obrázek 3.2: Nejjednodušší VI pro čtení ze zvukové karty Blokový diagram popsaného VI je uveden na obr. 3.2, kompletní VI nalezne čtenář v archivu příkladů pod názvem 012.vi VI pro fourierovu transformaci akustického signálu Následující VI čte signál přivedený na vstup zvukové karty např. z mikrofonu, provádí jeho rychlou fourierovu transformaci (FFT) a výsledek vykresluje do grafu. Výpočet FFT je natolik rychlý, že vykreslování probíhá v reálném čase. Výsledný graf je tedy animovaný. V podstatě jde jen o drobnou modifikaci předchozího příkladu. Čtení ze zvukové karty však probíhá opakovaně. Uzel SI Read je spolu s dalšími funkcemi uzavřen v cyklu WHILE, který má probíhat neustále. VI lze tedy ukončit jedině tlačítkem Abort Execution ( ) nebo ekvivalentní klávesovou zkratkou (Ctrl-.). Uzel Functions Waveform - Build Waveform přidá k jednorozměrnému poli čísel které je výstupem z SI Read informaci o časové prodlevě dt mezi jednotlivými měřeními ze kterých se vzorek skládá. Prodleva dt je reciprokou hodnotou vzorkovací frekvence. Počáteční čas měření je nepodstatný, proto t 0 = 0. Vzniklá data typu Waveform představují závislost elektrického napětí na čase. Tato závislost je vykreslena v grafu Vstupní signál na čelním panelu VI. Tento graf je v blokovém diagramu reprezentován uzlem Vstupní signál. Výpočet FFT zajišťuje uzel Functions Waveform Waveform Measurements - FFT Spectrum (Mag-Phase).vi. Jeho výstupem jsou data reprezentující závislost amplitudy na frekvenci vstupního signálu. Tato závislost je vykreslena v grafu FFT na čelním panelu. Tomuto

53 3.2. SÉRIOVÝ PORT 45 Obrázek 3.3: VI pro FFT signálu ze zvukové karty grafu odpovídá v blokovém diagramu uzel FFT. Zbývající uzly A, B, C, D, E a uzel Negate slouží ve spojení s příslušnými objekty čelního panelu k nastavení os v grafech na čelním panelu. Na funkci VI nemají v principu žádný vliv. Bez problému je lze z blokového diagramu smazat. Mechanizmem nastavení os u grafů se zde nebudeme podrobněji zabývat, nicméně čtenář si VI s blokovým diagramem z obrázku 3.3 může vyzkoušet a jejich funkci jistě rychle pochopí. VI je uloženo v adresáři zvuk_fft archivu příkladů pod názvem analyza_zvuku.vi. Soubory graf1.ctl a graf2.ctl nacházející se taktéž ve zmíněném adresáři definují vzhled grafů na čelním panelu VI. 3.2 Sériový port Každý osobní počítač je zpravidla vybaven alespoň dvěma sériovými porty RS Původně byl sériový port (SP) navržen pro komunikaci PC s modemem. V současné době se hojně využívá také pro komunikaci PC s růrnými periferními zařízeními, jako je např. sériová myš nebo různé laboratorní měřicí přístroje. Jde o relativně jednoduché, levné a spolehlivé zařízení. Nevýhodou je poměrně nízká rychlost komunikace přes SP. Data jsou přenášena po jednotlivých znacích sekvenčně po datové lince. Představme si dvě zařízení komunikující přes SP, např. dva počítače. Tato zařízení jsou vzájemně propojena dvěma sériovými datovými linkami, pro každý směr jednou a společnou signálovou zemí. Kromě toho mohou být tato zařízení propojena až čtyřmi dalšími řídicími linkami, dvěma v každém směru pro potvrzování správnosti probíhající komunikace, resp. pro její řízení. V podstatě však lze realizovat sériovou komunikaci i bez využití těchto řídicích linek. Pro vzájemnou obousměrnou komunikaci dvou zařízení po sériové lince je tedy třeba propojit je alespoň třemi vodiči. Pro jednosměrnou komunikaci postačí dva vodiče. Délka vedení mezi dvěma zařízeními komunikujícími po sériové lince by neměla přesáhnout 15 m. SP je odolný proti zkratu na jednotlivých linkách. Zařízení připojená přes SP lze připojo- 3 Recommended Standard

54 46 KAPITOLA 3. VYBRANÉ PERIFERIE PC vat a odpojovat za chodu počítače. SP je schopen dodat do připojeného zařízení proud až 10 ma, který lze odebírat z některé řídicí linky. Tímto způsobem je napájena např. elektronika sériové myši. Obrázek 3.4: Konektory Cannon Fyzicky je SP realizován konektorem Cannon s 25 kontakty, nebo týmž typem konektoru s 9 kontakty, viz obr Jednotlivé linky jsou vyvedeny na kontakty konektoru. Kontakty jsou očíslovány. Čísla bývají na většině konektorů skutečně viditelná. Oba konektory existují v provedení s kolíky a s dutinkami. Tato dvě provedení jsou vzájemnými protikusy. SP je na PC realizován konektorem v provedení s kolíky. Následující tabulka 3.2 uvádí význam kontaktů s příslušným číslem u konektoru s 9 i 25 kontakty. K25 K9 I/O Označení Název Funkce 2 3 Výstup TxD Transmit Data Datová linka 4 7 Výstup RTS Request to Send Řídicí linka 20 4 Výstup DTR Data Terminal Ready Řídicí linka 3 2 Vstup RxD Receive Data Datová linka 5 8 Vstup CTS Clear to Send Řídicí linka 6 6 Vstup DSR Data Set Ready Řidicí linka 8 1 Vstup DCD Data Carrier Detect Řídicí linka 22 9 Vstup RI Ring Indicator Řídicí linka GND Ground Signálová zem Tabulka 3.2: Význam jednotlivých linek sériového rozhraní Symboly v záhlaví tabulky 3.2 mají následující význam: K25 vyjadřuje číslo kontaktu na konektoru Cannon s 25 kontakty. K9 vyjadřuje číslo kontaktu na konektoru Cannon s 9 kontakty. I/O vyjadřuje, zda jde o vstupní, nebo o výstupní linku. Název obvykle vychází ze specifické funkce, kterou má daná linka při komunikaci s modemem. První dva sloupce tabulky 3.2 lze také chápat jako popis redukce mezi oběma konektory. Logická úroveň 1 je reprezentována napětím i 1 ( 3V, 15V ), logická úroveň 0 pak napětím i 0 (+3V, +15V ). Napětí i ( 3V, +3V ) nepřísluší žádné logické hodnotě. Vstupní

55 3.2. SÉRIOVÝ PORT 47 odpor vstupů činí přibližně 10kΩ Základní pojmy Pro pochopení funkce SP je nutné seznámit se alespoň s následujícími základními pojmy: Character Frame: Data jsou posílána v tzv. rámcích (Character frames). Každý rámec obsahuje datové bity a řídicí bity. Uvnitř jednoho rámce se zpravidla přenáší jeden znak. Znak je zakódován v určitém počtu datových bitů, Data bits. Start Bit uvozuje začátek rámce. Je to řídicí bit reprezentovaný hodnotou log. 0. Klidový stav datové linky TxD je log. 1, tedy záporná hodnota napětí. Rámec je tedy uvozen kladným napěťovým pulzem. Baud Rate je rychlost přenosu dat mezi komunikujícími zařízeními. Baud rate odpovídá celkovému počtu bitů přenesených za 1 sekundu, datových i řídicích. Baud rate lze obvykle nastavit na hodnotu 300, 600, 1200, 1800, 2400, 3600, 4800, 7200, 9600, 14400, 19200, 28800, a Některé adaptéry umožňují nastavit i vyšší hodnotu je nejobvyklejší hodnota pro většinu přístrojů. Data Bits: Počet datových bitů uvnitř jednoho rámce. Datové bity jsou uvnitř rámce přenášeny ihned po start bitu. Jsou kódovány obráceně 4 a přenášeny pozpátku. Jako první je přenesen nejméně významný bit (Least Significant Bit), totiž ten, který odpovídá nulté mocnině dvou v binární reprezentaci přenášeného znaku. Jako poslední je přenesen nejvýznamnější bit (Most Significant Bit). Parity Bit může ale nemusí následovat po Datových bitech. Je to řídicí bit. Má kontrolní význam. Vysílající i přijímající zařízení jsou předem dohodnuta, zda parita bude sudá (EVEN parity), nebo lichá (ODD parity). Vysílající zařízení pak nastavuje paritní bit tak, aby celkový počet logických jedniček v datových bitech a v paritním bitu byl sudý, resp. lichý. přijímající zařízení paritu kontroluje. Stop bits: Počet stop bitů. Jsou to řídicí bity. Uvnitř rámce bezprostředně následují po datových bitech nebo po paritním bitu, pokud je přítomen. Počet stop bitů je nastavitelný na hodnotu 1; 1,5 a 2. Stop bity jsou vždy reprezentovány zápornou hodnotou napětí, tedy logickou jedničkou Využití sériového portu Sériový port lze využít několika způsoby: V nejjednodušším případě vystačíme s výstupními linkamu DTR a RTS, kterými budeme ovládat nějaké velmi jednoduché zařízení. Mezi tyto linky a signálovou zem lze např. připojit luminiscenční diody (LED) s předřadným odporem (cca 1kΩ). Ovládáním těchto linek lze diody rozsvěcet a zhasínat. Analogicky lze použít vstupní řídicí linky pro čtení. Dále lze pomocí sériového portu realizovat datovou komunikaci s nějakým kompatibilním zařízením. K potvrzování správnosti průběhu komunikace (Handshaking) lze využít i řídicí 4 viz kódování logických hodnot

56 48 KAPITOLA 3. VYBRANÉ PERIFERIE PC linky. Buďto je lze přímo ovládat, nebo lze jejich ovládání přenechat na obvodu UART, který SP řídí. V druhém případě je pro programátora ovládání řídicích linek skryto, funguje na pozadí Ovládání sériového rozhraní z LabVIEW V LabVIEW existuje několik různých cest jak realizovat sériovou komunikaci. V paletě Functions Instrument I/O Serial nalezneme uzly pro komunikaci se sériovým portem. Jde o tzv. old fashion uzly. Jejich používání se v současné době již nedoporučuje. V paletě jsou přítomny pro zajištění kompatibility se staršími aplikacemi. Autor měl potíže s ovládáním řídicích linek sériového portu pomocí těchto funkcí. Druhou možností je využít k ovládání portu např. knihovnu dll, která příslušné funkce exportuje. Příklad komunikace multimetru Metex přes sériový port s využitím dll knihovny vytvořené v Delphi najde čtenář v archivu příkladů v souboru metex_dll.zip. Soubor obsahuje i zdrojový kód knihovny. Zmíněný postup však nebude v tomto textu podrobněji popsán. Společnost National Instruments vyvíjí komplexní rozhraní vyšší úrovně pro ovládání periferií. Jmenuje se NI-VISA 5. V podstatě jde o sadu tzv. API 6 funkcí, které lze volat obecně téměř z libovolného programovacího jazyka a které umějí pracovat s širokou škálou různých zařízení, tedy zdaleka ne jen se sériovým portem. Existuje i rozhraní VISA pro LabVIEW, resp. pro jazyk G. Společnost National Instruments doporučuje používat toto rozhraní v nových aplikacích. Specifikaci VISA pro LabVIEW najde čtenář např. v [7], nebo v [17]. V následujícím textu se s VISA, přesněji řečeno s rozhraním VISA pro LabVIEW, seznámíme v míře postačující k realizaci komunikace s multimetrem Metex M-3680D. Sériový port je systémovým prostředkem. Abychom s ním mohli pracovat, musíme si jej vyhradit pro použití ve své aplikaci. Této fázi práce s portem říkáme otevření portu a v blokovém schématu ji bude realizovat uzel Functions Instrument I/O VISA VISA Advanced - Visa Open. VISA Open produkuje RefNum, odkaz na otevřený sériový port, který budeme předávat dalším uzlům pro práci s portem. Dále je nutno nastavit parametry komunikace, tedy rychlost komunikace Baud Rate, počet datových bitů Data Bits, počet stop bitů Stop Bits a nastavit úroveň řídicí linky RTS RTS State. K nastavení parametrů komunikace se používá uzel Functions Instrument I/O VISA VISA Advanced - Property Node. Následně můžeme do portu zapisovat znaky pomocí uzlu Functions Instrument I/O VISA - VISA Read a číst pomocí uzlu Functions Instrument I/O VISA - VISA Write. Tyto uzly je popř. vhodné uzavřít do cyklu. Nakonec práce s portem je vhodné jej uzavřít, aby k němu mohly získat přístup ostatní aplikace, pokud si to vyžádají. Uzavření portu provedeme uzlem Functions Instrument I/O VISA VISA Advanced - Visa Close. 5 National Instruments - Virtual Instruments Standard Architecture 6 Application Programming Interface

57 3.2. SÉRIOVÝ PORT Multimetr M-3860D Multimetr Metex M-3860D je univerzální digitální měřicí přístroj schopný odeslat právě změřenou veličinu přes RS-232 do PC. Obrázek 3.5: Metex M-3860D Komunikační protokol multimetru je velice jednoduchý. V podstatě jediná činnost, kterou multimetr umí přes SP provádět je poslat typ měřené veličiny, její hodnotu a jednotku. To vše v jediném čtrnáctiznakovém řetězci. Multimetr využívá při komunikaci 5 linek sériového rozhraní PC: TxD, RxD, SG, DTR a RTS. Linka TxD je využita k posílání příkazů do multimetru. Linka RxD slouží pro příjem dat z multimetru. SG je signálová zem, vůči níž jsou napětí na ostatních linkách vztažena. Zbývající řídicí linky DTR a RTS nemají žádný praktický význam, avšak linka DTR musí být během komunikace nastavena na úroveň log. 1 a linka RTS na log. úroveň log. 0, jinak sériové rozhraní multimetru nepracuje. Multimetr rozumí třem příkazům: Na příkaz D pošle právě změřenou hodnotu. Na příkaz M pošle obsah vnitřní paměti. Na příkaz C vymaže obsah vnitřní paměti. Chceme-li tedy získat právě změřenou hodnotu pošleme do multimetru příkaz CD. Multimetr vzápětí odešle čtrnáctiznakový řetězec, jehož první dva znaky identifikují měřenou veličinu, v následujících 7 znacích je zakódována hodnota měřené veličiny, předposlední 4 znaky identifikují její jednotku a poslední znak je vždy znak konce řádku. Význam jednotlivých kódů uvnitř přijatého řetězce uvádí následující tabulka 3.3. Ve sloupci Veličina jsou uvedeny všechny kódy, které se mohou vyskytnout na prvních dvou místech řetězce. Sloupec Jednotka obsahuje seznam všech kódů, které se mohou objevit na 10. až 13. pozici v řetězci. Multimetr vyžaduje nastavení parametrů portu uvedené v tabulce 3.4. Blokový diagram velmi jednoduchého VI, které realizuje čtení popsaného čtrnáctimístného řetězce z multimetru, je uveden na následujícím obrázku 3.6. Uzel Functions Instrument I/O VISA VISA Advanced - VISA Open otevře sériový port. K jeho terminálu VISA Resource Name je připojena stejnojmenná konstanta. Lze ji vytvořit klepnutím na uzel pravým tlačítkem myši a volbou Create Constant v menu, které se objeví. Hodnotu konstanty pak určíme ručičkou ( ). Budeme mít možnost vybrat si z několika voleb, podle toho která

58 50 KAPITOLA 3. VYBRANÉ PERIFERIE PC Veličina Jednotka Význam DC-AC mv, V stejnosměrné-střídavé elektrické napětí DC-AC ma, A stejnosměrný-střídavý elektrický proud OH Ohm, KOhm, MOhm elektrický odpor CA nf,uf kapacita kondenzátoru FR KHz, MHz frekvence střídavého signálu hf - test tranzistoru DI mv test diody TM C Celsiova teplota LO - logická úroveň napětí Tabulka 3.3: Kódování v řetězci odeslaném multimetrem Metex M-3860D přenosová rychlost (Baud Rate) 1200 bps počet datových bitů (Data Bits) 7 počet stop bitů (Stop Bits) 2 parita žádná Tabulka 3.4: Parametry sériového přenosu Obrázek 3.6: VI pro čtení z multimetru Metex přes RS-232 rozhraní jsou v systému právě nainstalována. ASRL1::INSTR je kód pro první sériový port, obdobně ASRL2::INSTR kóduje druhý sériový port Parametry otevřeného portu nastavíme s využitím uzlu Functions Instrument I/O VISA VISA Advanced - Property Node. Tento uzel má nastavitelný počet vstupních a výstupních terminálů, viz odstavec na straně 21. Ručičkou ( ) lze v jednotlivých políčcích Property Node nastavit požadovanou vlastnost. Každé políčko je určeno buďto pro čtení, nebo pro zápis. Tuto vlastnost nastavíme v menu pod pravým tlačítkem myši (položka Change to Read, resp. Change to Write). Vybereme tedy potřebné vlastnosti nastavíme je k zápisu a pomocí konstant jim přisoudíme hodnoty podle tabulky 3.4. V následujícím cyklu WHILE opakovaně provádíme zápis příkazu CD do portu a čtení čtrnáctiznakového řetězce z portu. K zápisu je využitý uzel Functions Instrument I/O VISA - VISA Read a ke čtení uzel Functions Instrument I/O VISA - VISA Write. Cyklus skončí jakmile uživatel klepne na tlačítko stop, jež je reprezentací stejnojmenného terminálu v blokovém diagramu. Uzlu D odpovídá v čelním panelu Controls String & Path - String Indicator, ve kterém se zobrazuje přijatý řetězec.

59 3.3. ROZHRANÍ GPIB 51 Na závěr sériový port uzavřeme uzlem Functions Instrument I/O VISA VISA Advanced - VISA Close. Připomeňme, že všechny uzly pracující s portem jsou propojeny hranou RefNum, která přenáší identifikátor sériového portu, se kterým pracujeme. VI s blokovým diagramem z obr. 3.6 je uloženo v archivu příkladů pod názvem 013.vi. 3.3 Rozhraní GPIB Rozhraní GPIB 7 je osmibitové paralelní rozhraní s přenosovou rychlostí až 1 MB/s. Umožňuje připojit až 15 zařízení. Mezi nimi mohou být i počítače. Rozhraní GPIB pro PC bývá realizováno jako zásuvná karta do rozšiřující sběrnice, obvykle do PCI, výjimečně ještě i do ISA. Propojovací kabely jsou zakončeny masivními oboustrannými konektory s 24 kontakty. Viz obr Obrázek 3.7: GPIB karta pro sběrnici ISA s oboustranným konektorem Problematika sběrnice GPIB je rozsáhlá a k pochopení principu její činnosti je třeba prostudovat vhodnou odbornou literaturu. V následujícím textu se omezíme na velmi speciální případ kdy je sběrnice využita k propojení PC a jednoho měřicího přístroje. V PC je přitom instalována pouze jediná GPIB karta. Všechna zařízení propojená sběrnicí GPIB mají přidělenu jedinečnou adresu. Adresa se skládá ze dvou částí - povinné primární adresy a volitelné sekundární adresy. Primární adresou je číslo v rozmezí 0..31, přičemž adresa 31 je určena pro speciální účel a běžně se nevyužívá. Primární adresa zařízení se kterým budeme komunikovat je jedinou informací technického 7 General Purpose Interface Bus

60 52 KAPITOLA 3. VYBRANÉ PERIFERIE PC charakteru, jejíž znalost je pro realizaci komunikace nezbytná. V LabBIEW lze realizovat komunikaci přes GPIB několika různými způsoby. Lze využít funkcí z palety Functions Instrument I/O GPIB, funkcí z palety Functions Instrument I/O GPIB GPIB 488.2, nebo funkcí VISA které již byly zmíněny v souvislosti s komunikací přes sériový port. 8 Další možností je použít originální firemní VI pro ovládání multimetru. Jsou dostupná z Functions * Instrument I/O * Instrument Drivers * HP 34401A Multimeter. Způsob použití těchto uzlů je podrobně popsán v [14] a v elektronické nápovědě LabVIEW, kde také čtenář najde demonstrační příklady. V tomto textu bude popsáno použití funkcí VISA. Navíc budou uvedeny odkazy na příklady použití i ostatních zmíněných funkcí, avšak bez komentáře. Rozhraním GPIB je vybavený například multimetr Hewlett Packard 34401A. V dalším uvedeme příklad komunikace s tímto zařízením. Po zapnutí multimetr krátce zobrazí svou primární adresu. Tu lze eventuálně změnit postupem popsaným v [4] Multimetr lze ovládat tzv. příkazy SCPI 9. Ty jsou podrobněji popsány např. v [4]. Stejně jako při komunikaci přes sériové rozhraní s využitím NI-VISA je i zde nutné zachovat popsaný postup pro manipulaci se systémovými prostředky. Rozhraní je nutno nejprve otevřít, tedy vyhradit jej pro použití ve své aplikaci. Tuto funkci plní uzel Functions Instrument IO VISA VISA Advanced - VISA Open. Tomuto uzlu je nutno předat identifikaci zařízení se kterým se má pracovat. To provedeme připojením konstanty k terminálu VISA Resource. Konstanta má v tomto případě tvar GPIB0::7::INSTR, kde 7 představuje konkrétní bázovou adresu multimetru. Uzel Functions Instrument IO VISA - VISA Clear realizuje vyprázdnění vyrovnávací paměti rozhraní. Zápis do rozhraní se provede uzlem Functions Instrument IO VISA - VISA Write, čtení z rozhraní uzlem Functions Instrument IO VISA - VISA Read. Tyto uzly je podle potřeby možno uzavřít do cyklu. Po skončení práce je vhodné rozhraní zavřít funkcí Functions Instrument IO VISA VISA Advanced - VISA Close. Mezi všemi uzly VISA je nutno předávat odkaz RefNum na konkrétní rozhraní se kterým pracujeme Jednoduchý odečet z HP34401A Zde uvedeme nejjednodušší VI které zabezpečí jednorázový odečet z multimetru HP34401A s využitím funkcí VISA. Blokový diagram VI které tento úkol zrealizuje vidíme na následujícím obrázku 3.8. Uzel VISA Open otevře GPIB rozhraní pro komunikaci s přístrojem s primární adresou 7, což je dáno konstantou přivedenou na terminál VISA Resource Name tohoto uzlu. VISA Open vyprodukuje Resource Name, které budeme předávat následujícím uzlům VISA. Uzlu VISA Write předáme jako vstupní parametr SCPI příkaz READ? a znak konce řádku, který 8 Také je samozřejmě možné přistupovat k GPIB přes procedury exportované nějakou knihovnou DLL. 9 Standard Commands for Programmable Instruments

61 3.4. UNIVERZÁLNÍ MĚŘICÍ KARTA PCI-6023E 53 Obrázek 3.8: VI pro jednorázový odečet z multimetru HP34401A vynutí poslání řetězce s právě změřenou hodnotou, příslušnou veličinou a jednotkou. Tento řetězec má délku 16 znaků. Zjistíme jej dotazem na rozhraní pomocí uzlu VISA Read. Zjištěnou hodnotu zobrazíme a ukončíme práci s rozhraním pomocí uzlu VISA Close Odkazy na další ukázková VI pro čtení z HP34401A Popsané VI najde čtenář v archivu příkladů pod názvem 110.vi. Tamtéž jsou dostupná následující ukázková VI: Jednorázový odečet z HP34401A s využitím funkcí Functions Instrument I/O GPIB v souboru 111.vi. Jednorázový odečet z HP34401A s využitím funkcí Functions Instrument I/O GPIB GPIB v souboru 112.vi. VI pro opakovaný odečet několika hodnot v přesně daných časových odstupech s následným vykreslením změřených hodnot v grafu v souborech 108.vi a 109.vi. 3.4 Univerzální měřicí karta PCI-6023E PCI-6023E je univerzální měřicí karta, která se v současnosti standardně dodává spolu se softwarovým balíkem LabVIEW Starter Kit. Měřicí karta je určena pro rozšiřující sběrnici PCI. Je vybavena kabelem a tzv. dceřinnou deskou se svorkovnicí. Technickou specifikaci karty najde čtenář v [1]. V podstatě jde o univerzální měřicí kartu s 16 analogovými vstupy a osmi digitálními vstupy a výstupy. Karta PCI-6023E není vybavena analogovými výstupy. Je osazena 12 bitovým AD převodníkem. Maximální vzorkovací frekvence činí 200 khz na analogových vstupech. Citlivost závisí na nastaveném rozsahu. V nejlepším případě pak činí 24, 41µV. Dále bude stručně popsán jeden ze způsobů přístupu k této kartě z LabVIEW pod OS Windows. Ovladač ke kartě je mezi jinými nainstalován při instalaci LabVIEW. V programu Measurement & Automation Explorer (MAX) provedeme následující nastavení: V oddíle Data Neighbourhood se vytvoří tzv. virtuální kanál. Tím se určí veličina, která má být měřena (např. elektrické napětí, elektrický odpor a pod.), rozsah měřené veličiny atd. Na tomto místě jsou také vybrány konkrétní svorky dceřinné desky na kterých bude měření provedeno. Bohužel označení svorek neodpovídá značení na dceřinné desce. Převodní tabulka mezi oběma značeními je uvedena v [1]. Nakonec se kanálu přidělí jméno pomocí něhož se na něj budeme z LabVIEW odkazovat. Přístup z LabVIEW předvedeme přímo na konkrétních příkladech. Předpokládejme, že

62 54 KAPITOLA 3. VYBRANÉ PERIFERIE PC Obrázek 3.9: PCI-6023E s kabelem a dceřinnou deskou máme vytvořen kanál Napeti v Measurement & Automation Exploreru. Z tohoto kanálu je pak možno číst s využitím uzlu Functions Data Acquistion Analog Input - Al Sample Channel.vi. Kanál zvolíme nastavením konstanty Channel kterou vytvoříme volbou Create Constant pod pravým tlačítkem nad terminálem Channel uzlu Al Sample Channel.vi. Číslo, které je výstupem tohoto uzlu je možno dále zpracovat. Na následujícím obrázku 3.10 je blokový diagram velmi jednoduchého VI pro přečtení jediné hodnoty z kanálu Napeti. Obrázek 3.10: PCI-6023E Odečet hodnoty z kanálu Napeti VI s blokovým diagramem z obrázku 3.10 je uloženo v archivu příkladů pod názvem 102.vi. Druhé ukázkové VI realizuje načtení vzorku ze zvolených dvou kanálů kanálu. Blokový diagram tohoto VI znázorňuje obrázek Předpokládejme, že existují pojmenované kanály Napeti a Napeti2 na nichž lze měřit elektrické napětí. Všechny uzly, které budeme pro práci s kanály potřebovat se nacházejí na paletě Functions Data Acquistion Analog Input. Nastavení vzorkovací frekvence a počtu jednotlivých měření, ze kterých se budou vzorky skládat se realizuje vhodným nastavením konstant scan rate a number of scans to acquire, které jsou připojeny k odpovídajícím terminálům uzlu Al Start.vi. Samotný odečet pak vykoná uzel Al Read.vi,

63 3.5. UNIVERZÁLNÍ MĚŘICÍ KARTA PCL-818L 55 Obrázek 3.11: PCI-6023E Odečet vzorku z více kanálů který vyprodukuje pole složené z položek typu waveform. Jejich počet je dán počtem kanálů na kterých se měří. VI s blokovým diagramem z obr dále určí frekvenci převažující v jednotlivých vzorcích a nakonec vykreslí graf, kde na souřadnicové osy vynese data z jednoho a druhéh kanálu. VI je původně určeno ke kreslení Lissajoussových obrazců. VI s blokovým diagramem z obrázku 3.11 se nachází v archivu příkladů pod názvem 101.vi. 3.5 Univerzální měřicí karta PCL-818L Na základě této univerzální měřicí karty je postavena známá měřicí souprava ISES Professional. 10 Souprava ISES se však dodává i s jinými měřicími deskami, zejména firmy Axiom. Dále bude popsán případ soupravy ISES Professional založené na měřicí kartě Advantech PCL 818L. Standardní dceřinná deska je nahrazena komfortní svorkovnicí ke které lze navíc připojovat různé měřicí moduly, jako např. voltmetr, ampérmetr, optickou závoru, mikrofon a další. Měřicí karta PCL 818L je vybavena 16 analogovými vstupy, z nichž 8 je vyvedeno na svorkovnici soupravy ISES Professional a stejným počtem analogových výstupů. Maximální vzorkovací frekvence činí 40 khz. Karta je vybavena 12 bitovým AD převodníkem. Technická specifikace měřicí karty je dostupná na webových stránkách firmy Advantech. Pro přístup k PCL 818 z LabVIEW je nutno nejdříve nainstalovat tzv. DLL Driver pro tuto měřicí kartu a poté rozhraní pro LabVIEW, tzv. LabVIEW Driver. Oba ovladače jsou zdarma dostupné na webových stránkách firmy Advantech. Postup instalace driverů je popsán v návodu který je k ovladačům přiložen a také v [15]. Po korektní instalaci ovladačů se v paletě Functions objeví nová položka User Libraries Advance. Zde se nacházejí uzly pro práci s měřicí deskou. Nejjednodušší aplikace pro jednorázový odečet z jednoho kanálu soupravy ISES realizuje VI, jehož blokový diagram je uveden na obrázku Intelligent School Experimental System

64 56 KAPITOLA 3. VYBRANÉ PERIFERIE PC Obrázek 3.12: ISES Professional - měřicí karta, svorkovnice a některé měřicí moduly Obrázek 3.13: VI pro jednorázový odečet hodnoty z jednoho kanálu soupravy ISES Professional Společně s ovladačem pro LabVIEW se dodává dokumentace, kde je použití jednotlivých uzlů pracujících s kartou podrobně popsáno. V této dokumentaci je popsáno jakým způsobem mají být konkrétní uzly řazeny aby se dosáhlo kýženého cíle. Podrobný popis funkce jednotlivých uzlů však v této dokumentaci obsažen není. V příkladu z obr se odečet provádí cyklicky, avšak časová prodleva mezi jednotlivými měřeními závisí na výkonu systému a není konstantní. Pro využití vyšších vzorkovacích frekvencí je třeba využít přístupu DMA, nebo IRQ. Použití těchto technik je v dokumentaci k ovladači taktéž popsáno. VI s blokovým diagramem z obrázku eikutrhmfce je uloženo v archivu příkladů pod názvem 104.vi. V archivu příkladů je dále dostupné VI pro jednorázový odečet z více analogových vstupů pod názvem 107.vi a VI pro načtení vzorku s danými parametry s využitím přístupu DMA pod názvem 105.vi. Posledně zmíněné VI však nelze použít v OS typu Windows NT.

65 3.5. UNIVERZÁLNÍ MĚŘICÍ KARTA PCL-818L 57

66 Kapitola 4 Precese setrvačníku V této kapitole se budeme zabývat konkrétním měřením s využitím dříve popsaných postupů. Zrealizujeme přípravu k demonstraci precesního pohybu těžkého setrvačníku Teoretický základ Setrvačníkem rozumějme osově symetrické homogenní tuhé tělěso, které má v laboratorní vztažné soustavě zafixován právě jeden bod. Tento bod leží na ose symetrie setrvačníku, avšak mimo jeho hmotný střed. Laboratorní vztažnou soustavu považujme za inerciální. Moment setrvačnosti J vzhledem k ose symetrie setrvačníku je výrazně větší, než moment setrvačnosti vzhledem k osám kolmým k ose symetrie. Takový setrvačník pohybující se v homogenním tíhovém poli se obvykle v literatuře označuje za těžký setrvačník. Obrázek 4.1: Těžký setrvačník (nákres převzat z [3]) Pokud setrvačník roztočený kolem své osy upevníme v bodě O tak, že osa setrvačníku svírá se svislicí úhel α (viz obr. 4.1), pak tíha setrvačníku spolu s reakcí závěsu v bodě O 58

67 59 dává dvojici sil, jejíž moment M je kolmý k ose rotace, leží ve vodorovné rovině procházející bodem O a snaží se osu rotace setrvačníku sklonit dolů. Analytický výpočet reakce těžkého setrvačníku na toto vnější působení je značně obtížný a lze jej provést pouze ve speciálním případě (setrvačník S. Kovalevské, viz např. [2], str. 87). V následujícím textu bude odvozeno zjednodušené řešení vycházející z předpokladu, že vlastní rotace setrvačníku je velmi rychlá a že dvojice vnějších sil M je slabá. V tomto případě se směr osy rotace setrvačníku mění přibližně stejně, jako směr vektoru momentu hybnosti setrvačníku. Podle druhé impulzové věty (4.1) je časová změna momentu hybnosti L tuhého tělesa vzhledem k určitému pevnému bodu rovna úhrnnému momentu vnějších sil M které na těleso působí vzhledem k témuž bodu. d L dt = M (4.1) Setrvačník se otáčí kolem volné osy úhlovou rychlostí ω a proto mu přísluší moment setrvačnosti L = J ω. Podle druhé impulzové věty (4.1) se vlivem momentu M mění směr vektoru L v prostoru. Se zřetelem k výše uvedenému zjednodušujícímu předpokladu platí (4.2) M. = J d ω dt (4.2) Vektor d ω má shodný směr s vektorem M, kolmý ke svislé rovině proložené okamžitou polohou osy rotace setrvačníku. Tato rovina se tedy za čas dt pootočí o elementární úhel dϕ kolem svislé osy závěsu setrvačníku OV, viz obr Zároveň se však o stejný úhel pootočí také vektor M dvojice vnějších sil. Osa setrvačníku se tedy nepoddá působení silové dvojice M a nesklopí se dolů, jak bychom snad očekávali, nýbrž opisuje tzv. precesní kužel. Z obrázku je vidět, že dω = rdϕ = ω sin α dϕ, vektorově d ω = d ϕ ω. Odtud plyne vztah 4.3 M =. d ϕ ω J dt = J( Ω ω) (4.3) neboť Ω = d ϕ/dt. Označíme-li l vzdálenost hmotného středu setrvačníku T od bodu O v němž je osa setrvačníku fixovaná, platí pro velikost vektoru M následující vztah 4.4. M = mgl sin α (4.4)

68 60 KAPITOLA 4. PRECESE SETRVAČNÍKU Z rovnice 4.3 plyne, že M. = JΩω sin α. Odtud srovnáním s 4.4 obdržíme vzájemnou závislost velikosti úhlové rychlosti precese Ω a velikosti úhlové rychlosti setrvačníku ω (4.5), kde nevystupuje úhel α sklonění osy rotace setrvačníku vůči svislici. Ω. = mgl Jω (4.5) Podle 4.5 s klesající velikostí úhlové rychlost setrvačníku ω roste velikost úhlové rychlosti precese Ω. Zlogaritmováním vztahu 4.5 obdržíme rovnici přímky v proměné ln ω. ln Ω. = ln ω + ln mgl J (4.6) Technická realizace Naším cílem nyní bude kvalitativně vyšetřit precesní pohyb setrvačníku. Provedeme měření, jehož výstupem bude časový průběh rychlosti vlastních otáček setrvačníku ω(t) a časový průběh rychlosti precesního pohybu Ω(t) a ukážeme, že obě veličiny jsou svázány vztahem (4.5), resp. (4.6). Následující obrázek 4.2 znázorňuje uspořádání experimentálního zařízení. Precesní pohyb je v tomto uspořádání velmi pomalý, jedna otáčka za několik sekund. Naprotitomu vlastní rotace setrvačníku je poměrně rychlá, stovky otáček za sekundu. Snímání precesního pohybu se realizuje upravenou sériovou myší. Závěs setrvačníku je upevněn v ložisku a mechanicky spojen s jedním ze dvou otáčivých senzorů. kterými je myš vybavena. Vlastní rotace setrvačníku je snímána nepřímo. Na setrvačníku je upevněn magnet, resp. dva souhlasně orientované magnety 1, takže setrvačník ve svém okolí vytváří během rotace časově proměnné magnetické pole. V blízkosti setrvačníku je umístěna cívka (cca 600 závitů, φ. = 15cm) v jejichž závitech vzniká podle zákona elektromagnetické indukce časově proměnné elektrické napětí. Časový průběh napětí indukovaného v závitech cívky je periodický s periodou rovnající se době jedné otáčky setrvačníku. Amplituda výstupního signálu závisí na úhlu α sklonění osy setrvačníku vůči svislici pouze nepatrně, což je výhodné. Signál z cívky je přivedený na mikrofonní vstup zvukové karty a dále zpracován. Počítačové zpracování obou signálů je realizováno jedinou aplikací vytvořenou v Lab- VIEW. 1 Jsou použity obyčejné magnety pro upevňování listů papíru na magnetickou tabuli. Ty jsou navíc opatřeny plastovými kryty, které brání úniku střepin v případě, že by magnety vlivem značných odstředivých sil praskly. Otvory v magnetech byly vyvrtány dentálním vrtáčkem s kulatou hlavou.

69 Zpracování vstupních signálů Ke snímání rychlosti precesního pohybu je použita upravená sériová myš typu Mouse Systems Mouse. Taková myš odešle při vzniku události, jako je pohyb, nebo stisk tlačítka, pětici znaků. V prvním znaku je vždy obsažena informace o stavu jednotlivých tlačítek myši, druhý znak reprezentuje informaci o změně polohy myši v pravo-levém směru a třetí znak z pětice reprezentuje informaci o změně polohy myši ve směru shora dolů. Podrobnější informace a odkazy na další zdroje nalezne čtenář v odstavci B na straně 71. První z pětice znaků odeslaných sériovou myší má ordinální hodnotu 80, 81, 82, 83, 84, 85, nebo 86 pokud je stisknuto některé ze tří tlačítek myši, nebo jejich kombinace, nebo ordinální hodnotu 87, pokud žádné tlačítko stisknuto není. Ordinální hodnota 2. a 3. znaku určuje počet jednotek posunutí v příslušném směru od posledního odeslání dat. Citlivost otáčivého senzoru sériové myši byla určena experimentálně. Zjištěná hodnota činí (71958 ± 8) 10 3 jednotek na jednu otočku. 2 K sériové myši se v tomto případě přistupuje jako k obecnému sériovému perifernímu zařízení, tedy bez využití ovladače myši, který je součástí OS. Myš je vhodné k PC připojit až po proběhnutí automatické detekce nového hardwaru, tedy až k běžícímu počítači, neboť jinak bude systém myš považovat za standardní vstupní zařízení, naváže na ni svůj ovladač a znemožní k ní přímý přístup uživatelským aplikacím 3. Signál ze zvukové karty je zpracován standardním postupem popsaným v oddíle 3.1 na straně 41. Blokový diagram VI pro načítání experimentálních dat je uveden na obrázku 4.3. Na první pohled je rozdělený na dvě autonomní části reprezentované WHILE cykly. Horní cyklus slouží k načítání úhlu precesního pootočení (označme jej ϕ), nikoliv přímo velikosti úhlové rychlosti precese Ω, přes sériové rozhraní. Ve spodním cyklu je pak realizováno načítání dat ze zvukové karty a určování rychlosti vlastních otáček setrvačníku ω. Protože je získání vzorku ze zvukové karty a následný výpočet frekvence, která ve vzorku převažuje, náročný na kapacitu procesoru, je odečet realizován pouze jednou za 2 sekundy. Snížení této hodnoty se výrazně projeví formou skoků v grafu ϕ(t). Po spuštění VI se čeká na signál pro start měření. Čekání realizuje uzel Start, v rámci kterého dojde i k nastavení parametrů komunikace. Uzel Start je samostatným VI, jehož popis a blokový diagram bude pro úplnost uveden v závěru kapitoly. Signálem pro start měření je stisk libovolného tlačítka myši upravené pro snímání precesního pohybu. Jakmile tento signál vznikne začnou probíhat oba WHILE cykly. 2 Ve víceúlohovém OS nelze zajistit přečtení všech odeslaných dat v určitém čase. Měření bylo realizováno na i686 Celeron / 333 Mhz, 32 MB RAM, OS Windows Pokud jsou k PC připojeny 2 myši před automatickou detekcí nového hardwaru, chovají se systémy typu Windows tak, že na obě myši naváží standardní ovladač. Ve výsledku si pak obě myši konkurují a lze se jimi přetahovat o kurzor. Vzniklou situaci pak lze řešit zakázánim použití jedné z myší ve správci zařízení.

70 62 KAPITOLA 4. PRECESE SETRVAČNÍKU V horním cyklu jsou průběžně vytvářena dvě pole. V horním poli (A) jsou shromažďovány časové údaje t i1 [s] jednotlivých měření a ve spodním poli (B) pak odpovídající hodnoty úhlu precesního pootočení ϕ(t i1 ) [rad]. Během načítání dat se průběžně vykresluje graf ϕ(t). (v diagramu na obr. 4.3 reprezentován terminálem PRECESE). Ve spodním cyklu dojde jednou za 2 sekundy k odebrání vzorku ze zvukové karty. Tento vzorek je následně filtrován uzlem Functions Analyze Signal Processing Filters - Elliptic Filter k odstranění rušivých frekvencí. Konkrétně jsou ve vstupním signálu potlačeny frekvence převyšující 130 Hz a frekvence nižší, než 20 Hz. Tyto rušivé frekvence se indukují ve snímací cívce vlivem rušivého magnetického pole, které je v laboratoři přítomno, jednak vznikají nedokonalostí elektroniky zvukové karty. Frekvence 50 Hz síťového elektrického rozvodu však kupodivu nepřispívá ke zhoršení kvality vstupního signálu příliš výrazně. Následně se realizuje určení nejvýraznější frekvenční složky přefiltrovaného signálu. Podobně jako v horním cyklu blokového diagramu VI, kde se shromažďují informace o úhlu precesního pootočení ϕ(t i1 ), vytváří se i v dolním cyklu dvě pole. V horním poli (C) shromažďujeme časy jednotlivých měření t i2 [s] a ve spodním poli příslušné hodnoty rychlosti vlastních otáček setrvačníku ω(t i2 ) [rad/s]. Během načítání dat se přůběžně vykresluje graf ω(t) (v diagramu na obr. 4.3 reprezentován terminálem VLASTNÍ ROTACE). Načítání vstupních hodnot je ukončeno stiskem tlačítka KONEC & ULOŽIT, které je v blokovém diagramu reprezentováno terminálem STOP. Nakonec jsou získaná data uložena do souborů, které určíme v dialogových oknech. Dialogy pro uložení do souborů jsou vyvolány v pořadí daném strukturou SEQUENCE v pravé části diagramu. Výsledkem jsou tedy dva datové soubory v nichž jsou data uspořádána v řádcích, kde na jednom řádku je vždy naměřená veličina, znak tabulátoru, příslušný čas měření a znak konce řádku. VI pro načítání vstupních dat s blokovým diagramem z obrázku 4.3 najde čtenář v archivu příkladů pod názvem 113.vi. Právě tam čtenář nalezne i nezobrazené rámy struktur SEQUENCE v blokových diagramech na výše zmíněných obrázcích Výsledky Ve VI z obr. 4.3 jsme načetli data popisující časovou závislost úhlu precesního pootočení ϕ(t) a úhlovou rychlost setrvačníku ω(t). Grafy těchto závislostí jsou pro přehlednost uvedeny v příloze A na straně 68. Výstupem zmíněné aplikace jsou dva textové soubory s daty, které lze zpracovat libovolným způsobem. Právě k tomuto účelu však byla vytvořena další aplikace LabVIEW, kterou čtenář nalezne v archivu příkladů pod názvem 115.vi. Tato aplikace umožňuje otevřít soubory s naměřenými daty, provést jejich zpracování a výsledky uložit do dalšího datového souboru. Výstupem 115.vi jsou data popisující závislost velikosti úhlové rychlosti precese Ω(t) na velikosti úhlové rychlosti setrvačníku ω(t) Blokový diagram 115.vi je uveden taktéž v příloze A. Zpracování s využitím 115.vi probíhá následujícím způsobem: Grafem časové závislosti

71 63 ϕ(t) se proloží aproximační polynom f metodou nejmenších čtverců. Vhodný stupeň aproximačního polynomu lze zvolit interaktivně. Graf aproximačního polynomu se průběžně překresluje přes graf výchozí závislosti. Současně se zobrazuje příslušná střední kvadratická odchylka, která klesá s rostoucí dokonalostí fitu. Časovou závislost velikosti úhlové rychlosti precese Ω(t) určíme zderivováním polynomu f. Nakonec se spočte 100 funkčních hodnot polynomu f, které představují velikost úhlové rychlosti precese Ω v přesně daných časech {t i3 }. Abychom získali hodnoty velikosti úhlové rychlosti setrvačníku příslušné časům {t i3 }, proložíme také grafem ω(t) aproximační polynom g analogickým způsobem. Na závěr taktéž určíme 100 funkčních hodnot polynomu g, které přísluší právě časům {t i3 }. Tím jsme obdrželi dostatečně rozsáhlý datový soubor pro vykreslení závislosti velikosti úhlové rychlosti precese na velikosti úhlové rychlosti Ω(ω). Podle teoretického modelu popsaného rovnicí 4.5 na straně 60 by měla být grafem této závislosti hyperbola, v logaritmických škálách obou os pak přímka podle rovnice 4.6. Na následujícím obrázku 4.4 vidíme graf závislosti velikosti úhlové rychlosti precese Ω na velikosti úhlové rychlosti vlastních otáček setrvačníku ω. Vykresleno je oněch 100 bodů, které přísluší časům {t i3 } Závěr Z grafu na obr. 4.4 je patrné, že setrvačník se opravdu chová podle teoretického předpokladu. Velikost úhlové rychlosti vlastních otáček setrvačníku ω klesá vlivem tření setrvačníku o vzduch a vlivem tření v ložiscích setrvačníku. Současně vzrůstá velikost úhlové rychlosti precesního pohybu Ω. Zbývá vyložit poslední jev, který je během demonstrace pokusu naprosto zjevný - osa setrvačníku se během pokusu sklápí dolů. Je třeba si uvědomit, že ložisko závěsu setrvačníku klade precesnímu pohybu nezanedbatelný odpor. Vlivem třecích sil v tomto ložisku působí na osu setrvačníku další silová dvojice M, která v podstatě způsobuje jeho precesní pohyb ve směru kolmém ke svislici směrem dolů. Sklápění osy setrvačníku dolů je tedy taktéž precesním pohybem. V důsledku této skutečnosti lze bržděním nebo urychlováním osy závěsu setrvačníku ovlivňovat úhel α sklonu osy setrvačníku vůči svislici a tím demonstraci oživit.

72 64 KAPITOLA 4. PRECESE SETRVAČNÍKU Obrázek 4.2: Uspořádání experimentálního zařízení

73 Obrázek 4.3: Blokový diagram VI pro čtení experimentálních dat 65

74 66 KAPITOLA 4. PRECESE SETRVAČNÍKU Obrázek 4.4: Graf závislosti Ω(ω), logaritmické osy

75 Literatura [1] 6023E User Manual: [On-line] Dostupné z [2] Czudková, L.: Dizertační práce, Vybrané problémy mechaniky soustav hmotných bodů a tuhého tělesa. PřF MU Brno [3] Horák, Z., Krupka, F.: Fyzika. 3. vyd. Praha: SNTL, [4] HP 34401A Multimeter, User s Guide: Hewlett Packard [5] Kainka, B., Berndt, H.: Využití rozhraní PC pod Windows: Nakladatelství HEL Ostrava, [6] Navrátil, Z.: Diplomová práce, Programové vybavení pro výuku moderních fyzikálních metod měření. PřF MU Brno Dostupné také On-line z ftp://ftp.muni.cz/pub/muni.cz/physics/education/diploma/navratil/. [7] NI-LabVIEW Measurements Manual: [On-line] Dostupné z [8] NI-LabVIEW User Manual: [On-line] Dostupné z [9] NI-VISA Programmer Reference Manual: [On-line] Dostupné z [10] Ondráček, Z.:Elektronika pro fyziky. MU Brno, [11] Pavelek, M., Štětina, J.: Experimentální metody v technice prostředí. VUTIUM Brno, [12] Poinsett D.: Serial Communication with Borland C++ Builder. [On-line] Dostupné z [13] Simandl P.: Myš PC. [On-line] Dostupné z [14] Šťastný, F.: Multimetr Hewlett Packard 34401A [On-line] Dostupné z ftp://ftp.muni.cz/pub/muni.cz/physics/education/. [15] Šťastný, F.: Ovládání ISESu Profesionál z prostředí LabVIEW. [On-line] Dostupné z ftp://ftp.muni.cz/pub/muni.cz/physics/education/. [16] Virius, M.: C++ Builder 4.0. Praha, Grada Publishing [17] VPP-4.3.3: VISA Implementation Specification for the G Language. [On-line] Dostupné z [18] Walz S.: mouse.how (zveřejněný ). Dostupné na přiloženém CD (/txt/mouse.how). 67

76 Příloha A Precese setrvačníku V této příloze jsou uvedeny některé grafy a blokové diagramy aplikací, které nebyly z důvodu přehlednosti začleněny do textu kapitoly o precesi setrvačníku. Následující grafy A.1 a A.2 znázorňují přímo naměřené veličiny ϕ(t) a ω(t). Obrázek A.1: Graf závislosti velikosti úhlu precesního pootočení na čase Obrázek A.2: Graf závislosti velikosti úhlové rychlosti setrvačníku na čase 68

77 69 Následující graf je odpovídá grafu 4.4 na straně 66 s tím, že jeho osy jsou lineární. Zobrazená závislost Ω(ω) by se měla teoreticky blížit hyperbole popsané rovnicí 4.5 na straně 60. Obrázek A.3: Graf závislosti Ω(ω), lineární osy Dále bude uveden blokový diagram 115.vi pro zpracování výstupních dat z 113.vi. a stručně popsána jeho funkce. Obrázek A.4: Blokový diagram VI pro zpracování naměřených dat VI se skládá z několika podprogramů, které v diagramu vystupují jako samostatné uzly. Uzel READ DATA, ve skutečnosti samostatné VI uložené v souboru 116.vi, slouží k načtení datových souborů, které byly vyprodukovány 113.vi. Uzel CUT (117.vi) pak z těchto dat odebere prvních pět měření, které z technických důvodů vnášejí do datového souboru chyby. Následně

78 70 PŘÍLOHA A. PRECESE SETRVAČNÍKU začne probíhat tělo WHILE cyklu v němž opakovaně probíhá zpracování naměřených dat. Uzly General Polynomial Fit prokládají oběma vstupními závislostmi aproximační polynom. Jeho výstupem je jednorozměrné pole koeficientů aproximačních polynomů. Stupně aproximačních polynomů jsou určeny terminály Stupeň polynomu 1 a Stupeň polynomu 2, které mají v čelním panelu podobu tahových potenciometrů. Uzly Coef 2 Poly převádějí pole koeficientů aproximačních polynomů na řetězce znaků, které reprezentují příslušné polynomy při obvyklé formě zápisu. Oba polynomy jsou vypsány na čelním panelu. Polynom reprezentující časovou závislost úhlu precesního pootočení je zderivován uzlem Differentiation.vi a výsledek je vykreslen v grafu Rychlost precese (Derivace fitu na úhel precesního pootočení). Následně se spočte 100 funkčních hodnot tohoto polynomum které rovnoměrně pokrývají interval naměřených hodnot. Počet funkčních hodnot je nastaven konstantou Pocet bodu. Pro polynom aproximující časovou závislost velikosti úhlové rychlosti setrvačníku ω je taktéž určeno 100 funkčních hodnot. Vzniknou dvě jednorozměrná pole s funkčními hodnotami aproximačních polynomů. Funkční hodnoty se shodným indexem v obou polích jsou vždy spočteny ze společné hodnoty (reprezentující čas). Hodnoty z obou polí jsou nakonec vyneseny na osy grafu. Tak vznikne graf hledané závislosti Ω(ω) který je vykreslen na čelním panelu ve dvou exemplářích. Poprvé s lineárními osami, podruhé s osami logaritmickými. Měnit stupně aproximačních polynomů je průběžně možné. Všechny grafy se automaticky překreslují podle aktuálního nastavení. Jakmile najdeme vhodné stupně aproximačních polynomů, ukončíme WHILE cyklus, uložíme výstupní data do textového souboru klepnutím na tlačítko SAVE & EXIT, nebo prostě VI ukončíme klepnutím na EXIT. Všechny VI zmíněné v tomto textu jsou pod uvedenými jmény dostupné v archivu příkladů.

79 Příloha B Sériová myš jako univerzální senzor pohybu Myš patří do běžné výbavy prakticky každého osobního počítače. Po drobných úpravách a eventuálně i bez nich ji lze použít také jako víceúčelový snímač posuvného a otáčivého pohybu. To může být užitečné například při demonstraci různých fyzikálních pokusů, zejména z mechaniky. Jde o levné a snadno dostupné zařízení. Optickou myš lze použít k bezdotykovému snímání posuvného pohybu. Pomocí mechanické myši lze navíc po drobné úpravě snímat pohyb otáčivý. Široké pole působnosti se nám otevírá při použití bezdrátové myši. Obrázek B.1: Senzor otáčivého pohybu 71

LabView jako programovací jazyk II

LabView jako programovací jazyk II LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function I.část - Expresní funkce, struktury, Ing. Martin Bušek, Ph.D. Paleta Functions Základní prvky pro tvorbu programu blokového

Více

tohoto systému. Můžeme propojit Mathcad s dalšími aplikacemi, jako je Excel, MATLAB, Axum, nebo dokumenty jedné aplikace navzájem.

tohoto systému. Můžeme propojit Mathcad s dalšími aplikacemi, jako je Excel, MATLAB, Axum, nebo dokumenty jedné aplikace navzájem. 83 14. (Pouze u verze Mathcad Professional) je prostředí pro přehlednou integraci a propojování aplikací a zdrojů dat. Umožní vytvořit složitý výpočtový systém a řídit tok dat mezi komponentami tohoto

Více

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247 Inovace bakalářského studijního oboru Aplikovaná chemie Reg. č.: CZ.1.07/2.2.00/15.0247 APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY s využitím LabView 7 Lab View - úvod do programovacího prostředí

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

LabView jako programovací jazyk II

LabView jako programovací jazyk II LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function II.část - Funkce Numeric, Array, Cluster Ing. Martin Bušek, Ph.D. Práce s daty typu NUMERIC Numerické funkce obsahuje funkce

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš E-mail: tomas.d@centrum.cz

aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš E-mail: tomas.d@centrum.cz aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš E-mail: tomas.d@centrum.cz Operační systém Windows - první operační systém Windows byl představen v roce

Více

GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek

GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek Projekt Využití ICT ve výuce na gymnáziích, registrační číslo projektu CZ.1.07/1.1.07/02.0030 MS Word Metodický materiál pro základní

Více

LabVIEW. Tvorba programů. Laboratory Virtual Instrument Engineering Workbench

LabVIEW. Tvorba programů.  Laboratory Virtual Instrument Engineering Workbench LabVIEW Laboratory Virtual Instrument Engineering Workbench Tvorba programů www.ni.com Spuštění LabVIEW Start» Programy» National Instruments LabVIEW Průvodní obrazovka: Umožňuje vytvoření: Nového prázdného

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého

Více

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz PŘÍRUČKA KE KURZU: ZÁKLADY PRÁCE NA PC MS WORD 2003 Gabriela Janská Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz Obsah: 1. Písmo, velikost písma, tučně, kurzíva, podtrhnout

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

Více

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student. Téma 3.2 Formuláře Formuláře usnadňují zadávání, zobrazování, upravování nebo odstraňování dat z tabulky nebo z výsledku dotazu. Do formuláře lze vybrat jen určitá pole z tabulky, která obsahuje mnoho

Více

MIDAM Simulátor Verze 1.5

MIDAM Simulátor Verze 1.5 MIDAM Simulátor Verze 1.5 Simuluje základní komunikační funkce modulů Midam 100, Midam 200, Midam 300, Midam 400, Midam 401, Midam 410, Midam 411, Midam 500, Midam 600. Umožňuje změny konfigurace, načítání

Více

STATISTICA Téma 1. Práce s datovým souborem

STATISTICA Téma 1. Práce s datovým souborem STATISTICA Téma 1. Práce s datovým souborem 1) Otevření datového souboru Program Statistika.cz otevíráme z ikony Start, nabídka Programy, podnabídka Statistika Cz 6. Ze dvou nabídnutých možností vybereme

Více

Příloha 6. Palety nástrojů

Příloha 6. Palety nástrojů Příloha 6. Palety nástrojů Palety nástrojů v IDE poskytují zkrácení pro příkazy nabídky. Příkazy jsou rozděleny do několika palet nástrojů, které mohou být nezávisle přeskupeny nebo vloženy do plovoucích

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

Tvorba prezentaci v Autodesk Inventoru 10

Tvorba prezentaci v Autodesk Inventoru 10 Tvorba prezentaci v Autodesk Inventoru 10 Příprava montážní dokumentace vyžaduje věnovat zvýšenou pozornost postupu sestavování jednotlivých strojních uzlů a detailům jednotlivých komponentů. Inventoru

Více

Pracovní prostředí Excel 2010

Pracovní prostředí Excel 2010 Zdokonalování ICT gramotnosti v rámci projektu IMPACT Pracovní prostředí Excel 2010 Inovace a modernizace studijních oborů FSpS Obsah Co je to Excel a k čemu slouží... 3 Co nabízí nová verze Excel 2010:...

Více

1. Základní pojmy, používané v tomto manuálu. 2. Stránky

1. Základní pojmy, používané v tomto manuálu. 2. Stránky Redakční systém manuál 1. Základní pojmy, používané v tomto manuálu Hlavní menu Menu v horní světlemodré liště obsahující 7 základních položek: Publikovat, Správa, Vzhled, Komentáře, Nastavení, Pluginy,

Více

František Hudek. duben ročník

František Hudek. duben ročník VY_32_INOVACE_FH12_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

Více

MS PowerPoint ZÁKLADY

MS PowerPoint ZÁKLADY MS PowerPoint ZÁKLADY UKÁZKA ŠKOLÍCÍCH MATERIÁLŮ Centrum služeb pro podnikání s.r.o. 2014, I. Verze, TP OBSAH 1. Úvod do PowerPointu... 1 2. Otevření PowerPointu... 1 3. Pracovní prostředí PowerPointu...

Více

Návod k ovládání aplikace

Návod k ovládání aplikace Návod k ovládání aplikace Tento návod se zabývá ovládáním aplikace PDF Annotation 1, která je založena na aplikaci AVP PDF Viewer a umožňuje nejen PDF dokumenty prohlížet, ale také do těchto dokumentů

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Základní vzorce a funkce v tabulkovém procesoru

Základní vzorce a funkce v tabulkovém procesoru Základní vzorce a funkce v tabulkovém procesoru Na tabulkovém programu je asi nejzajímavější práce se vzorci a funkcemi. Když jednou nastavíte, jak se mají dané údaje zpracovávat (některé buňky sečíst,

Více

MS OFFICE, POWERPOINT

MS OFFICE, POWERPOINT Škola: Autor: DUM: Vzdělávací obor: Tematický okruh: Téma: Masarykovo gymnázium Vsetín Mgr. Petr Koňařík MGV_VT_SS_1S2-D15_Z_OFF_PP.docx Informatika MS Office Powerpoint MS OFFICE, POWERPOINT ÚVOD PowerPoint

Více

Microsoft Office. Word hromadná korespondence

Microsoft Office. Word hromadná korespondence Microsoft Office Word hromadná korespondence Karel Dvořák 2011 Hromadná korespondence Hromadná korespondence je způsob, jak určitý jeden dokument propojit s tabulkou obsahující více záznamů. Tímto propojením

Více

Spuštění a ukončení databázové aplikace Access

Spuštění a ukončení databázové aplikace Access Spuštění a ukončení databázové aplikace Access Aplikaci Access spustíte tak, že vyhledáte její ikonu v nabídce "Start" a klepnete na ní. Najdete ho v Sekci Všechny programy/mircosoft Office. Po výběru

Více

Úvod do problematiky ÚPRAVY TABULKY

Úvod do problematiky ÚPRAVY TABULKY Úvod do problematiky ÚPRAVY TABULKY Zaměříme se na úpravy, které určují finální grafickou úpravu tabulky (tzv. formátování.). Měnit můžeme celou řadu vlastností a ty nejdůležitější jsou popsány v dalším

Více

Pravidla a plánování

Pravidla a plánování Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 7. května 2013

Více

Obsah 1 Struènì z historie LabVIEW...11 1.1 Vznik LabVIEW... 12 1.2 Vývoj LabVIEW... 13 2 Popis a princip vývojového prostøedí LabVIEW... 17 2.1 LabVIEW nástroj virtuální instrumentace... 18 2.2 Spuštìní

Více

Dokument a jeho části oddíly, záhlaví, zápatí

Dokument a jeho části oddíly, záhlaví, zápatí Dokument a jeho části oddíly, záhlaví, zápatí Nejčastějším úkolem bývá ukončení stránky a pokračování textu na další stránce nebo vložení stránky před napsaný text. Podobným úkolem je jiné svislé zarovnání

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. 1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Nástroje v InDesignu. Panel nástrojů 1. část. Nástroje otevřeme Okna Nástroje

Nástroje v InDesignu. Panel nástrojů 1. část. Nástroje otevřeme Okna Nástroje Nástroje v InDesignu Panel nástrojů 1. část Nástroje otevřeme Okna Nástroje Poklepem levé myši změníme panel nástrojů Nástroje v panelu nástrojů se používají k vybírání, úpravám a vytváření prvků stránek.

Více

Začínáme pracovat s tabulkovým procesorem MS Excel

Začínáme pracovat s tabulkovým procesorem MS Excel Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program

Více

8. Formátování. Úprava vzhledu tabulky

8. Formátování. Úprava vzhledu tabulky 8. Formátování Úprava vzhledu tabulky Výšku řádku nastavíme tak, že kurzorem najedeme na rozhraní mezi políčky s čísly řádků. Kurzor se změní na křížek s dvojšipkou. Stiskneme levé tlačítko a tahem myší

Více

První kroky s METEL IEC IDE

První kroky s METEL IEC IDE První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců. Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků

Více

1) Základní popis prostředí LabVIEW. čelním panelem (front panel) a blokovým diagramem ( block diagram Operate» Run

1) Základní popis prostředí LabVIEW. čelním panelem (front panel) a blokovým diagramem ( block diagram Operate» Run 1) Základní popis prostředí LabVIEW. LabVIEW je programovací prostředek pro vývoj aplikací v prostředí MS WINDOWS, podobně jako celá řada jiných komerčních programů. Zatímco ostatní programovací systémy

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5 Excel - databáze Opakování Soubor, který jsme upravovali Podklady pro výpočty Upravený soubor B6=B4*B5 H4=SUMA(B4:G4) I4 =PRŮMĚR(B4:G4) B7= B6*$M$4 B10 =B6-B7-B8-B9 B13=KDYŽ(C4>=450;"přes";KDYŽ(C4>=380;

Více

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého

Více

MS OFFICE MS WORD. Editor rovnic - instalace

MS OFFICE MS WORD. Editor rovnic - instalace MS OFFICE Může se zdát, že užití kancelářského balíku MS Office při výuce fyziky nepřesahuje běžné aplikace a standardní funkce, jak jsou popsány v mnoha příručkách ke všem jednotlivým částem tohoto balíku.

Více

Vývojové prostředí,průvodce novou aplikací

Vývojové prostředí,průvodce novou aplikací Vývojové prostředí,průvodce novou aplikací Realizace praktických úloh zaměřených na dovednosti v oblastech: Vývojové prostředí programu Control Web 2000 Vytvoření jednoduchého technologického schéma pomocí

Více

František Hudek. duben ročník

František Hudek. duben ročník VY_32_INOVACE_FH09_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

Více

Použití filtrů v Museionu

Použití filtrů v Museionu Příručka uživatele systému Museion Použití filtrů v Museionu uživatele systému Museion Autorská práva Copyright 2012-2015 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými

Více

Excel 2007 praktická práce

Excel 2007 praktická práce Excel 2007 praktická práce 1 Excel OP LZZ Tento kurz je financován prostřednictvím výzvy č. 40 Operačního programu Lidské zdroje a zaměstnanost z prostředků Evropského sociálního fondu. 2 Excel Cíl kurzu

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

Školení obsluhy PC stručný manuál obsluhy pro používání PC

Školení obsluhy PC stručný manuál obsluhy pro používání PC Školení obsluhy PC stručný manuál obsluhy pro používání PC tabulkový procesor MS EXCEL Zpracoval: mgr. Ježek Vl. Str. 1 MS EXCEL - základy tabulkového procesoru Tyto programy jsou specielně navrženy na

Více

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická Střední průmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická Příjmení: Hladěna Číslo úlohy: 10 Jméno: Jan Datum

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Systém sběru dat z RS232 do MS Excel

Systém sběru dat z RS232 do MS Excel Systém sběru dat z RS232 do MS Excel QTREE-DC/RS232 Verze 1.0 Základní informace Ing. Josef Třeštík - TREE Březen 2004 1/11 1 Úvod QTREE-DC/RS232 je program pro sběr dat z měřidel, která jsou k počítači

Více

Uživatelská příručka. 06/2018 Technické změny vyhrazeny.

Uživatelská příručka. 06/2018 Technické změny vyhrazeny. Uživatelská příručka 1 OBSAH 1 ÚVOD... 3 1.1 Merbon SCADA... 3 1.1.1 K čemu program slouží...3 2 Přihlášení a odhlášení z programu... 4 3 Projekty... 5 3.1 Výběr zobrazení... 5 3.2 Schémata... 6 3.3 Grafy...

Více

Obslužný software. PAP ISO 9001

Obslužný software.  PAP ISO 9001 Obslužný software PAP www.apoelmos.cz ISO 9001 červen 2008, TD-U-19-20 OBSAH 1 Úvod... 4 2 Pokyny pro instalaci... 4 2.1 Požadavky na hardware...4 2.2 Postup při instalaci...4 3 Popis software... 5 3.1

Více

Kapitola 11: Formuláře 151

Kapitola 11: Formuláře 151 Kapitola 11: Formuláře 151 Formulář DEM-11-01 11. Formuláře Formuláře jsou speciálním typem dokumentu Wordu, který umožňuje zadávat ve Wordu data, která lze snadno načíst například do databázového systému

Více

MS OFFICE POWER POINT 2010

MS OFFICE POWER POINT 2010 MS OFFICE POWER POINT 2010 Program Power Point patří do rodiny programů Microsoft Office a slouží ke tvorbě prezentací. Prezentace je tvořena snímky, které jsou postupně zobrazovány a to buď po nějaké

Více

Stručný postup k použití programu PL7 Junior (programování TSX Micro)

Stručný postup k použití programu PL7 Junior (programování TSX Micro) Stručný postup k použití programu PL7 Junior (programování TSX Micro) 1. Připojení PLC TSX Micro k počítači Kabel, trvale zapojený ke konektoru TER PLC, je nutné zapojit na sériový port PC. 2. Spuštění

Více

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Proč Excel? Práce s Excelem obnáší množství operací s tabulkami a jejich obsahem. Jejich jednotlivé buňky jsou uspořádány do sloupců

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

František Hudek. duben 2013

František Hudek. duben 2013 VY_32_INOVACE_FH11_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

Více

WINDOWS 7 ZÁKLADY. Na konci roku 2012 přišly na trh nové Windows 8, které revolučně mění ovládání a jsou orientovány především na dotykové ovládání.

WINDOWS 7 ZÁKLADY. Na konci roku 2012 přišly na trh nové Windows 8, které revolučně mění ovládání a jsou orientovány především na dotykové ovládání. WINDOWS 7 ZÁKLADY Microsoft Windows 7 je grafický operační systém a celá rodina operačních systémů Windows je nejrozšířenější operační systém používaný v domácnostech na světě. Jeho předchůdci byli Windows

Více

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: MS Excel I Anotace:

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: MS Excel I Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

Prostředí Microstationu a jeho nastavení. Nastavení výkresu

Prostředí Microstationu a jeho nastavení. Nastavení výkresu Prostředí Microstationu a jeho nastavení Nastavení výkresu 1 Pracovní plocha, panely nástrojů Seznámení s pracovním prostředím ovlivní pohodlí, rychlost, efektivitu a možná i kvalitu práce v programu Microstation.

Více

DUM 02 téma: Corel - křivky

DUM 02 téma: Corel - křivky DUM 02 téma: Corel - křivky ze sady: 1 tematický okruh sady: Vektorová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace: metodika:

Více

Excel 2007 pro začátečníky

Excel 2007 pro začátečníky Excel 2007 pro začátečníky 1 Excel OP LZZ Tento kurz je financován prostřednictvím výzvy č. 40 Operačního programu Lidské zdroje a zaměstnanost z prostředků Evropského sociálního fondu. 2 Excel Cíl kurzu

Více

Modul Zásoby IQ sestavy a jejich nastavení Materiál pro samostudium +1170

Modul Zásoby IQ sestavy a jejich nastavení Materiál pro samostudium +1170 Modul Zásoby IQ sestavy a jejich nastavení Materiál pro samostudium +1170 20.5.2014 Major Bohuslav, Ing. Datum tisku 20.5.2014 2 Modul Zásoby IQ sestavy a jejich nastavení Modul Zásoby IQ sestavy a jejich

Více

6. Formátování: Formátování odstavce

6. Formátování: Formátování odstavce 6. Formátování: Formátování odstavce Obrázek 1: Formát / Odstavec Odstavec je text mezi dvěma znaky konce odstavce. Konec odstavce je skrytý znak a vkládáme jej během psaní při každém stisknutí klávesy

Více

František Hudek. leden Informační a komunikační technologie ZONER Práce s textem. Tvorba a editace odstavcového a uměleckého textu.

František Hudek. leden Informační a komunikační technologie ZONER Práce s textem. Tvorba a editace odstavcového a uměleckého textu. VY_32_INOVACE_FH19_Z Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek leden 2013 9.

Více

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Úvod do problematiky VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Databáze je uspořádaná množina velkého množství informací (dat). Příkladem databáze je překladový slovník, seznam PSČ nebo telefonní seznam. Databáze

Více

KAPITOLA 4 ZPRACOVÁNÍ TEXTU

KAPITOLA 4 ZPRACOVÁNÍ TEXTU KAPITOLA 4 ZPRACOVÁNÍ TEXTU TABULÁTORY Jsou to značky (zarážky), ke kterým se zarovná text. Můžeme je nastavit kliknutím na pravítku nebo v dialogovém okně, které vyvoláme kliknutím na tlačítko Tabulátory

Více

Voltampérová charakteristika diody

Voltampérová charakteristika diody Voltampérová charakteristika diody Pozn.: Voltampérovou charakteristiku diod, resp. i rezistorů, žárovek aj. lze proměřovat se soupravou ISES-PCI a též i s ISES-USB. Souprava ISES-PCI, resp. ISES-PCI Professional

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 25 Název materiálu: Ovládací prvky formuláře a makra Ročník: 2. ročník Identifikace materiálu:

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

František Hudek. červen ročník

František Hudek. červen ročník VY_32_INOVACE_FH17_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek červen 2013

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

Programujeme v softwaru Statistica - příklady

Programujeme v softwaru Statistica - příklady Programujeme v softwaru Statistica - příklady Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody, příklady V předchozích článcích bylo vyřčeno mnoho teorie k problematice

Více

Microsoft Word - Styly, obsah a další

Microsoft Word - Styly, obsah a další Microsoft Word - Styly, obsah a další Definice uživatelských stylů Nový - tzv. uživatelský styl - se vytváří pomocí panelu Styly a formátování stiskem tlačítka Nový styl. Po stisknutí tlačítka se objeví

Více

DUM 01 téma: Úvod do PowerPointu

DUM 01 téma: Úvod do PowerPointu DUM 01 téma: Úvod do PowerPointu ze sady: 03 tematický okruh sady: Tvorba multimediální ze šablony: 09 počítačová grafika určeno pro: 1-4. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace:

Více

Ignijet_2007 Externí monitor

Ignijet_2007 Externí monitor Ignijet_2007 Externí monitor ver 2010-06-17 Úvod Externí monitor dokáže monitorovat vybrané parametry zapalování a zobrazovat je dle modifikovatelného nastavení a to jak hodnoty parametrů, tak jednoduché

Více

MS Word 2007 Elektronické formuláře

MS Word 2007 Elektronické formuláře MS Word 2007 Elektronické formuláře Obsah kapitoly V této kapitole si ukážeme: Vložení ovládacích prvků do formuláře Úpravu jejich vlastností Studijní cíle Doba potřebná ke studiu Po absolvování tohoto

Více

Rámcový manuál pro práci s programem TopoL pro Windows

Rámcový manuál pro práci s programem TopoL pro Windows Rámcový manuál pro práci s programem TopoL pro Windows Příkazy v nabídce Předmět Volba rastru rychlá klávesa F4 Příkaz otevře vybraný rastr; tj. zobrazí ho v předmětu zájmu. Po vyvolání příkazu se objeví

Více

Nápověda pro ovládání automaticky čtené učebnice

Nápověda pro ovládání automaticky čtené učebnice Speciální vzdělávací pomůcky k podpoře výuky slabozrakých žáků Nápověda pro ovládání automaticky čtené učebnice Požadavky na počítač Pro používání čtených pomůcek Vám postačí běžný osobní počítač, reproduktory

Více

PRÁCE S TEXTOVÝM EDITOREM 6.4 TEXTOVÉ POLE

PRÁCE S TEXTOVÝM EDITOREM 6.4 TEXTOVÉ POLE 6.4 TEXTOVÉ POLE Při tvorbě dokumentů je někdy třeba vkládat texty do rámců, kterým říkáme Textová pole. Tato textová pole, ale nemusí mít vždy pravidelný tvar (obdélník). Pomocí textových polí můžeme

Více

POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ

POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ VÍCENÁSOBNÉ KOPÍROVÁNÍ Kopírování jednoho prvku je častá činnost v mnoha editorech. Vícenásobné kopírování znamená opakování jednoho prvku v

Více

GeoGebra Prostředí programu

GeoGebra Prostředí programu GeoGebra Prostředí programu Po instalaci a spuštění programu uvidí uživatel jediné škálovatelné okno hlavní okno programu. Podle toho, zda otevíráte okno ve standardní konfiguraci (obr. 1) nebo v konfiguraci

Více

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7 Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7 Seznámení s programem STEP 7 bude provedeno řešením jednoduché úlohy. Lis s ochranným zařízením má být spuštěn jen pomocí signálu START- spínače S1,

Více

TransKlim ver.1.13 Uživatelská příručka pro verzi 1.13

TransKlim ver.1.13 Uživatelská příručka pro verzi 1.13 TransKlim v.1.0 Program pro zaznamenávání a vyhodnocování hodnot z měření teplot a vlhkosti v objektech kulturních památek s přenosem po síti nn 230V/50Hz. Uživatelská příručka pro verzi 1.13 Uživatelská

Více

Microsoft Office Word 2003

Microsoft Office Word 2003 Microsoft Office Word 2003 č. 6 název anotace očekávaný výstup druh učebního materiálu druh interaktivity Microsoft Office Word 2003 - Cesta k základním úpravám Prezentace je zaměřena na úpravy textu v

Více

Pokyny pro obsluhu programu. EZZ01 File reader 1.3

Pokyny pro obsluhu programu. EZZ01 File reader 1.3 www. první-saz.cz Pokyny pro obsluhu programu EZZ01 File reader 1.3 příloha k TP SaZ 3/01 1. Instalace programu EZZ01 File reader 1.3 do počítače Program EZZ01 File reader 1.2 pracuje s operačními systémy

Více

Konvertor diakritiky 3. Instalace

Konvertor diakritiky 3. Instalace OBSAH Popis... 2 Ovládání aplikace... 3 Odstranění diakritických znamének... 4 Operace s textem... 4 Nastavení aplikace... 4 Písmo... 4 Jazyk... 4 Přidání dalšího jazyka do aplikace... 5 Znaky... 5 Instalace

Více

Multimediální prezentace MS PowerPoint I

Multimediální prezentace MS PowerPoint I Multimediální prezentace MS PowerPoint I Informatika Multimediální prezentace zažívají v poslední době obrovský rozmach. Jsou používány například k reklamním účelům, k předvedení výrobků či služeb. Velmi

Více

Nápověda k používání mapové aplikace Katastrální mapy Obsah

Nápověda k používání mapové aplikace Katastrální mapy Obsah Nápověda k používání mapové aplikace Katastrální mapy Obsah Práce s mapou aplikací Marushka... 2 Přehledová mapa... 3 Změna měřítka... 4 Posun mapy... 5 Druhy map... 6 Doplňkové vrstvy... 7 Vyhledávání...

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Administrace webu Postup při práci

Administrace webu Postup při práci Administrace webu Postup při práci Obsah Úvod... 2 Hlavní menu... 3 a. Newslettery... 3 b. Administrátoři... 3 c. Editor stránek... 4 d. Kategorie... 4 e. Novinky... 5 f. Produkty... 5 g. Odhlásit se...

Více