# Přehled virtuálních přístrojů

Systém Control Web nabízí všechny komponenty nezbytné k tvorbě vizualizačních aplikací - zobrazovací a ovládací prvky, alarmy a archivy, historické trendy apod. Tyto komponenty jsou zabudovány v systému jako množina virtuálních přístrojů. Tato množina není pevně dána a je možné ji libovolně rozšiřovat. Každý přístroj je dynamicky linkovaná knihovna detekovaná při startu systému.

## Vstupní hesla knihovní reference

Součástí dokumentace systému Control Web je referenční popis každého virtuálního přístroje. Tento popis má pro všechny přístroje jednotnou strukturu, která je popsána v následujících odstavcích, kde jsou vysvětlena všechna hesla používaná v popisu funkcí a parametrů přístroje.

  # jméno přístroje

  ### Funkce

  Popis základní funkce přístroje.

  ### Syntax

    Syntax deklarace všech parametrů přístroje. Jména parametrů jsou psána tučným, jejich obsah normálním písmem. Obsah parametru je od jeho názvu oddělen znakem =. Obsahem parametru může být některý z následujících typů hodnot:
      = real . . . numerická hodnota s desetinnou čárkou
      = integer . . . numerická hodnota bez desetinné čárky
      = boolean . . . logická hodnota
      = string . . . řetězec
      = any . . . libovolný typ hodnoty
      = any_expression . . . výraz uvedeného typu
      = any_dataelement . . . jméno dataelementu (proměnné nebo kanálu) udaného typu
      = identifier . . . jedno z klíčových slov tučně uvedených v dalším popisu daného parametru
      = [ identifier, . . . ] . . . žádné nebo více klíčových slov
      = instrument_name . . . jméno uvedeného přístroje
      = driver_name . . . jméno definovaného ovladače
      = file_name . . . jméno souboru
      = color . . . definice barvy
      = žádný parametr . . . uvedení klíčového slova je již jeho nastavením na logickou hodnotu "TRUE"
      = xxx_name . . . tam, kde je více možností nastavení parametru, bude uveden pouze tento obecný tvar (např. parametr timer)
    Parametry jsou seřazeny tak, jak jsou vypsány při upuštění symbolu přístroje z dialogového okna "Paleta přístrojů" do textového editoru. Jako první v pořadí jsou uvedeny tzv. "standardní parametry přístroje", což jsou parametry, jejichž význam je shodný pro všechny přístroje. Za nimi následují specifické parametry přístroje, tedy parametry charakterizující příslušný přistroj.

  ### Specifické parametry přístroje

  Takto nadepsaná část blíže konkretizuje funkci i obsah jednotlivých parametrů přístroje. Jsou zde uvedeny pouze parametry specifické pro daný přístroj.

  ### Poznámky

    Poznámky zahrnují veškerý text, kterým je nutno popis přístroje doplnit a speciálně vysvětlit. Do poznámek zpravidla zahrneme i implicitní nastavení hodnot parametrů.

  ### Příklad

    Příklad je vzorová ukázka nastavení parametrů přístroje.

  ### Nativní procedury přístroje

    Obsahuje seznam nativních procedure přístroje a jejich popis.

  ### Událostní procedury přístroje

    Obsahuje seznam událostních procedur přístroje a jejich popis.

## Obecný popis přístroje

V následujících odstavcích jsou vysvětleny parametry, které mohou být uvedeny v referenčním popisu přístrojů kde již nebudou dále popisovány.

### Syntax:

  Všechny přístroje mají v seznamu uvedeny jako první v pořadí tzv. standardní parametry. Jsou to parametry, jejichž význam je naprosto totožný pro všechny přístroje, v jejichž syntaxi jsou uvedeny. Jsou to parametry:
    rem = string;
    bubble = string;
    timer = timer_name;
    owner = owner_name;
    position = integer, integer, integer, integer;
    win_disable = [ identifier, . . . ];
    win_title = string;
    access = integer;
    tab_select = integer;
    send_same_data;

### Standardní parametry přístroje:

- rem - obsahuje textovou poznámku k přístroji. Pro vlastní funkčnost ani pro obsluhu aplikace nemá žádný význam (slouží pro vývojáře aplikace). Tento parametr je nepovinný.
- bubble - obsahuje text nápovědy k přístroji. Nápověda se zobrazí za běhu aplikace ve formě bubliny po najetí myší do plochy přístroje. Má význam pouze u viditelných přístrojů. Tento parametr je nepovinný (pokud se text nápovědy nezadá, bublina se nebude zobrazovat).
- timer - udává způsob časování přístroje. Může obsahovat přímo číselnou hodnotu, udávající periodu časování v sekundách, nebo jméno vlastníka v časovací struktuře. Není-li timer uveden, není přístroj časován v rámci časovací struktury, může však být aktivován jinými přístroji pomocí parametru recivers nebo driver_exception. Obsahem parametru mohou být tyto možnosti:
    timer = timer_name, real;
    timer = real, real;
  kde timer_name představuje konkrétní název některého z časovačů, a následující číslo je pořadí v tomto časovači.
  Je-li jako první uvedeno číslo real, jeho hodnota představuje periodu časování a čísloreal na druhé pozici představuje tzv. offset neboli relativní posunutí časování.
- owner - obsahuje jméno vlastníka ve vizuální struktuře, kterým může být jméno panelu nebo klíčové slovo background, pokud má být přístroj přímo na pozadí. Není-li parametr owner uveden, přístroj je neviditelný.
- position - obsahuje dvě (u přístrojů s pevnou velikostí) nebo čtyři (u přístrojů s definovatelnou velikostí) celočíselné hodnoty, které udávají umístění a případně i rozměr přístroje. Umístění je relativní k vlastníkovi ve visuální struktuře. Rozměry i pozice jsou uvedeny v obrazových bodech.
- win_title - obsahuje textový řetězec, který bude zobrazen v titulku okna přístroje. Není-li tento parametr uveden, do titulku okna se přenese jméno přístroje. Tento parametr má význam jen je-li přístroj v okně.
- win_disable - obsahuje seznam zakázaných vlastností okna. Tento parametr má význam jen je-li přístroj v okně. Seznam je tvořen následujícími klíčovými slovy oddělenými čárkami:
    move - zákaz pohybu
    zoom - zákaz změny velikosti
    minimize - zákaz minimalizace
    maximize - zákaz maximalizace
    lower - zákaz ponoření
- access - obsahuje číslo v rozsahu 0 až 4294967295 vyjadřující úroveň přístupových práv. Pokud je v rámci běžící aplikace přítomen systém přihlašování operátorů, toto číslo udává minimální oprávnění operátora nutné k zásahům do přístroje. Operátoři s úrovní 0 mají právo k jakýmkoliv zásahům.
- tab_select - obsahuje pořadí výběru přístroje v rámci panelu. Tento parametr umožňuje měnit výběr přístroje pomocí klávesnice. Je-li vybrán panel obsahující přístroje, je po stisku klávesy <Tab> vybrán přístroj s nejbližším vyšším číslem tab_select. Nebyl-li vybrán žádný přístroj s definovanou hodnotou tab_select, je vybrán přístroj s nejnižší hodnotou tab_select. Podobně při stisku <Shift><Tab> je vybrán přístroj s nejbližší nižší hodnotou tab_select, případně nejvyšší hodnotou tab_select.
- send_same_data - příznak udávající nutnost vždy během aktivity přístroje zapisovat do výstupních kanálů (a vždy komunikovat se vstupně/výstupním zařízením) hodnoty i v případě jejich shodnosti se stávajícím stavem.

## Seznam přístrojů

### Systémové přístroje

  file
  iterator
  keyboard
  panel
  selector
  sequencer
  system
  text_scanner

### Přístroj ActiveX

  active_x

### Databázové přístroje

  alarm
  archiver
  backup
  journal
  recipe

### Přístroje pro práci s buffery

  buffer_convertor
  buffer_display
  buffer_sumator

### Základní zobrazovací a ovládací přístroje

  chart
  control
  crt
  demultiplexer
  draw
  indicator
  label
  meter
  multi_label
  multi_switch
  multiplexer
  switch
  switch_label
  tab_switch

### HTTP server

  httpd

### Matematické přístroje

  integrator
  time_integrator

### Neuronová síť

  neural_net

### Energetické přístroje

  diagram
  energetic_time
  hour_table
  maximum_graph
  sections
  supply_meter

### Regulátory

  boolean_regulator
  pid_regulator
  step_regulator

### Přístroj sql

  sql

### Zvukové přístroje

  multi_sound
  sound

### Přístroje pro sledování trendů

  trend
  trend_viewer

### Řetězcové přístroje

  string_control
  string_display
  string_switch

### Symboly

  box
  ellipse
  engine
  knee
  pipe
  rounded_box
  tank
  thermometer
  triangle
  valve

### Tabulkový přístroj

  table

### Přístroj program

  program

### Ladicí přístroje (přístroje pro vývoj)

  monitor