STŘEDNÍ ŠKOLA ELEKTROTECHNICKÁ FRENŠTÁT p. R. Jméno: JAN JUREK Podpis: Název měření: POČÍTAČOVÁ INSTRUMENTACE Zkoušené předměty: Virtuální přístroje Třída: E4B Skupina: 2 Číslo měření: 12 Změřeno dne: 13.2.2008 Vyučující: Ing. Kokeš Funkce při měření: - Schémata: Spoluměřící: - Poznámky učitele: Známka: Datum:
ÚKOL MĚŘENÍ: 1. Seznamte se s vývojovým prostředím Control Web 5 2. Realizujte postupně následující úkoly: a) Realizujte postupně novou aplikaci s jedním panelem přes celou pracovní plochu Windows. b) Vložte do systému virtuální ovladač a definujte k němu přidružený kanál c) Umístěte na panel alespoň tři virtuální přístroje pro zobrazování signálu v kanálu k1 d) Realizujte indikaci překročení uživatelem nastavitelné úrovně signálu v kanáli k1 e) Na panel vložte datum a čas POUŽITÉ PŘÍSTROJE: Označení Název a typ přístroje v.č. Doplňující údaje PC s příslušenstvím Vývojové Prostředí Control Web 5 POSTUP MĚŘENÍ: Toto měření proběhne celé s vitruálními přístroji na PC pomocí vývojového programu aplikací. Na počítači si spustíme vývojové prostředí programu Control Web 5. V záložce Soubor zvolíme volbu Nový a projdeme si postupně pomocí průvodce vytvoření nové aplikace. Na prvním listě tedy zvolíme Vytvořit novou aplikaci. Na dalším listě pro naši aplikaci zvolíme funkci Aplikace volně běžící nezávisle na změnách dat a zvolíme si jméno a místo uložení aplikace. Je vhodné vytvoři si na disku složku do které aplikaci uložíme, protože k aplikaci se budou ukládat i další soubory a bude tak přehledně vidět které soubory k aplikaci náleží. Zvolil jsem tedy složku Jurek a aplikaci jsem pojmenoval totožně s ní. Na dalším listě zvolíme styl základního panelu aplikace na Přes celou obrazovku, ponecháme zatrhlou funci Mimo Taskbar a také Přizpůsobit libovolnému rozlišení. Na dalším listě pak zvolíme konfiguraci panelů aplikace na Aplikace s jedním panelem a zrušíme zatrhnutí fuknce Hlavní panel aplikace v okně Windows, tím se u naší aplikace nezobrazí ovládací lišta Windows. Další list necháme beze změn a dokončíme vytvoření nové aplikace stiskem tlačítka Dokončit. K aplikaci nyní potřebujeme připojit ovladače pro generování signálu. V záložce Datové inspektory ze stomu vybereme Ovladače a vytvoříme nový jeho pojmenováním Vi1. Nyní potřebujeme ovladači nastavit parametry. Jako Ovladač z rozbalovacího menu zvolíme Virtuální generátor v.5.1.0. Mapovací soubor vsource.dmf nalezneme v domovském adresáři programu ve složce Dmf. V následujícím dotazu zvolíme Zkopírovat soubor do adresář na zadané cestě, tím zkopírujeme soubor do složky aplikace čili aplikace je pak snadno přenositelná (má všechny potřebné části u sebe). Parametrický soubor vsource.par připojíme obdobě ze složky Par. Parametr skrytý ponecháme na hodnotě ne. Nyní vytvoříme kanál k1. Ve stromě vybereme Datové elementy a zvolíme Přidat nový ovladač, který pojmenujeme k1. K parametru driver (tedy ovladač) přiřadíme námi vytvořený ovladač Vi1. Paramter driver_index nastavíma na 4, čož představuje pilový průběh signálu. Tímto jsme si virtuálně vytvořili signál, který budeme měřit. Podle zadání nyní vložíme virtuální měřící přístroje. Zvolíme si záložku Grafický editor a nahoře v panelu vybereme ikonku Paleta přístrojů. V naší aplikaci budeme využívat ploché přístroje čili zvolíme strom Ploché přístroje podstrom
Zobrazování a v něm z dalšího podstromu Spojíté vybereme podsložku meter, kde si zvolíme zobrazovače. Jako první jsme si zvolili Ručičkový měřící přístroj (analogový zobrazovač), který přeneseme jednoduše pomocí drag and drop (seber a polož) na pracovní plochu aplikace. Dvojklikem nebo výbeřem z nabídky spustíme Inspektor přístroje a přístroj pojmenujeme čili do parametru meter vyplníme VP1 a parametr expression nastavíme na k1, čímž přístroj připojíme ke kanálu k1 (tedy k měřenému signálu). Obdobně na plochu přeneseme, pojemnujeme a připojíme ke kanálu i další měřící přístroje: Číslicový měřící přístroj využívající fonty systému (digitální zobrazovač VP2), Čárový graf s pamětí historie a přeběhem grafu (zapisovač VP3) a jako přídavný si ještě zvolíme Svislý sloupcový zobrazovač (VP4). Přístroje dále vhodně rozmístíme za ploše a popřípadě zvětšíme. U digitálního zobrazovače nastavíme parametr dec_places na 0, čímž odstraníme desetiná čísla, která při zobrazování tohoto signálu nejsou potřebná (mění se příliš rychle) a v parametru font nastavíme dostatečnou velikost písma. Pro nastavování hodnoty pro indikaci si nejprve musíme nadefinovat proměnou, kterou budeme u přístroje nastavovat. V záložce Datové inspektory zvolíme z datových elementů Přidat novou proměnou. Pojmenujeme ji prm1 a parametr type nastavíme na real. Tímto máme proměnnou vytvořenu a do aplikace přidáme vstup pro nastavení hodnoty prm1 a samotné indikační přístroje. V paletě přístrojů v stromu Ploché přístroje vybereme podstrom Ovládání a řízení, v něm podstrom Spojité a zvolíme podsložku control. Zde vyhledáme Knoflík spojený s numerickým zadávacím řádek a vložíme jej na pracovní plochu aplikace. Přístroj pomocí Inspektoru přístoje pojmenujeme na VP5 a do parametru output zadáme parameter prm1 tzn., že tímto regulátorem budeme nastavovat hodnotu proměnné prm1. Dále si ve stromě Zobrazení vybereme podstrom Binární z kterého vložíme na pracovní plochu indicator (žárovku) a vhodně jej umístíme do analogového zobrazovače VP1. Pojemnujeme jej VP6 a do parametru expression nastavím k1 > prm1, čímž zajistíme, že žárovka se rosvítí ve chvíli kdy velikost signálu překročí hodnotu nastavenou na regulátoru VP5. Parametr transparent nastavíme na true, aby pozadí žárovky odpovídalo s pozadím analogového zobrazovače VP1. Dále v paletě přístrojů vybereme podstorm Výkonné přístroje v němž z podstomu Multimediální vybereme přístroj sound a umístíme jej do podstomu Neviditelné ve položce Vzhled v Grafickém editoru. Jeho jméno nastavíme na VP7 do parametru file vložíme zvukový soubor (v našem případě chord.wav ze složky zvuků windows) a zvolíme opět Zkopírovat soubor do adresář na zadané cestě. Do parametru start zadáme hodnotu k1 > prm1, čímž zajistíme přehrávání zvuku ve chvíli kdy hodnota na kanálu k1 přesahuje hodnotu nastavenou na regulátoru VP5. Vložení datumu a času provedeme tak, že nejprve pro datum vložíme tři Číslicové měřící přístroje využívající fonty systému, které pojmenujeme - den DAY1, měsíc DAY2 a rok DAY3. Přístroje rozmístíme tak aby ukazovaly zobrazení data, u všech tří nastavíme parametr dec_places na 0 pro zobrazení bez desetinách míst, parametr timer na 1 abychom zajistlili dynamickou změnu data a velikost písma v parametru font zvolíme na 10. Parametr range_to změníme u DAY1 na 31, DAY2 na 12 a DAY3 na 3000. Tímto jsme nastavili datum. Pro čas vložíme další tři Číslicové měřící přístroje využívající fonty systému, které pojmenujeme - hodina TIME1, minuta TIME2 a sekunda TIME3. Přístoje rozmístíme do tvaru reprezentujícího čas a opět u nich nastavíme parametr dec_places na 0, timer na 1 a velikost písma v parametru font na 12. Parametr range_to změníme u TIME1 na 24, TIME2 na 60 a TIME3 na 60. Tímto
máme rozmístěné přístroje tak, aby ukazoval datum a čas a to i dynamicky (tedy, že se v průběhu času mění). Na závěr ještě vložíme nadpis. V Paletě přístrojů ve stromu Ploché přístroje zvolíme podstrom Popisy a symboly z nichž vybereme přístroj label a umístíme jej na plochu aplikace. Parametr lable změnímen na TITLE a v parametru text_list změníme font (Tahoma, tučně, velikost 20) a do políčka text zapíšeme samotný nadpis Měření generátoru. Tímto jsme aplikaci dokončili. Zdrojový kód jsme se záložky Textový editor zkopírovali a přiložili k protokolu (viz. výpis programu). Samotné spuštění aplikace provedeme stisknutím tlačítka Spustit aplikaci v horní liště programu. ZHODNOCENÍ: Po spuštění programu jsme mohli ještě dolaďovat hodnoty parametrického souboru vsource.par při změně parametrů u Ch 4 Pila. Analogový zobrazovač (VP1) ukazoval přesně podle průběhu pily tzn. že ručička nabíhala od nuly po maximální hodnotu a pak spadla zpět na nulu což pilovému průběhu odpovídá. Stejně tak i digitální zobrazovač (VP2) ukazoval hodnoty nabíhající k maximální hodnotě a pak spadla hodnota zpět na nulu. Na zapisovači (VP3) bylo přímo možno vidět průběh pilového průběhu tzn. postupný náběh signálu a jeho spadnutí do nulové hodnoty po dosažení maximální hodnoty. Správně pracoval i sloupcový zobrazovač (VP4) jehož hodnota se postupně zvětšovala a pak prudce klesla zpět na nulovou hodnotu při dosažení maximální hodnoty. Indikátory (žárovka a zvuková signalizace) byli závislé na regulátoru. V momentě kdy se hodnota v kanálu k1 rovnala hodnotě, kterou jsme nastavili na regulátoru VP5, se žárovka VP6 rozsvítila a začal se přehrávat zvuk VP7. Z toho lze usoudit, že všechny tři přístroje pracují správně. Datum a čas se zobrazoval podle systémového datumu. Zobrazení datuma (čili DAY1, DAY2 a DAY3) fungovalo správně; i při změně datuma se tato změna projevila. Stejně tak i zobrazení času (TIME1, TIME2 a TIME3) bylo dynamické (proměnné). Celá aplikace tedy funguje podle očekávání správně včetně zobrazování hodnot, indikace, regulace a časových údajů. VÝPIS PROGRAMU: directories end_directories; settings operation_mode = data_driven; startup_options call_procedures = false; activate_receivers = true; output_action = set_local; end_startup_options; end_settings; driver Vi1 : 'vsource.dll', 'vsource.dmf', 'vsource.par'; end_driver; data channel k1 : real {driver = Vi1; driver_index = 4; direction = input};
end_channel; var prm1 : real; end_var; end_data; instrument panel backpane; rem = 'hlavní panel aplikace'; owner = background; position = 0, 0, 1280, 1024; procedure OnStartup(); begin NewRect( WorkX, WorkY, WorkW, WorkD ); Show(); Select(); end_procedure; end_panel; label label_1; position = 410, 160; win_disable = zoom, maximize; text_list font = 'Tahoma (Central European)', 20, bold; text = 'Měření generátoru'; end_text_list; end_label; meter TIME1; position = 685, 250, 30, 25; expression = hour; range_to = 24; low_limit = 24; high_limit = 24; font = 'Trebuchet MS (Central European)', 12, bold; meter TIME2; position = 720, 250, 30, 25; expression = minute; range_to = 60; low_limit = 60; high_limit = 60; font = 'Trebuchet MS (Central European)', 12, bold; meter TIME3;
position = 755, 250, 30, 25; expression = second; range_to = 60; low_limit = 60; high_limit = 60; font = 'Trebuchet MS (Central European)', 12, bold; transparent; meter DAY1; position = 665, 215, 30, 30; expression = day; range_to = 31; low_limit = 31; high_limit = 31; font = 'Trebuchet MS (Central European)', 10, bold; meter DAY2; position = 700, 215, 30, 30; expression = month; range_to = 13; low_limit = 13; high_limit = 13; font = 'Trebuchet MS (Central European)', 10, bold; meter DAY3; position = 735, 215, 50, 30; expression = year; range_to = 3000; low_limit = 3000; high_limit = 3000; font = 'Trebuchet MS (Central European)', 10, bold; transparent;
indicator VP6; position = 410, 305; win_disable = zoom, maximize; expression = k1 > prm1; transparent; end_indicator; control VP5; position = 465, 260, 90, 90; output = prm1; content = max; end_control; meter VP4; position = 235, 215, 35, 285; mode = vertical_bar; low_limit = lblue; meter VP3; position = 275, 355, 510, 145; mode = sweep_graph; history = 100; low_limit = lblue; meter VP2; position = 465, 215, 90, 40; font = 'Trebuchet MS (Central European)', 16, bold; meter VP1; position = 275, 215, 185, 135; sound VP7; file = 'chord.wav'; period = infinite; start = k1 > prm1; end_sound; end_instrument;