Kapitola 1

ImageServer

Tento program umožňuje, ve spolupráci s javovým appletem, umístit na webovou stránku video z VFW (Video for Windows) kompatibilního zdroje, například z USB webové kamery či grabovací karty. Program periodicky ukládá aktuální obraz ze zdroje do souboru formátu jpeg. Jméno souboru, rozlišení a kvalitu komprese je možno měnit. Rovněž je možné ukládat až do tří (použitelné množství závisí na výkonu CPU počítače serveru, na kterém program běží) různých souborů s nezávisle nastavitelným rozlišením a kvalitou komprese.

1.1 Hlavní okno

Hlavní dialog

Obrázek 1.1: Hlavní dialog

Toto okno se objeví po startu programu s výjimkou prvního spuštění, kdy se zobrazí Konfigurační dialog[1.2]. Jsou zde dvě tlačítka: Config, kterým je možno vyvolat Konfigurační dialog[1.2] a tlačítko Start capture, kterým se zahájí zpracování obrazu. Po dobu zpracování obrazu funguje toto tlačítko jako vypínač zpracování.

1.2 Konfigurační dialog

Konfigurační dialog

Obrázek 1.2: Konfigurační dialog

Tento dialog sestává ze tří logických bloků.

V jeho horní části se nastavuje zdroj obrazu. Jednak je zde možno pomocí comboboxu vybrat jeden ze zdrojů obrazů dostupných v systému. V případě USB zařízení či zařízení vybavených WDM ovladači (určeno pro W98 a vyšší) se zde pravděpodobně bude nacházet zařízení jménem Microsoft WDM capture. Pomocí tlačítek Video format a Video source se vyvolají konfigurační dialogy umožňující nastavit různé parametry zařízení. Obsah těchto dialogů závisí na ovladači konkrétního zařízení a liší se mezi zařízeními. Pomocí posuvníku je zde dále možno nastavit snímkovou frekvenci, v počtu snímků za sekundu, se kterou je video zachytáváno.

V prostřední části se nacházejí tři stejné bloky umožňující nastavit parametry výstupních souborů. Jméno, kvalitu komprese a rozlišení.

V dolní části se pak nacházejí parametry sloužící pro nastavování speciálních vlastností ImageServeru. V aktuální versi je to možnost provést po určitém počtu zachycených obrazů restart zachytávání. Cílem této akce je řešení potencionálních problémů s některými ovladači, které nebyly výrobcem koncipovány pro dlouhodobé zachytávání a po nějaké době narazí na implementační limit. Program nabízí dvě varianty restartu. Tzv. lokální varianta pouze přeruší aktuální záznam a nastartuje nový. Globální varianta navíc ještě reinicializuje zachytávací ovladač.

Kapitola 2

MeasureServer

MeasureServer tvoří hlavní část celého měřícího systému a zajišťuje realizaci serverové strany experimentu. Program se skládá ze dvou logických částí.

První z nich jsou pluginy. Jedná se o dll soubory poskytující pevně stanovený interface pomocí kterého poskytují informace o pinech, ze kterých je možné číst hodnoty, či do kterých je možno hodnoty zapisovat. Pluginy realizují přístup k zařízení či implementují logiku experimentu.

Druhou částí je vlastní program MeasureServer. Ten při svém startu naincializuje dostupné pluginy a následně poskytuje vzdáleným uživatelům funkce pro čtení a zápis hodnot jednotlivých pinů. Kromě toho také nabízí možnost logování hodnot pinů (dlouhodobé s velmi malou frekvenci v řádu sekund, či krátkodobé s frekvencí v řádu desítek Hz), záznam prováděných experimentů a následné získání těchto hodnot klientskou stranou.

2.1 Konfigurace programu

Hlavní dialog programu slouží zároveň i pro konfiguraci většiny funkcí. V jeho levé části se nachází fronta aktuálně připojených klientů. U každého klienta je uvedena jeho IP adresa a následně tříznakový kód udávající informace o typu připojení (přímé/http), režimu práce (readonly/readwrite) a vlastnictví řízení. Pomocí tlačítka Kick je možno ukončit spojení s uživatelem, který je v tomto seznamu vybrán.

V pravé horní části je možnost konfigurovat parametry ovlivňující připojování k serveru.

Pomocí Allow conections je možno zakázat jakékoliv nové připojení k serveru. V případě, že je zaškrtnuto Limit write commands, může posílat řídící příkazy pouze první readwrite klient z fronty, v opačném případě mohou používat řízení všichni připojení readwrite uživatelé. Zaškrtnutím Disable device listing se zakáže funkce umožňující klientovi zjistit seznam všech dostupných zařízení. Dále je zde možné nastavit maximální počet současně připojených klientů a dobu, po které dojde k ukončení spojení v případě, že z něj v jejím průběhu nepřijde žádný požadavek od klienta. V případě, že je řízení omezeno na prvního uživatele ve frontě, je zde možnost omezit dobu, po kterou může zařízení exklusivně používat. Po uplynutí tohoto intervalu je, pokud je ve frontě ještě někdo, je první uživatel přesunut na konec fronty a řízení je předáno dalšímu uživateli ve frontě. Systém teoreticky umožňuje, ve spolupráci s dalším programem, omezit okruh možných uživatelů například použitím hesla. Prakticky to dosud nebylo nikdy testováno.

Hlavní dialog - MeasureServer

Obrázek 2.1: Hlavní dialog

V pravé dolní části je zobrazeno okno se seznamem načtených pluginů. Pod každým pluginem je seznam jím nabízených pinů. Pomocí tlačítek Configure selected a Configure log for selected je možno dále provádět nastavení jednotlivých pinů a pluginů a parametrů ovlivňujících logování pinů.

2.2 Logování

Každý z pinů může být logován. Existují dva typy logů:

Tento dialog je ukázán na následujícím obrázku:

Konfigurační dialog logování - MeasureServer

Obrázek 2.2: Konfigurační dialog logování

Kapitola 3

Pluginy

Pluginy mají koncovku ldp. Obsahově se jedná o běžné dli soubory, které poskytují pevně určenou množinu funkcí. MeasureServer při startu vyhledá a inicializuje všechny, pluginy které se nacházejí v jeho adresáři.

V současnosti jsou k dispozici následující pluginy.

3.1 ISESCardPlugin

Tento plugin slouží pro ovládání HW karty ISES. Plugin v současnosti nefunguje pod Windows řady NT (NT,2K,XP)

3.1.1 Konfigurace

Konfigurační dialog - MeasureServer

Obrázek 3.1: Konfigurační dialog

Jedinou věcí, kterou je možné v tomto pluginu nastavovat, je bázová adresa karty.

3.1.2 Výstupní piny

Read data ARead data H umožňují čtení 12ti bitových vstupů karty.

Read status ARead status F umožňují čtení informací o stavu vstupů.

3.1.3 Vstupní piny

Write channel E Umožňuje zapsání 12ti bitové hodnoty na výstup karty.

3.2 ISESProCardPlugin

Tento plugin slouží pro ovládání HW karty ISES Pro. Plugin v současnosti nefunguje pod Windows řady NT (NT,2K,XP)

3.2.1 Konfigurace

ISESProCardPlugin konfigurační dialog

Obrázek 3.2: Konfigurační dialog

U tohoto pluginu je možné kromě bázové adresy karty nastavit i úroveň zesílení jednotlivých analogových kanálů.

3.2.2 Výstupní piny

Read A/D 1Read A/D 16 umožňují čtení 12ti bitových analogových vstupů karty.

Read D CNA umožňuje čtení 8 bitového digitálního vstupu.

Read D CN1 umožňuje čtení 8 bitového digitálního vstupu.

Read D CN2 umožňuje čtení 8 bitového digitálního vstupu.

Read D CN1&CN2 umožňuje čtení 16 bitového digitálního vstupu který vznikne složením CN1 a CN2.

3.2.3 Vstupní piny

Write D/A 1 a Write D/A 2 umožňuje zapsání 12ti bitové hodnoty na analogový výstup karty.

Write D CNA umožňuje zápis do 8 bitového digitálního výstupu.

Write D CN1 umožňuje zápis do 8 bitového digitálního výstupu.

Write D CN2 umožňuje zápis do 8 bitového digitálního výstupu.

Write D CN1&CN2 umožňuje zápis do 16 bitového digitálního výstupu který vznikne složením CN1 a CN2.

3.3 PCI1202CardPlugin

Tento plugin slouží pro ovládání HW karty PCI-1202. Plugin vyžaduje aby byly nainstalovány ovladače karty a funguje i pod Windows řady NT (NT,2K,XP).

3.3.1 Konfigurace

PCI1202CardPlugin konfigurační dialog

Obrázek 3.3: Konfigurační dialog

Tento plugin umožnuje výběr karty, která bude používána v případě, že je v počítači karet více. V takovém případě hodnota Card index odpovídá číslu karty zmenšenému o 1, tj. hodnota 0 odpovídá první kartě. Tato schopnost je zatím experimentální a současná verse pluginu nebyla testována v přítomnosti více karet.

3.3.2 Výstupní piny

Read A/D 1Read A/D 16 umožňují čtení 12ti bitových analogových vstupů karty.

Read D 1 umožňuje čtení 16 bitového digitálního vstupu.

Read D 1B1Read D 1B16 umožňuje čtení jednotlivých bitů digitálního vstupu.

3.3.3 Vstupní piny

Write D/A 1 a Write D/A 2 umožňuje zapsání 12ti bitové hodnoty na analogový výstup karty.

Write D 1 umožňuje zápis do 16 bitového digitálního výstupu.

Write D 1B1Write D 1B16 umožňuje zápis jednotlivých bitů digitálního výstupu.

3.4 TestingDevicePlugin

Tento plugin funguje jako úložiště hodnot které může využívat přímo klient či mohou být využity jiným pluginem pro uložení nějakého stavu experimentu.

3.4.1 Konfigurace

Tento plugin nemá žádné možnosti konfigurace.

3.4.2 Výstupní piny

NULL čtení z tohoto pinu vždy vrátí nulu.

Holder1Holderl0 slouží pro přečtení uložené hodnoty z příslušné proměnné.

Counter1Counterl0 slouží pro přečtení uložené hodnoty z příslušného čítače.

3.4.3 Vstupní piny

NULL všechny zápisy to tohoto pinu neprovádějí nic.

Holder1Holderl0 slouží pro uložení zapisované hodnoty do příslušné proměnné.

Counter1Counterl0 k příslušnému čítači se přičte zapisovaná hodnota.

3.5 MixingPlugin

Některé pluginy používají pro svoji funkci jeden další plugin. MixingPlugin umožňuje, aby takovéto pluginy mohly používat i několik různých pluginů tím, že exportuje jejich piny, jako by byly jeho vlastní a přístupy předává do pluginu, kterému příslušný pin patří. Typické použití je kombinace jednoho z ISES pluginů a TestingDevice plugin.

3.5.1 Konfigurace

MixingPlugin konfigurační dialog

Obrázek 3.4: Konfigurační dialog

Plugin umožňuje měnit jméno, pod kterým je vidět v hlavním okně MeasureServeru a přes které se přistupuje k jeho pinům v případě, že není pouze interně používán jiným pluginem. Dále je zde možno přidávat a ubírat pluginy, jejichž piny bude tento plugin exportovat. V případě, že nějaké pluginy mají stejná jména pinu, je výsledné chování nedefinované. Při přidání pluginu je možno určit, jestli se cesta k němu bude pamatovat jako absolutní nebo relativní vůči aktuálnímu adresáři MeasureServeru. Dále je zde možno pro zvolený plugin zvolit jinou cestu ve které se nachází, tato možnost je zde pro případ, že je potřeba z nějakého důvodu změnit umístění příslušného pluginu či přejít z relativní na absolutní adresaci nebo opačně. V případě změny konfigurace je třeba restartovat MeasureServer.

3.5.2 Výstupní piny

Obsahuje výstupní piny přidaných pluginů.

3.5.3 Vstupní piny

Obsahuje vstupní piny přidaných pluginů.

3.6 ConfLogicPlugin

Hlavní funkcí tohoto pluginu je implementace serverové části logiky experimentů. V principu se jedná o sady pravidel popisující, jakým způsobem se má získat hodnota čtená z výstupního pinu či co se má provést v závislosti na hodnotě zapisované na vstupní pin.

3.6.1 Konfigurace

ConfLogicPlugin konfigurační dialog

Obrázek 3.5: Konfigurační dialog

Plugin pro svoji činnost využívá jeden další plugin (s použitím MixingPluginu je možno nepřímo použít i několik pluginů), jehož piny čte či nastavuje v závislosti na sadách pravidel (map). Každé pravidlo má dvě části. Podmínkovou, která určuje, kdy je splněno, a výkonnou která určuje, co se provede, pokud je splněno. Pravidla v sadě se procházejí v pořadí shora dolů a v některých případech může být zpracování předčasně ukončeno.

V pluginu se nacházejí 4 základní typy seznamů.

Výstupní piny
Pro každý takovýto pin je zde seznam, který určuje, jakým způsobem se získá hodnota. V případě tohoto seznamu je hodnotou výsledek provedení výkonné části prvního pravidla, jehož podmínková část byla splněna.

Vstupní piny
Pro každý takovýto pin je zde seznam, který určuje, co se provede v závislosti na zapisované hodnotě. V tomto případě je možné bud'to zpracovávání do prvního splněného pravidla nebo zpracování všech splněných pravidel v seznamu (je možné rovněž vytvořit pravidlo, které v tomto případě další zpracování nepovolí)

Periodický seznam
Tento seznam se zpracovává s uživatelsky zadatelnou periodou v řádu sekund. U tohoto seznamu jsou hodnoty pro podmínkové části pravidel získávány ze zvolených vstupních pinů vnořeného pluginu.

Změnový seznam
Tento seznam se zpracovává v případě, že dojde ke změně uživatele s exklusivním řízením nebo v případě kdy se odpojí všichni uživatelé. Jinak je funkčně totožný s periodickým seznamem.

Pomocí dialogu zobrazeného na 3.6 je možno přidávat, přejmenovávat či ubírat piny a konfigurovat jim příslušející sady pravidel. V případě, že dojde ke změně počtu či názvu pinů, je třeba provést restart MeasureServeru.

Dialog 3.7 slouží pro manipulaci s jednou konkrétní sadou pravidel. V levé části je zobrazen textový popis jednotlivých pravidel. Jejich pořadí v seznamu určuje pořadí jejich vyhodnocování. V případě, že je potřeba toto pořadí změnit, je možno použít tlačítek Up a Down které posunou vybrané pravidlo v příslušném směru. Dále je zde možno přidávat a ubírat další pravidla. V případě, že daný typ seznamu umožňuje volbu mezi zpracováním do prvního platného pravidla nebo zpracováním všech pravidel, je možné si požadovaný typ zpracování zvolit zaškrtnutím volby Multiset.

Pro nastavení parametrů jednoho pravidla slouží dialog 3.8. V závislosti na seznamu, ve kterém se pravidlo nachází, mohou být některé volby tohoto dialogu zešedlé a nepřístupné. Dále platí že některé z voleb ze skupiny Operation nejsou použitelné pro některé z voleb ze skupiny Condition.

Ve skupině Devices se nacházejí dvě možnosti umožňující zvolit čtecí a zapisovací pin, který slouží jako vstup či cíl výstupu operace. V případě, že se jedná o sadu u pinu, je přístupná pouze jedna z voleb (pro sady u vstupních pinů je to cílový pin, u výstupních pinů pak vstupní pin) a druhá je pevně určena. Hodnoty čtené z pinů jsou cachovány. Při jednom zpracování sady je hodnota každého pinu přečtena pouze jednou a to při prvním přístupu k ní. Každé pravidlo přečte hodnotu bez ohledu na to, jestli je to pro test podmínky potřebné.

Hodnoty ve skupině Condition určují podmínku, která musí být splněna aby byla aplikována Operační část pravidla. Seznam podmínek je zapsán v tabulce 3.1

Hodnoty ve skupině Operation určují akci, která se povede pokud je splněná podmínka. Tato část má na začátku hodnotu z podmínkové sekce, se kterou následně provede zvolenou operaci. Seznam operací je zapsán v tabulce 3.1.

Konfigurační dialog pinů

Obrázek 3.6: Konfigurační dialog pinů

PodmínkaPopis
AlwaysPodmínka je splněna vždy.
NeverPodmínka není splněna nikdy.
If valueV tomto případě se zadává operator a mezní hodnota či hodnoty.
If maskTestovaná hodnota musí být celé číslo. Desetiná čísla tuto podmínku nesplní nikdy. Hodnota je binarní AND operací složena s uživatelskou maskou a následně je porovnána na rovnost či nerovnost (volitelné) s uživatelskou hodnotou.
If disabled controlPodmínka je splněna pokud je v pluginu zakázán zápis hodnot na zdrojový pin.
If enabled controlPodmínka je splněna pokud je v pluginu povolen zápis uživatelských hodnot na zdrojový pin.

Tabulka 3.1: Přehled podmínek

Konfigurační dialog sady pravidel

Obrázek 3.7: Konfigurační dialog sady pravidel

Konfigurační dialog pravidla

Obrázek 3.8: Konfigurační dialog pravidla

OperacePopis
ForwardHodnota je nezměněně zapsána na výstup.
ConstantUvedená konstanta je zapsána na výstup.
RemapJe použitelný pouze pro podmínku "If value" v kombinaci s operátorem "IN". Hodnoty odpovající rozsahu uvedenému u operátoru jsou přemapovány do intervalu uvedeného u této operace.
Disable controlZakáže zápis hodnot na cílový pin.
Enable controlPovolí zápis hodnot na cílový pin.
Terminate multisetUkončí další zpracování sady pravidel.
Ignore device control statusTento prvek slouží jako přepínač umožňující ignorovat zákaz zápisu hodnot.

Tabulka 3.2: Přehled operací

3.6.2 Výstupní piny

Závisí na konfiguraci.

3.6.3 Vstupní piny

Závisí na konfiguraci.

3.7 ScriptablePlugin

Je v současnosti nejsilnějším a zároveň nejsložitějším z pluginů. Pomocí tohoto pluginu je možné dosáhnou ekvivalent funkce téměř kteréhokoliv z ostatních pluginů s výjímkou pluginů, které ovládají konkrétní HW. Navíc je možné dosáhnout některých činností na které starší pluginy nestačí jako je generování složitějšího signálu či vysokorychlostní experiment. Základní princip fungování je podobný pluginu ConfLogicPlugin s tím, že operace pro jednotlivé piny jsou místo sady pravidel zadány jednoduchým programem.

Konfigurační dialog (viz. obr 3.9) je jednoduchý neboť většina nastavení je popsána v externím souboru jehož formát je popsán v samostatné dokumentaci. První prvek v dialogu je políčko pro zadání jména souboru, který obsahuje popis nastaveni. Druhý prvek je kombinace výběrového boxu a tlačítka pomocí kterých je možné měnit konfiguraci pluginů, které ScriptablePlugin využívá (dáno obsahem souboru s popisem nastaveni).

Soubor s popisem nastavení je načítán pouze při startu serveru takže při jeho změně je nutné server ukončit a znovu spustit.

3.7.1 Konfigurace

ScriptablePlugin konfigurační dialog

Obrázek 3.9: Konfigurační dialog

3.7.2 Výstupní piny

Závisí na konfiguraci.

3.7.3 Vstupní piny

Závisí na konfiguraci.

Kapitola 4

HTTPRelay

HTTPRelay

Někteří uživatelé (INDOŠ či některé organizace s firewally) mají omezené porty na které se mohou na Internetu připojovat. Jelikož standardní propojení s MeasureServerem probíhá přímým připojením na nestandardní port 8899, nemohou se tito uživatelé připojit přímo se serverem. Úkolem programu HTTPRelay je poskytnutí alternativní možnosti připojení v případě, že uživatel může přistupovat na normální http www servery (port 80). Program se tváří jako http server a požadavky bud'to přeposílá na port 83 na kterém je připojen normální http server poskytující obsah stránek či appletů a nebo, pokud mají speciální tvar, je převede na příkaz který následně pošle přes přímé připojení na MeasureServer. Výsledky zpracování příkazu pak vrátí opět uživatelskému appletu, jako by šlo o data www stránky. Pro uživatele je celá operace transparentní. Pro tvůrce appletu je transparentní v případě, že použije existující framework pro jejich tvorbu.

Kapitola 5

JAVA Applety

Pro tvorbu WWW stránky využívající služeb těchto serverů slouží sada JAVA appletů. Tyto applety tvoří balíček virtuallmesureclient. Funkce a prametry jednotlivých appletů budou popsány v této kapitole. S výjimkou několika samostatně fungujících appletů jsou všechny ostatní applety závislé na přítomnosti appletu connectionhub, který zajišťuje spojení se serverem a poskytuje jim funkce pro komunikaci se serverem. Connectionhub dále umožňuje posílání událostí, kdy se jeden či několik appletů zaregistrují pro příjem události, kterou může jiný applet generovat. Tento mechanismus je používán hlavně pro předávání příkazů mezi tlačítky a řídicími applety. Dále connectionhub obsahuje 50 celočíselných slotů pomocí kterých si mohou applety vyměňovat informace.

V následujícím popisu je u každého appletu uveden seznam parametrů které má. U každého z nich je uvedeno jestli musí být uveden. Existují v podstatě tři různé případy.

  1. Parametr musí být uveden.
  2. Parametr musí být uveden v určité situaci.
  3. Parametr nemusí být uveden. V takovém případě se použije rozumná defaultní hodnota.
V případě, že applet podporuje proměnný počet pinů či popisek. Má obvykle jeden parametr který udává kolik pinů/popisek se má použít a následně několik parametrů sloužicich pro nastavení pinu/popisky. V takovém případě tyto parametry obsahují číslo, které udává pro který pin/popisku parametr je. V popisu jednotlivých parametrů je tato část označena pomocí <X>. Například pokud je parametr pojmenován jako experiment_device_<X> tak nastavení pro první pin bude uloženo v parametru experiment_device_1 a nastavení pro druhý pin v parametru experiment_device_2.

5.1 virtualmeasureclient.Visualize

Zobrazení - applet

5.1.1 Popis

Tento applet slouží pro zobrazování výstupu z ImageServeru, ale může být použit i pro zobrazování jpg obrazů získaných z jiného zdroje. Applet má okno do něhož periodicky zobrazuje obsah jpg souboru přístupného na www serveru. Applet umožňuje použití dvou jpg souborů s rozdílným rozlišením a kvalitou s možností uživatelské volby stahovaného a zobrazovaného souboru.

5.1.2 Parametry

Parametr: hi_image_name
Povinný: ano
Popis: Jméno jpg souboru s velkou kvalitou

Parametr: lo_image_name
Povinný: ano
Popis: Jméno jpg souboru s nízkou kvalitou

Parametr: sleep_time
Povinný: ano
Popis: Doba v ms mezi jednotlivými obnoveními obrazu

Parametr: window_width
Povinný: ano
Popis: Šířka okna

Parametr: window_height
Povinný: ano
Popis: Výška okna

Parametr: use_random
Povinný: ano
Popis: Pokud je nenulový, tak se při každém požadavku k jménu souboru přidá řetězec ?náhodné číslo

Parametr: hi_resolution_caption
Povinný: ne
Popis: Popiska tlačítka pro volbu vysokého rozlišení

Parametr: lo_resolution_caption
Povinný: ne
Popis: Popiska tlačítka pro volbu nízkého rozlišení

5.2 virtuallabmesureclient.hub.basic.connectionhub

Hub - applet

5.2.1 Popis

Tento applet je základním prvkem stránky, která využívá služeb MeasureServeru. Zajišťuje správu připojení k serveru a poskytuje ostatním appletům funkce pro použití jednotlivých služeb serveru. Dále jsou na něm zobrazovány informace o stavu spojení a o zbývajícím čase. Applet musí být ve webové stránce pojmenovaný, aby se na něj mohly ostatní applety odkazovat.

5.2.2 Parametry

Parametr: server_ip
Povinný: ano
Popis: IP adresa serveru pro přímé připojení.

Parametr: server_port
Povinný: ano
Popis: Port serveru pro přímé připojení (standardní port je 8899)

Parametr: http_server_url
Povinný: ano
Popis: URL HTTP relay serveru pro HTTP připojení.

Parametr: authentication_code
Povinný: ano
Popis: V současnosti nepoužíván, možno zadat libovolný řetězec.

Parametr: use_random
Povinný: ano
Popis: Pokud je nenulový, tak se při každém požadavku vedeném přes HTTP k URL přidá řetězec ?náhodné číslo.

Parametr: control_timeout
Povinný: ne
Popis: Musí být zadáno pokud je na serveru použité omezení ovládání na jednoho uživatele, slouží pro výpočet odhadu doby čekání. [ms]

Parametr: terminate_timeout_init
Povinný: ne
Popis: Timeout [ms] neaktivity od startu appletu do prvního uživatelského příkazu. Pokud není uveden nebo je roven 0, tak žádný timeout není.

Parametr: terminate_timeout
Povinný: ne
Popis: Timeout [ms] neaktivity mezi uživatelskými příkazy. Pokud není uveden nebo je roven 0, tak žádný timeout není.

Parametr: sound_on_control
Povinný: ne
Popis: URL zvuku ve formátu AU který se přehraje pokud uživatel získá řízení.

Parametr: read_only
Povinný: ne
Popis: Pokud není hodnota rovna 0, tak hub umožňuje pouze čtení hodnot ze serveru.

Parametr: expected_initialized_applet_count
Povinný: ne
Popis: Udává, kolik appletů bude tento hub používat. Musí být menší nebo roven skutečnému počtu a slouží pro optimalizaci startu appletů.

Parametr: state_uninit
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že je applet neinicializovaný.

Parametr: state_connected
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že je applet připojen.

Parametr: state_closed
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že spojení se serverem bylo ukončeno.

Parametr: state_io_error
Povinný: ne
Popis: Hláška ,která se zobrazí v případě, že došlo k chybě při komunikaci se serverem

Parametr: state_security_error
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že applet nemá dostatečná práva pro připojeni.

Parametr: state_timeout
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že spojení bylo ukončeno kvůli neaktivitě uživatele.

Parametr: state_error
Povinný: ne
Popis: Hláška, která se zobrazí v případě, že došlo k jiné chybě.

Parametr: state_connecting_direct
Povinný: ne
Popis: Hláška, která se zobrazuje, když hub zkouší vytvořit přímé spojení se serverem.

Parametr: state_connecting_http
Povinný: ne
Popis: Hláška, která se zobrazuje, když hub zkouší vytvořit nepřímé spojení se serverem přes HTTPrelay.

Parametr: state_control_left_part_1
Povinný: ne
Popis: První část hlášky, která se zobrazuje, když má uživatel časově omezené řízení. Je následována zbývající dobou v sekundách a pak textem uloženým v state_control_left_part_2.

Parametr: state_control_left_part_2
Povinný: ne
Popis: Spolu s state_control_left_part_1 tvoří hlášku zobrazenou při časově omezeném řízení.

Parametr: state_wait_left_part_1
Povinný: ne
Popis: První část hlášky, která se zobrazuje, když uživatel čeká na řízení. Je následována zbývající dobou v minutách a pak textem uloženým v state_wait_left_part_2.

Parametr: state_wait_left_part_2
Povinný: ne
Popis: Spolu s state_wait_left_part_1 tvoří hlášku zobrazenou při čekání na řízení.

5.3 virtuallabmesureclient.hub.modules.valuesend

Tlačítko - applet

5.3.1 Popis

Tento applet funguje jako tlačítko, které může bud'to generovat událost nebo zapsat hodnotu na pin, popřípadě obě činnosti současně.

5.3.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: refresh
Povinný: ano
Popis: Doba [ms] mezi aktualizacemi stavu tlačítka.

Parametr: description
Povinný: ano
Popis: Text, který se zobrazí na tlačítku.

Parametr: auto_disable
Povinný: ne
Popis: Pokud je nenulový (defaultní hodnota), tak se tlačítko vypne, pokud uživatel nemá řízení serveru.

Parametr: notify_event
Povinný: ne
Popis: Pokud se nerovná -1 (defaultní hodnota), dojde při stisku tlačítka ke generování této události.

Parametr: device_name
Povinný: ne
Popis: Pin, na nějž se při stisku tlačítka pošle hodnota.

Parametr: value
Povinný: ano, pokud je použito device_name
Popis: Hodnota, která se pošle na pin.

5.4 virtuallabmesureclient.hub.modules.singlevalue

Hodnota - applet

5.4.1 Popis

Applet čte a zobrazuje hodnotu z jednoho pinu na serveru.

5.4.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: refresh
Povinný: ano
Popis: Doba [ms] mezi aktualizacemi stavu hodnoty.

Parametr: description
Povinný: ano
Popis: Text, který se zobrazí za zobrazenou hodnotou.

Parametr: device_name
Povinný: ano
Popis: Pin, jehož hodnota se čte.

Parametr: fractional_digit_count
Povinný: ano
Popis: Počet desetinných míst ve výpisu hodnoty.

Parametr: s_min
Povinný: ano
Popis: Spolu s s_max udává povolený rozsah vstupních hodnot ( s_min, s_max ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max
Povinný: ano
Popis: Spolu s s_min udává povolený rozsah vstupních hodnot ( s_min, s_max ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min
Povinný: ano
Popis: Spolu s d_max udává rozsah cílových hodnot. Hodnoty z ( s_min, s_max ) se přemapují na ( d_min, d_max ). Výsledek = d_min + (d_max - d_min) * (Vstup - s_min) / (s_max - s_min)

Parametr: d_max
Povinný: ano
Popis: Spolu s d_min udává rozsah cílových hodnot. Hodnoty z ( s_min, s_max ) se lineárně přemapují na ( d_min, d_max ). Výsledek = d_min + (d_max - d_min) * (Vstup - s_min) / (s_max - s_min)

5.5 virtuallabmesureclient.hub.modules.scrollbar

Posuvnik - applet

5.5.1 Popis

Pomocí tohoto appletu je možné vytvořit horizontální či vertikální scrollbar (posuvník), který ovlivňuje hodnotu řízeného pinu na serveru.

5.5.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: refresh
Povinný: ano
Popis: Doba [ms] mezi aktualizacemi pozice scrollbaru a zápisem změn na server.

Parametr: min_set_value
Povinný: ano
Popis: Minimální nastavovaná hodnota.

Parametr: max_set_value
Povinný: ano
Popis: Maximální nastavovaná hodnota.

Parametr: controlled
Povinný: ano
Popis: Pokud je nenulová, je pozice scrollbaru nastavována v závislosti na hod-notě čtené z nějakého pinu na serveru.

Parametr: min_read_value
Povinný: ano, pokud je controlled nenulová
Popis: Hodnota monitorovaného pinu, která odpovídá dolní pozici scrollbaru.

Parametr: max_read_value
Povinný: ano, pokud je controlled nenulová
Popis: Hodnota monitorovaného pinu, která odpovídá horní pozici scrollbaru.

Parametr: loopback_precision
Povinný: ano, pokud je controlled nenulová
Popis: Pokud se hodnota monitorovaného pinu liší od hodnoty scrollbaru o více než tuto hodnotu, tak dojde ke korekci scrollbaru.

Parametr: device_read_name
Povinný: ano, pokud je controlled nenulová
Popis: Adresa monitorovaného pinu.

Parametr: block_change
Popis: O kolik se změní hodnota scrollbaru při stisku šipky na kraji scrollbaru.

Parametr: unit_change
Povinný: ano
Popis: O kolik se změní hodnota scrollbaru při stisku klávesy.

Parametr: normal_value
Povinný: ne
Popis: Na jakou hodnotu je nastaven scrollbar na začátku. Pokud je uveden, zapíše se tato hodnota na řízený pin.

Parametr: horizontal
Povinný: ano
Popis: Pokud má tento parametr nenulovou hodnotu, je scrollbar horizontální, jinak vertikální.

Parametr: device_set_name
Povinný: ano
Popis: Adresa řízeného pinu na serveru.

5.6 virtuallabmesureclient.hub.modules.queuelist

Obsah fronty uživatelů - applet

5.6.1 Popis

Applet zobrazuje obsah fronty uživatelů na serveru. Každý uživatel je zde reprezentován jeho IP adresou.

5.6.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: refresh
Povinný: ano
Popis: Doba [ms] mezi aktualizacemi obsahu seznamu.

5.7 virtuallabmesureclient.hub.modules.numenter

5.7.1 Popis

Applet umožňuje zadání čísla experimentu. (Pro větší uživatelské pohodlí je lepší použít applet experientselect.)

5.7.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: storage_index
Povinný: ano
Popis: Index slotu, do kterého se uloží zadaná hodnota.

Parametr: event_on_press
Povinný: ano
Popis: Událost generovaná po zadání hodnoty.

5.8 virtuallabmesureclient.hub.modules.experimentselect

Výběr experimentů 1. krok- applet

Výběr experimentů 2. krok- applet

5.8.1 Popis

Applet umožňuje pohodlný výběr experimentu, jehož hodnoty se mají zobrazit. Zobrazí listbox se seznamem experimentů.

5.8.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: storage_index
Povinný: ano
Popis: Index slotu, do kterého se uloží zadaná hodnota.

Parametr: notify_event
Povinný: ano
Popis: Událost generovaná po výběru hodnoty.

Parametr: refresh_event
Povinný: ano
Popis: Po příjmu této události dojde k znovunačtení seznamu.

5.9 virtuallabmesureclient.hub.modules.experimentcontrol

Číslo grafu - applet

5.9.1 Popis

Tento applet umožňuje nastartovat a ukončit záznam experimentu. Pomocí přepínače je možno zvolit jestli má generovat nové číslo experimentu nebo použít už existující. Na MeasureServeru musí být zapnut fastlog pro piny, které se budou používat.

5.9.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: listen_for_start_event
Povinný: ne
Popis: Číslo události po jejímž přijetí se zahájí záznam experimentu.

Parametr: storage_index
Povinný: ano, pokud je uveden parametr listen_for_start_event
Popis: Index slotu do kterého se uloží číslo experimentu.

Parametr: listen_for_stop_event
Povinný: ne
Popis: Číslo události, po jejímž přijetí se ukončí záznam experimentu.

Parametr: send_event_on_start
Povinný: ne
Popis: Číslo události, která se generuje po startu záznamu experimentu. Pokud není uvedeno nebo je hodnota rovná -1, tak se událost negeneruje.

Parametr: send_event_on_stop
Povinný: ne
Popis: Číslo události, která se generuje po skončení záznamu experimentu. Pokud není uvedeno nebo je hodnota rovná -1, tak se událost negeneruje.

Parametr: experiment_device_count
Povinný: ano
Popis: Počet pinů, kterých se záznam experimentu týká.

Parametr: experiment_device_<X>
Povinný: ano, pokud ExperimentDevicesCount >= X
Popis: Jméno zaznamenávaného pinu.

Parametr: description
Povinný: ne
Popis: Popiska zobrazená u ovládacího přepínače generování nových čísel experimentů.

5.10 virtuallabmesureclient.hub.modules.conditionaldisable

5.10.1 Popis

Experimentální plugin umožňující vypínat a zapínat ovládání v případě, že je na některém pinu hodnota po nějakou dobu mimo zadanou mez.

5.10.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: on_disable_count
Povinný: ne
Popis: Počet pinů, které jsou resetovány v případě, že bylo zablokováno řízení.

Parametr: on_disable_name_<X>
Povinný: ano, pokud OnDisableCount >= X
Popis: Jméno resetovaného pinu.

Parametr: on_disable_value_<X>
Povinný: ano, pokud OnDisableCount >= X
Popis: Hodnota na kterou je pin resetován.

Parametr: monitor_count
Povinný: ne
Popis: Počet pinů, které jsou monitorovány.

Parametr: monitor_name_<X>
Povinný: ano, pokud OnDisableCount >= X
Popis: Jméno monitorovaného pinu.

Parametr: monitor_value_low_<X>
Povinný: ano, pokud OnDisableCount >= X
Popis: Pokud je aktuální hodnota menší než toto číslo, snižuje se čítač aktivity. Pokud čítač dojde na nulu, tak se vypne ovládání.

Parametr: monitor_value_high_<X>
Povinný: ano, pokud OnDisableCount >= X
Popis: Pokud je aktuální hodnota větší než toto číslo, snižuje se čítač aktivity. Pokud čítač dojde na nulu, tak se vypne ovládání.

Parametr: to_disable_timeout
Povinný: ano
Popis: Počáteční hodnota čítače aktivity.

Parametr: to_reenable_timeout
Povinný: ano
Popis: Jak dlouho musí hodnoty zůstat uvnitř rozsahů, než se obnoví vypnuté ovládání.

Parametr: to_autoreset_timeout
Povinný: ano
Popis: Jak dlouho musí hodnoty zůstat uvnitř rozsahů než se resetuje čítač aktivity v případě, že ještě nebylo vypnuto ovládání.

5.11 virtuallabmesureclient.hub.modules.experimentgraph

Graf průběhu experimentu - applet

5.11.1 Popis

Applet zobrazuje graf průběhu jednoho pinu z naměřeného experimentu. Na vodorovné ose je zobrazen čas.

5.11.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: device_name
Povinný: ano
Popis: Jméno načítaného pinu.

Parametr: event_id
Povinný: ano
Popis: Číslo události, po jejímž příjmu dojde k vygenerování grafu.

Parametr: storage_index
Povinný: ano
Popis: Číslo slotu, ve kterém je uloženo číslo experimentu na zobrazení.

Parametr: max_sample_count
Povinný: ano
Popis: Maximální počet vzorků, které jsou načteny z experimentu.

Parametr: step_x
Povinný: ne
Popis: Rozestup v [ms] mezi malými čárkami na vodorovné ose.

Parametr: step_x_big
Povinný: ne
Popis: Rozestup v [ms] mezi velkými čárkami na vodorovné ose.

Parametr: step_y
Povinný: ne
Popis: Rozestup v [ms] mezi malými čárkami na svislé ose.

Parametr: step_y_big
Povinný: ne
Popis: Rozestup v [ms] mezi velkými čárkami na svislé ose.

Parametr: x_axis_description_multiplication_coeficient
Povinný: ne
Popis: Touto hodnotou jsou vynásobeny hodnoty na vodorovné ose (původně v ms) před tím, než jsou zobrazeny jejich popisky.

Parametr: axis_display_mode
Povinný: ne
Popis: Udává režim zobrazování vodorovných os v případě že hodnoty mohou být záporné. 0 - Osa je vedena v nule, 1 - osa je vedena v nule a druhá osa je pod grafem (default), 2 - osa je pod grafem.

Parametr: values_description
Povinný: ne
Popis: Text popisky u osy hodnot. Části textu patřící na samostatné řádky jsou odděleny pomocí symbolu |.

Parametr: time_description
Povinný: ne
Popis: Text popisky u osy času.

Parametr: s_min
Povinný: ano
Popis: Spolu s s_max udává povolený rozsah vstupních hodnot ( s_min, s_max ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max
Povinný: ano
Popis: Spolu s s_min udává povolený rozsah vstupních hodnot ( s_min, s_max ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min
Povinný: ano
Popis: Spolu s d_max udává rozsah zobrazovaných hodnot. Hodnoty z (s_min,s_max) se přemapují na (d_min,d_max). Výsledek = d_min + (d_max - d_min) * (Vstup - s_min) / (s_max - s_min).

Parametr: d_max
Povinný: ano
Popis: Spolu s d_min udává rozsah zobrazovaných hodnot. Hodnoty z (s_min,S se přemapují na (d_min,d_max). Výsledek = d_min + (d_max - d_min) * (Vstup - s_min) / (s_max - s_min).

Parametr: min_multiplier
Povinný: ano
Popis: Spolu s max_multiplier ovlivňuje meze automatického scalování hodnot do velikosti grafu.

Parametr: max_multiplier
Povinný: ano
Popis: Spolu s min_multiplier ovlivňuje meze automatického scalování hodnot do velikosti grafu.

Parametr: positive_only
Povinný: ano
Popis: Pokud nulový tak se použije graf umožňující zobrazení i záporných hodnot.

Parametr: window_width
Povinný: ano
Popis: Šířka obrazu.

Parametr: window_height
Povinný: ano
Popis: Výška obrazu.

5.12 virtuallabmesureclient.hub.modules.fastgraph

Okamžitý průběh experimentu - applet

5.12.1 Popis

Applet zobrazuje realtimový graf hodnoty z několika pinů. Na MeasureServeru musí být zapnut fastlog pro piny, které se budou používat.

5.12.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: refresh
Povinný: ano
Popis: Doba [ms] mezi aktualizacemi pozice scrollbaru a zápisem změn na server.

Parametr: device_count
Povinný: ano
Popis: Počet zobrazovaných pinů.

Parametr: s_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_max_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_min_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_max_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: d_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_min_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: device_name_<X>
Povinný: ano, pokud device_count >= X
Popis: Udává jméno pinu.

Parametr: description_<X>
Povinný: ano, pokud device_count >= X
Popis: Udává popisku pinu, zatím se nezobrazuje.

Parametr: color_x
Povinný: ne, je vhodné použit pokud device_count >= x
Popis: Očekává hexadecimální číslo udávajíc barvu křivky odpovídající tomuto pinu.

Parametr: min_multiplier
Povinný: ano
Popis: Spolu s max_multiplier ovlivňuje meze automatické změny měřítka hodnot do velikosti grafu.

Parametr: max_multiplier
Povinný: ano
Popis: Spolu s min_multiplier ovlivňuje meze automatické změny měřítka hodnot do velikosti grafu.

Parametr: positive_only
Povinný: ano
Popis: Pokud nulový, tak se použije graf umožňující zobrazení i záporných hodnot.

Parametr: window_width
Povinný: ano
Popis: Šířka obrazu.

Parametr: window_height
Povinný: ano
Popis: Výška obrazu.

Parametr: window_length_in_ms
Povinný: ano
Popis: Kolik milisekund se vejde najednou do okna.

Parametr: on_off_toggle_state
Povinný: ne
Popis: Udává, jestli je možno vypínat a zapínat zobrazování grafu. 0 - není možno měnit (defaultní), 1 - je možné a defaultně zapnuté, 2 - je možné a defaultně vypnuté.

Parametr: description
Povinný: ne
Popis: Popisek uvedený u vypínače, pokud je vypínač zobrazen.

Parametr: step_x
Povinný: ne
Popis: Rozestup v [ms] mezi malými čárkami na vodorovné ose.

Parametr: step_x_big
Povinný: ne
Popis: Rozestup v [ms] mezi velkými čárkami na vodorovné ose.
Parametr: step_y
Povinný: ne
Popis: Rozestup v [ms] mezi malými čárkami na svislé ose.

Parametr: step_y_big
Povinný: ne
Popis: Rozestup v [ms] mezi velkými čárkami na svislé ose.

Parametr: x_axis_description_multiplication_coeficient
Povinný: ne
Popis: Touto hodnotou jsou vynásobeny hodnoty na vodorovné ose (původně v ms) před tím, než jsou zobrazeny jejich popisky.

Parametr: background_color
Povinný: ne
Popis: Barva pozadí grafu hexadecimálně BBGGRR.

Parametr: text_color
Povinný: ne
Popis: Barva textových popisek grafu hexadecimálně BBGGRR.

Parametr: axis_color
Povinný: ne
Popis: Barva os grafu hexadecimálně BBGGRR.

Parametr: small_marks_color
Povinný: ne
Popis: Barva malých značek v grafu hexadecimálně BBGGRR.

Parametr: big_marks_color
Povinný: ne
Popis: Barva velkých značek v grafu hexadecimálně BBGGRR.

5.13 virtuallabmesureclient.hub.modules.experimentlist

Vygenerovaná stránka s hodnotami - applet

5.13.1 Popis

Tento applet umožňuje uživatelsky s pomocí Javascript zpracovat hodnoty z naměřeného experimentu. Pro tuto činnost používá tři Javascript funkce, které uživatel nadefinuje ve stránce a appletu předá jejích jména. Jsou to data_start(čísl_oexperimentu), data_add(číslo_experimentu, data_pinu1, data_pinu2,...) a data_end(číslo_experimentu). V případě že je zapnuté průměrování dat (viz kapitola 5.19), má funkce data_add() dodatečné parametry: data_add(číslo_experimentu, zprumerovana_data_pinu1, zprumerovana_data_pinu2, ..., hodnota_averaging_control_pinu, stredni_kvadraticka_chyba_pinu1, stredni_kvadraticka_chyba_pinu2, ..., stredni_kvadraticka_chyba_control_pinu, pocet_vzorku ). Applet po získání dat zavolá nejdříve funkci data_start. Pak volá několikrát funkci data_add. Při každém zavolání jí předá pro každý pin do parametru řetězec obsahující maximálně 50 naměřených hodnot. V případě, že pro daný pin už žádné nezbývají, tak je řetězec prázdný. Poté zavolá funkci data_end. Řetězec má formát tvaru Časvzorkul:vzorekl:časvzorku2:vzorek2. Časy jsou udávány v ms od začátku experimentu.

Applet musí mít ve svém tagu uveden modifikátor MAYSCRIPT aby mohl volat javascript funkce.

5.13.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: event_id
Povinný: ano
Popis: Číslo události, po jejímž příjmu dojde k zpracovani experimentu.

Parametr: storage_index
Povinný: ano
Popis: Číslo slotu, ve kterém je uloženo číslo experimentu na zpracování.

Parametr: maximal_sample_count
Povinný: ano
Popis: Maximální počet načtených vzorků.

Parametr: data_start
Povinný: ano
Popis: Jméno data_start funkce.

Parametr: data_add
Povinný: ano
Popis: Jméno data_add funkce.

Parametr: data_end
Povinný: ano
Popis: Jméno data_end funkce.

Parametr: device_count
Povinný: ano
Popis: Počet zpracovaných pinů.

Parametr: s_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_max_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_min_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_max_<X> udává rozsah předávaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>)

Parametr: d_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_min_<X> udává rozsah předávaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>)

Parametr: device_name_<X>
Povinný: ano, pokud device_count >= X
Popis: Udává jméno pinu.

Parametr: averaging_control_input
Povinný: ne
Popis:Obsahuje jméno pinu, který se má použit na průměrování dat. V případě, že je uveden, musí být experiment nastaven tak, aby zaznamenával i tento pin a funkce uvedená v data_add musí obsahovat dodatečné parametry. Podrobnější popis způsobu průměrování je uveden v kapitole 5.19

5.14 virtuallabmesureclient.hub.modules.graph2d

Graf dvou hodnot - applet

5.14.1 Popis

Tento applet umožňuje průběžně zobrazovat graf dvou veličin měřených ze dvou pinů. Dá se použít pro experimenty jako je volt-amperová charakteristika. Pro jeho požití je potřeba splnit následující: Na MeasureServeru musí být zapnut fastlog pro oba piny, které se budou používat, a pro oba musí být nastavena stejná frekvence fastlog-u. Prvnímu pinu odpovídá vodorovná osa. Druhému pinu odpovídá osa svislá. Graf může zobrazovat buď pevně daný rozsah hodnot nebo měřítko automaticky přizpůsobovat naměřeným hodnotám.

5.14.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: window_width
Povinný: ano
Popis: Šířka obrazu.

Parametr: window_height
Povinný: ano
Popis: Výška obrazu.

Parametr: s_min_x
Povinný: ne
Popis: Spolu s s_max_x udává povolený rozsah vstupních hodnot ( s_min_x, s_max_x ) pro první pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_x
Povinný: ne
Popis: Spolu s s_min_x udává povolený rozsah vstupních hodnot ( s_min_x, s_max_x ) pro první pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_x
Povinný: ne
Popis: Spolu s d_max_x udává rozsah zobrazovaných hodnot pro první pin. Hodnoty z (s_min_x, s_max_x) se přemapují na (d_min_x, d_max_x). Výsledek = d_min_x + (d_max_x - d_min_x) * (Vstupx - s_min_x) / (s_max_x - s_min_x).

Parametr: d_max_x
Povinný: ne
Popis: Spolu s d_min_x udává rozsah zobrazovaných hodnot pro první pin. Hodnoty z (s_min_x, s_max_x) se přemapují na (d_min_x, d_max_x). Výsledek = d_min_x + (d_max_x - d_min_x) * (Vstupx - s_min_x) / (s_max_x - s_min_x).

Parametr: s_min_y
Povinný: ne
Popis: Spolu s s_max_y udává povolený rozsah vstupních hodnot ( s_min_y, s_max_y ) pro druhý pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_y
Povinný: ne
Popis: Spolu s s_min_y udává povolený rozsah vstupních hodnot ( s_min_y, s_max_y ) pro druhý pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_y
Povinný: ne
Popis: Spolu s d_max_y udává rozsah zobrazovaných hodnot pro druhý pin. Hodnoty z (s_min_y, s_max_y) se přemapují na (d_min_y, d_max_y). Výsledek = d_min_y + (d_max_y - d_min_y) * (Vstupx - s_min_y) / (s_max_y - s_min_y).

Parametr: d_max_y
Povinný: ne
Popis: Spolu s d_min_y udává rozsah zobrazovaných hodnot pro druhý pin. Hodnoty z (s_min_y, s_max_y) se přemapují na (d_min_y, d_max_y). Výsledek = d_min_y + (d_max_y - d_min_y) * (Vstupx - s_min_y) / (s_max_y - s_min_y).

Parametr: step_x
Povinný: ne
Popis: Rozestup v mezi malými čárkami na vodorovné ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: step_x_big
Povinný: ne
Popis: Rozestup v mezi velkými čárkami na vodorovné ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: step_y
Povinný: ne
Popis: Rozestup v mezi malými čárkami na svislé ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: step_y_big
Povinný: ne
Popis: Rozestup v mezi velkými čárkami na svislé ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: boundary_size
Povinný: ne
Popis: Velikost místa mezi okrajem kreslící plochy a oblasti, do které se kreslí hodnoty grafu. Udáváno v pixlech.

Parametr: left_min
Povinný: ne
Popis: Společne s left_max udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet levý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: left_max
Povinný: ne
Popis: Společne s left_min udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet levý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: right_min
Povinný: ne
Popis: Společne s right_max udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet pravý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: right_max
Povinný: ne
Popis: Společne s right_min udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet pravý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: bottom_min
Povinný: ne
Popis: Společne s bottom_max udává rozsah hodnot na svislé ose, mezi kterými se může nacházet spodní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: bottom_max
Povinný: ne
Popis: Společne s bottom_min udává rozsah hodnot na svislé ose, mezi kterými se může nacházet spodní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: top_min
Povinný: ne
Popis: Společne s top_max udává rozsah hodnot na svislé ose, mezi kterými se může nacházet horní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: top_max
Povinný: ne
Popis: Společne s top_min udává rozsah hodnot na svislé ose, mezi kterými se může nacházet horní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: horizontal_axis_value
Povinný: ne
Popis: Udává hodnotu na svislé ose, kterou má procházet vodorovná osa. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: vertical_axis_value
Povinný: ne
Popis: Udává hodnotu na vodorovné ose, kterou má procházet svislá osa. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: refresh
Povinný: ne
Popis: Doba [ms] mezi aktualizacemi grafu. Pokud neuvedeno, použije se hodnota 250ms.

Parametr: reset_event
Povinný: ne
Popis: Pokud je uveden tak příslušná událost vymaže graf.

Parametr: description_count
Povinný: ne
Popis: Počet popisek v grafu

Parametr: description_text_<X>
Povinný: ano, pokud description_count >= X
Popis: Text popisky. Části textu patřící na samostatné řádky jsou odděleny pomocí symbolu |

Parametr: description_x_<X>
Povinný: ano, pokud description_count >= X
Popis: Pozice popisku v ose X. Střed popisku v ose X bude na této pozici. Interpretace hodnoty záleží na hodnotě description_position_in_values_<X>

Parametr: description_y_<X>
Povinný: ano, pokud description_count >= X
Popis: Pozice popisku v ose Y. Střed popisku v ose Y bude na této pozici. Interpretace hodnoty záleží na hodnotě description_position_in_values_<X>

Parametr: description_position_in_values_<X>
Povinný: ano, pokud description_count >= X
Popis: Určuje zůsob interpretace pozice popisku. Pokud je roven hodnotě 0 tak pozice jsou udávány v násobcích rozměrů okna tj. pozice 0.5 odpovídá prostředku okna v přislušné ose. a relativně k levému dolnímu rohu okna. Pokud je tento prametr je nenulový, hodnoty odpovídají pozicím na které se v grafu zobrazí příslušné hodnoty z pinu pro příslušné osy. tj. pozice 0.5 odpovídá místu kde vy se v grafu zobrazil naměřený bod s odpovídající hodnotou v příslušné ose.

5.15 virtuallabmesureclient.hub.modules.experimentgraph2d

Graf dvou hodnot - applet

5.15.1 Popis

Tento applet umožňuje zobrazit graf dvou veličin měřených ze dvou pinů v rámci jednoho experimentu. Dá se použít pro experimenty jako je volt-amperová charakteristika. Pro jeho požití je potřeba splnit následující: Na MeasureServeru musí být zapnut fastlog pro oba piny, které se budou používat, a pro oba musí být nastavena stejná frekvence fastlog-u Prvnímu pinu odpovídá vodorovná osa. Druhému pinu odpovídá osa svislá. Graf může zobrazovat buď pevně danný rozsah hodnot nebo měřítko automaticky přizpůsobovat naměřeným hodnotám.

5.15.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: window_width
Povinný: ano
Popis: Šířka obrazu.

Parametr: window_height
Povinný: ano
Popis: Výška obrazu.

Parametr: event_id
Povinný: ano
Popis: Číslo události, po jejímž příjmu dojde k vygenerování grafu.

Parametr: storage_index
Povinný: ano
Popis: Číslo slotu, ve kterém je uloženo číslo experimentu na zobrazení.

Parametr: max_sample_count
Povinný: ano
Popis: Maximální počet vzorků, které jsou načteny z experimentu.

Parametr: s_min_x
Povinný: ne
Popis: Spolu s s_max_x udává povolený rozsah vstupních hodnot ( s_min_x, s_max_x ) pro první pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_x
Povinný: ne
Popis: Spolu s s_min_x udává povolený rozsah vstupních hodnot ( s_min_x, s_max_x ) pro první pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_x
Povinný: ne
Popis: Spolu s d_max_x udává rozsah zobrazovaných hodnot pro první pin. Hodnoty z (s_min_x, s_max_x) se přemapují na (d_min_x, d_max_x). Výsledek = d_min_x + (d_max_x - d_min_x) * (Vstupx - s_min_x) / (s_max_x - s_min_x).

Parametr: d_max_x
Povinný: ne
Popis: Spolu s d_min_x udává rozsah zobrazovaných hodnot pro první pin. Hodnoty z (s_min_x, s_max_x) se přemapují na (d_min_x, d_max_x). Výsledek = d_min_x + (d_max_x - d_min_x) * (Vstupx - s_min_x) / (s_max_x - s_min_x).

Parametr: s_min_y
Povinný: ne
Popis: Spolu s s_max_y udává povolený rozsah vstupních hodnot ( s_min_y, s_max_y ) pro druhý pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_y
Povinný: ne
Popis: Spolu s s_min_y udává povolený rozsah vstupních hodnot ( s_min_y, s_max_y ) pro druhý pin. Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_y
Povinný: ne
Popis: Spolu s d_max_y udává rozsah zobrazovaných hodnot pro druhý pin. Hodnoty z (s_min_y, s_max_y) se přemapují na (d_min_y, d_max_y). Výsledek = d_min_y + (d_max_y - d_min_y) * (Vstupx - s_min_y) / (s_max_y - s_min_y).

Parametr: d_max_y
Povinný: ne
Popis: Spolu s d_min_y udává rozsah zobrazovaných hodnot pro druhý pin. Hodnoty z (s_min_y, s_max_y) se přemapují na (d_min_y, d_max_y). Výsledek = d_min_y + (d_max_y - d_min_y) * (Vstupx - s_min_y) / (s_max_y - s_min_y).

Parametr: step_x
Povinný: ne
Popis: Rozestup v mezi malými čárkami na vodorovné ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: step_x_big
Povinný: ne
Popis: Rozestup v mezi velkými čárkami na vodorovné ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: step_y
Povinný: ne
Popis: Rozestup v mezi malými čárkami na svislé ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: step_y_big
Povinný: ne
Popis: Rozestup v mezi velkými čárkami na svislé ose. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: boundary_size
Povinný: ne
Popis: Velikost místa mezi okrajem kreslící plochy a oblasti, do které se kreslí hodnoty grafu. Udáváno v pixlech.

Parametr: left_min
Povinný: ne
Popis: Společne s left_max udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet levý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: left_max
Povinný: ne
Popis: Společne s left_min udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet levý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: right_min
Povinný: ne
Popis: Společne s right_max udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet pravý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: right_max
Povinný: ne
Popis: Společne s right_min udává rozsah hodnot na vodorovné ose, mezi kterými se může nacházet pravý okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: bottom_min
Povinný: ne
Popis: Společne s bottom_max udává rozsah hodnot na svislé ose, mezi kterými se může nacházet spodní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: bottom_max
Povinný: ne
Popis: Společne s bottom_min udává rozsah hodnot na svislé ose, mezi kterými se může nacházet spodní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: top_min
Povinný: ne
Popis: Společne s top_max udává rozsah hodnot na svislé ose, mezi kterými se může nacházet horní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: top_max
Povinný: ne
Popis: Společne s top_min udává rozsah hodnot na svislé ose, mezi kterými se může nacházet horní okraj grafu. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: horizontal_axis_value
Povinný: ne
Popis: Udává hodnotu na svislé ose, kterou má procházet vodorovná osa. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_y_*

Parametr: vertical_axis_value
Povinný: ne
Popis: Udává hodnotu na vodorovné ose, kterou má procházet svislá osa. Hodnota je udána ve stejných jednotkách, v jakých jsou uvedeny hodnoty d_x_*

Parametr: reset_event
Povinný: ne
Popis: Pokud je uveden tak příslušná událost vymaže graf.

Parametr: description_count
Povinný: ne
Popis: Počet popisků v grafu

Parametr: description_text_<X>
Povinný: ano, pokud description_count >= X
Popis: Text popisku. Části textu patřící na samostatné řádky jsou odděleny pomocí symbolu |

Parametr: description_x_<X>
Povinný: ano, pokud description_count >= X
Popis: Pozice popisku v ose X. Střed popisku v ose X bude na této pozici. Interpretace hodnoty záleží na hodnotě description_position_in_values_<X>

Parametr: description_y_<X>
Povinný: ano, pokud description_count >= X
Popis: Pozice popisku v ose Y. Střed popisku v ose Y bude na této pozici. Interpretace hodnoty záleží na hodnotě description_position_in_values_<X>

Parametr: description_position_in_values_<X>
Povinný: ano, pokud description_count >= X
Popis: Určuje zůsob interpretace pozice popisku. Pokud je roven hodnotě 0 tak pozice jsou udávány v násobcích rozměrů okna tj. pozice 0.5 odpovídá prostředku okna v přislušné ose. a relativně k levému dolnímu rohu okna. Pokud je tento prametr je nenulový, hodnoty odpovídají pozicím na které se v grafu zobrazí příslušné hodnoty z pinu pro příslušné osy. tj. pozice 0.5 odpovídá místu kde by se v grafu zobrazil naměřený bod s odpovídající hodnotou v příslušné ose.

Parametr: averaging_control_input
Povinný: ne
Popis:Obsahuje jméno pinu, který se má použit na průměrování dat. V případě, že je uveden, musí být experiment nastaven tak, aby zaznamenával i tento pin. Podrobnější popis způsobu průměrování je uveden v kapitole 5.19

5.16 virtuallabmesureclient.hub.modules.periodicsend

5.16.1 Popis

Tento applet pošle každých x milisekund na uvedný pin uvedenou hodnotu. Zamýšlené použití je pro informování pluginů na serveru že je klient připojený a že mají například rozsvítit světlo nebo nechat běžet fyzickou část experimentu (například motory).

5.16.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: periode
Povinný: ano
Popis: Doba [ms] mezi vysláními hodnoty.

Parametr: device_name
Povinný: ne
Popis: Pin, na nějž se hodnota zapisuje.

Parametr: value
Povinný: ano
Popis: Hodnota která se zapisuje.

5.17 virtuallabmesureclient.hub.modules.historylist

5.17.1 Popis

Tento applet umožňuje uživatelsky s pomocí Javascript zpracovat hodnoty z naměřené historie. Pro jeho fungování je potřeba, aby bylo zapnuté dlouhodobé logování dat. Applet momentálně očekává, že dostane informace týkající se zobrazovaného rozsahu pomocí hodnot uložených ve slotech takže je pořeba ho zkombinovat s applety valuelistselect či valueselect pro jejich výběr. Applet podporuje nadefinování několika pinů mezi kterými je možné za běhu přepínat pomocí hodnoty nastaveného slotu.

Applet pro svoji činnost používá tři Javascript funkce, které uživatel nadefinuje ve stránce a appletu předá jejích jména. Jsou to data_start(), data_add(data) a data_end(). Applet po získání dat zavolá nejdříve funkci data_start. Pak volá několikrát funkci data_add. Při každém zavolání jí předá řetězec obsahující část naměřených hodnot s následujícím tvarem:
cas_v_sekundach_vzorku_x@cas_vzorku_x@hodnota_vzorku_x@cas_v_sekundach_vzorku_y@cas_vzorku_y@hodnota_vzorku_y@...
kde

Po poslání všech dat je zavolána funkce data_end.

Applet musí mít ve svém tagu uveden modifikátor MAYSCRIPT aby mohl volat javascript funkce.

5.17.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: device_count
Povinný: ano
Popis:Počet pinů mezi kterými je možné vybírat za běhu. Defaultně je vybraný pin 1.

Parametr: s_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_max_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_min_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_max_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: d_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_min_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: device_name_<X>
Povinný: ano, pokud device_count >= X
Popis: Udává jméno pinu.

Parametr: event_id
Povinný: ano
Popis: Číslo události, po jejímž příjmu dojde k zpracování dat.

Parametr: storage_index
Povinný: ano
Popis: Index bloku osmi slotů obsahujících informace řídící zobrazení appletu s následujícím významem.
SlotVýznam
storage_indexČíslo počátečního roku (např. 2007)
storage_index+1Číslo počátečního měsíce (např. 1..leden)
storage_index+2Číslo počátečního dne (např. 17). Interpretuje se jako 00:00 uvedeného dne.
storage_index+3Číslo koncového roku (např. 2007)
storage_index+4Číslo koncového měsíce (1..leden)
storage_index+5Číslo koncového dne (např. 17). Interpretuje se jako 23:59 uvedeného dne. Tj. pokud je počáteční a koncový den stejný, jsou zobrazené hodnoty pro uvedený den.
storage_index+6Výběr konkrétní hodiny ve dni, ze které se mají hodnoty vzít. Například hodnota 14 znamená že graf bude obsahovat hodnoty naměřené každý den v intervalu v 14:00. Hodnota -1 znamená, že se použijí hodnoty z celého dne.
storage_index+7Výběr použitého pinu ze seznamu nadefinovaném v appletu pomocí parametrů device_name_x. Hodnota 0 odpovídá prvnímu pinu, 1 druhému atd.

Parametr: data_start
Povinný: ano
Popis: Jméno data_start funkce.

Parametr: data_add
Povinný: ano
Popis: Jméno data_add funkce.

Parametr: data_end
Povinný: ano
Popis: Jméno data_end funkce.

Parametr: maximal_time_span
Povinný: ne
Popis: Maximální délka zadaného intervalu v sekundách. Applet má interní limit na cca 16 milionu sekund, tj. cca 185 dní.

Parametr: minute_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle pošle se z každé minuty intervalu pouze jeden vzorek.

Parametr: ten_minut_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých deseti minut intervalu pouze jeden vzorek.

Parametr: hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každé hodiny intervalu pouze jeden vzorek.

Parametr: three_hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých tří hodin intervalu pouze jeden vzorek.

Parametr: six_hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých šesti hodin intervalu pouze jeden vzorek.

Parametr: end_before_or_same_as_start
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud je koncový čas intervalu menší nebo roven počátečnímu času.

Parametr: too_long_time_span
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud je zadaný interval příliš dlouhý.

Parametr: no_data_in_range
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud v uvedeném intervalu nejsou naměřená žádná data.

5.18 virtuallabmesureclient.hub.modules.historygraph2

Hub - applet

5.18.1 Popis

Tento applet zobrazuje graf z naměřené historie. Pro jeho fungování je potřeba, aby bylo zapnuté dlouhodobé logování dat. Applet momentálně očekává, že dostane informace týkající se zobrazovaného rozsahu pomocí hodnot uložených ve slotech takže je pořeba ho zkombinovat s applety valuelistselect či valueselect pro jejich výběr. Applet podporuje nadefinování několika pinů mezi kterými je možné za běhu přepínat pomocí hodnoty nastaveného slotu.

5.18.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: device_count
Povinný: ano
Popis:Počet pinů mezi kterými je možné vybírat za běhu. Defaultně je vybraný pin 1.

Parametr: s_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_max_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: s_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s s_min_<X> udává povolený rozsah vstupních hodnot ( s_min_<X>, s_max_<X> ). Hodnoty mimo rozsah jsou zaokrouhleny na hodnotu okraje.

Parametr: d_min_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_max_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: d_max_<X>
Povinný: ano, pokud device_count >= X
Popis: Spolu s d_min_<X> udává rozsah zobrazovaných hodnot. Hodnoty z (s_min_<X>, s_max_<X>) se přemapují na (d_min_<X>, d_max_<X>). Výsledek = d_min_<X> + (d_max_<X> - d_min_<X>) * (Vstupx - s_min_<X>) / (s_max_<X> - s_min_<X>).

Parametr: device_name_<X>
Povinný: ano, pokud device_count >= X
Popis: Udává jméno pinu.

Parametr: step_y_<X>
Povinný: ano, pokud device_count >= X
Popis: Rozestup v mezi čárkami na svislé ose. Velké čárky se vygenerují u každé popisky.
Parametr: values_description_<X>
Povinný: ne
Popis: Text popisky u osy hodnot. Části textu patřící na samostatné řádky jsou odděleny pomocí symbolu |.

Parametr: fractional_digit_count_<X>
Povinný: ne
Popis: Počet desetiných míst u hodnot zobrazovaných na svislé ose.

Parametr: initial_days
Povinný: ne
Popis: Pokud je větší než nula, udává počet posledních dnů který se má zobrazit. Data jsou zobrazena vždy od začátku uvedeného dne do konce aktuálního dne. Tj. pokud je hodnota 1, jsou zobrazena data za dnešní den. Pokud je hodnota 2 jsou zobrazena data od včerejšího rána atd.

Parametr: event_id
Povinný: ano
Popis: Číslo události, po jejímž příjmu dojde k zpracování dat.

Parametr: storage_index
Povinný: ano
Popis: Index bloku osmi slotů obsahujících informace řídící zobrazení appletu s následujícím významem.
SlotVýznam
storage_indexČíslo počátečního roku (např. 2007)
storage_index+1Číslo počátečního měsíce (např. 1..leden)
storage_index+2Číslo počátečního dne (např. 17). Interpretuje se jako 00:00 uvedeného dne.
storage_index+3Číslo koncového roku (např. 2007)
storage_index+4Číslo koncového měsíce (1..leden)
storage_index+5Číslo koncového dne (např. 17). Interpretuje se jako 23:59 uvedeného dne. Tj. pokud je počáteční a koncový den stejný, jsou zobrazené hodnoty pro uvedený den.
storage_index+6Výběr konkrétní hodiny ve dni, ze které se mají hodnoty vzít. Například hodnota 14 znamená že graf bude obsahovat hodnoty naměřené každý den v intervalu v 14:00. Hodnota -1 znamená, že se použijí hodnoty z celého dne.
storage_index+7Výběr použitého pinu ze seznamu nadefinovaném v appletu pomocí parametrů device_name_x. Hodnota 0 odpovídá prvnímu pinu, 1 druhému atd.

Parametr: max_sample_count
Povinný: ano
Popis: Maximální počet vzorků které applet přijme ze serveru bez ohledu na délku uvedeného rozsahu.

Parametr: axis_display_mode
Povinný: ne
Popis:Udává jakým způsobem se bude zobrazovat osa grafu. Hodnota 0 znamená že osa bude zobrazena v hodnotě nula. Hodnota 1 znamená, že osa bude zobrazena ve spodní části grafu bez ohledu na to, kde je hodnota nula. Hodnota 2 pak zobrazí osu na obou místech.

Parametr: display_fractional_digit_count_x
Povinný: ne
Popis: Počet desetiných míst u popisek na vodorovné ose.

Parametr: display_fractional_digit_count_y
Povinný: ne
Popis: Počet desetiných míst u popisek na svislé ose.

Parametr: time_axis_specifiers_count
Povinný: ano
Popis: Počet různých způsobů formátování časové osy. Při zobrazení se vybere první způsob formátování který je možné použít při odpovídající délce intervalu.

Parametr: specifier_usage_base_<X>
Povinný: ano, pokud time_axis_specifiers_count >= X
Popis:Minimální délka intervalu v minutách pro kterou se toto formátování může použít.

Parametr: seconds_per_description_<X>
Povinný: ano, pokud time_axis_specifiers_count >= X
Popis:Kolik sekund odpovídá změně hodnoty v popisce na časové ose o 1. Například pokud je zde hodnota 60 tak hodnoty na časové ose budou representovat minuty. Když 3600 tak hodiny atd.

Parametr: time_caption_<X>
Povinný: ano, pokud time_axis_specifiers_count >= X
Popis:Popiska časové osy.

Parametr: step_x_<X>
Povinný: ano, pokud time_axis_specifiers_count >= X
Popis:Krok v sekundách mezi malými čárkami na časové ose.

Parametr: step_x_big_<X>
Povinný: ano, pokud time_axis_specifiers_count >= X
Popis:Krok v sekundách mezi velkými čárkami s popiskami na časové ose.

Parametr: maximal_time_span
Povinný: ne
Popis: Maximální délka zadaného intervalu v sekundách. Applet má interní limit na cca 16 milionu sekund, tj. cca 185 dní.

Parametr: minute_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle pošle se z každé minuty intervalu pouze jeden vzorek.

Parametr: ten_minut_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých deseti minut intervalu pouze jeden vzorek.

Parametr: hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každé hodiny intervalu pouze jeden vzorek.

Parametr: three_hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých tří hodin intervalu pouze jeden vzorek.

Parametr: six_hour_boundary
Povinný: ne
Popis:Pokud je délka intervalu větší než tato hodnota uvedená v minutách, posle se z každých šesti hodin intervalu pouze jeden vzorek.

Parametr: window_width
Povinný: ano
Popis: Šířka okna

Parametr: window_height
Povinný: ano
Popis: Výška okna

Parametr: end_before_or_same_as_start
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud je koncový čas intervalu menší nebo roven počátečnímu času.

Parametr: too_long_time_span
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud je zadaný interval příliš dlouhý.

Parametr: no_data_in_range
Povinný: ne
Popis:Chybová hláška která se zobrazí na appletu pokud v uvedeném intervalu nejsou naměřená žádná data.

5.19 virtuallabmesureclient.hub.modules.burstexperiment

Burst experiment - applet

5.19.1 Popis

Tento applet slouží pro zahájení krátkodobého experimentu s vysokou frekvencí záznamu. Tento applet úzce spolupracuje s ScriptablePlugin serverovým pluginem, který definuje vlastní obsah experimentu (co se bude generovat na výstupu, jak se zpracují naměřená data) takže bez tohoto pluginu není možné ho použít. Vzhledem k omezením současných pluginů je také vyžadována karta PCI1202.

Po dobu běhu krátkodobého experimentu server nevykonává žádnou další činnost a výsledek experimentu je následně uložen jako běžný experiment pro pinny burst_0 až burst_7. Díky tomu je možné na jejich zpracování použít kterýkoliv applet pracující s experimenty.

5.19.2 Parametry

Parametr: hub_name
Povinný: ano
Popis: Jméno hubu, který applet používá ke komunikaci se serverem.

Parametr: listen_for_start_event
Povinný: ne
Popis: Číslo události po jejímž přijetí se zahájí záznam experimentu.

Parametr: storage_index
Povinný: ano, pokud je uveden parametr listen_for_start_event
Popis: Index slotu do kterého se uloží číslo experimentu.

Parametr: send_event_on_start
Povinný: ne
Popis: Číslo události, která se generuje po startu záznamu experimentu. Pokud není uvedeno nebo je hodnota rovná -1, tak se událost negeneruje.

Parametr: send_event_on_stop
Povinný: ne
Popis: Číslo události, která se generuje po skončení záznamu experimentu. Pokud není uvedeno nebo je hodnota rovná -1, tak se událost negeneruje.

Parametr: experiment_name
Povinný: ano
Popis: Jméno experimentu který má proběhnout.

Parametr: experiment_duration
Povinný: ano
Popis: Požadovaná doba trváni experimentu v ms. Server má možnost tuto dobu změnit.

5.20 Průměrování

Některé applety pracující s experimenty podporují průměrování naměřených dat. V takovéme případě používají dodatečný pin, který obsahuje hodnotu řídící průměrování. Postup průměrování je následující: Naměřená data jsou zpracovávána v pořadí v jakém byla naměřena a z každého souvislého bloku dat, který má stejnou hodnotu na řídícim pinu, se spočítá průměrná hodnota, střední kvadratická chyba a počet vzorků v bloku. Výsledné hodnoty se pak tváří jako jeden naměřený vzorek.

V případě grafových pluginů se jiné hodnoty než průmery ignorují a průmery se zobrazí jako naměřená data. V případě experimentlist pluginu dostane funkce data_add všechny tyto informace.