Shrnutí
Jedním ze základních cílů návrhu systému Control Web byla snaha učinit běžné věci
snadnými a komplikované věci možnými. To znamená, že k úspěšné práci se
systémem není zapotřebí znát všechny jeho vlastnosti do nejmenších detailů.
U systému s tak rozsáhlými možnostmi, jako je Control Web, to ani není dost dobře
možné. Málokdo je současně expertem na řízení a regulaci, na návrh rozhraní
člověk-stroj, na distribuované zpracování, na objektově-orientované
programování, na numerickou matematiku, digitální zpracování signálu a
neuronové sítě, na databázové a informační systémy, na počítačové sítě,
Internet a intranet, na návrh WWW serverů apod. Přesto je ale příjemné vědět,
že pracujete se systémem, který je dostatečně mocný a flexibilní, aby vám
vyhověl i pokud požadavky vašich zákazníků poněkud vybočí ze zavedených
kolejí. Pak stačí podrobněji se seznámit s konkrétní oblastí a využít
dalších možností systému.
Přesto ale existuje určitá množina znalostí, které je dobré mít na paměti.
Zde je jejich shrnutí.
Co to je
aplikace
Předávání dat a komunikace
z okolím
- Prakticky nikdy nelze celou aplikaci realizovat jediným přístrojem, vždy
je potřeba použít více spolupracujících virtuálních přístrojů. Aby mohly
virtuální přístroje spolupracovat, musí být schopny nějakým způsobem si
předávat data. K uschování i předávání dat v systému slouží
proměnné a kanály, společně nazývané datové elementy. Datový element je
vyhrazené místo v paměti počítače, na kterém je umístěna nějaké hodnota.
Všechny datové elementy je v rámci aplikace nutné nejprve deklarovat
(zapsat jejich jméno, typ, apod.) a teprve poté je možno je používat. Hodnoty
datových elementů je možno číst i zapisovat. Virtuální přístroje si tedy
mohou předávat data prostě tak, že jeden virtuální přístroj hodnotu datového
elementu zapíše a druhý ji přečte.
- Každá proměnná je svázána s nějakým datovým typem — druhem dat
v proměnné uchovávaným. Dvoustavovou logickou hodnotu nelze ukládat do
číselné proměnné a číselnou proměnnou zase nelze ukládat to do proměnné
uchovávající text. O proměnných, jejich typech a výrazech se více dočtete
v kapitole Datové elementy a výrazy.
- Práce s kanály se podobá práci s proměnnými s tím rozdílem,
že zápis do kanálu způsobí přenos zapsané hodnoty přes ovladač do periferie a
čtení z kanálu naopak přenese hodnotu z periferie přes ovladač do
aplikace. Vzhledem k tomu, že operace čtení a zápisu do periferií je ve
srovnání s rychlostí procesoru počítače velmi nízká, nelze při každém
přístupu ke kanálu vyvolávat komunikaci. Proto se vždy shromažďují požadavky od
všech přístrojů aktivovaných v rámci jednoho časového kroku. Komunikace
s periferiemi má ovšem řadu dalších aspektů, podrobněji se o ní
můžete dočíst v kapitolách Podrobněji o časování,
aplikacích reálného času a datově řízených aplikacích, Běh datově řízené aplikace, Časování
aplikací reálného času a Komunikace, ovladače a
kanály.
- Práce s kanály je zcela nezávislá na tom, s jakou
vstupně/výstupní jednotkou je kanál spojen. Izolační vrstvu mezi aplikací a
vstupně/výstupními zařízeními zprostředkovávají ovladače. Více se
o ovladačích dočtete v kapitole Komunikace,
ovladače a kanály.
- Aplikace systému Control Web
je tedy tvořena množinou virtuálních přístrojů, které komunikují
prostřednictvím datových elementů. Pokud aplikace komunikuje
s vnějším světem, je nutno použít zvláštní typ datových elementů zvaných
kanály, které pomocí ovladačů předávají data mezi aplikací a
periferiemi.
Struktura aplikace
- Tak jako v reálném světě se skutečné přístroje umisťují na panely,
i v případě aplikace systému Control Web můžete jednotlivé virtuální
přístroje slučovat, uspořádávat a organizovat. Na rozdíl od reálného světa ale
nepotřebujete vrtačku a šroubovák, stačí několik pohybů myši.
- Ne všechny virtuální přístroje jsou zobrazeny na obrazovce. Některé
přístroje pracují čistě jako servery zpracovávající nebo poskytující data a
nemusí být vůbec zobrazeny. Určité třídy přístrojů ani nemohou být zobrazeny,
neboť vůbec nemají vizuální podobu. Pokud je ale některý přístroj zobrazen,
vždy na obrazovce zabírá určitou obdélníkovou plochu.
- Aplikace systému Control Web
pracují v rámci grafického uživatelského rozhraní operačního systému.
Viditelné virtuální přístroje tvoří prvky tohoto grafického rozhraní.
- Stejně jako ostatní prvky grafického uživatelského rozhraní
i virtuální přístroje lze uspořádávat hierarchicky. Všechny viditelné
přístroje v každé aplikaci tak mají navzájem definovány vztahy, které
určují jejich polohu ve vizuálním stromu. Kořen tohoto stromu je pozadí
nazývané background, které může být jen jedno a tvoří kořen vizuálního
stromu. V tomto kořenu mohou být umístěny přímo virtuální přístroje (listy
stromu) nebo další uzly stromu, tvořené speciální třídou virtuálního přístroje
panel. V přístrojích třídy panel mohou být umístěny přímo
virtuální přístroje nebo zase další panely. Takto vzniklá vizuální struktura
není ničím omezena (počtem panelů a přístrojů apod.). Pro viditelnost
virtuálních přístrojů, které jsou vloženy do stejného vlastníka, je důležitá
jejich vzájemná poloha — obdélníky dvou přístrojů se totiž mohou překrývat a
pak o tom, který bude viditelný, rozhoduje jejich pozice
v z-souřadnici (který je "výše" a který je
"níže").

Panel se dvěma překrývajícími se přístroji
- O poloze každého přístroje ve vizuálním stromu tedy rozhodují tři
parametry:
- Parametr owner určuje vlastníka daného přístroje. Za znakem
"=" následuje jméno panelu, do něhož bude přístroj zaregistrován.
Vyhrazené jméno background reprezentuje přímo pracovní plochu Windows.
Není-li parametr owner uveden, přístroj nebude viditelný.
- Pozice přístroje určuje jeho polohu vzhledem k obdélníku vlastníka.
Počátek souřadnic (souřadnice 0, 0) je v levém horním rohu vlastníka.
Pozice bývá zpravidla určena parametrem position následovaným dvěma
(u přístrojů s pevnou velikostí) nebo čtyřmi čísly (u přístrojů,
které potřebují zadat taktéž šířku a výšku).
- Z-souřadnice (překrývání přístrojů se stejným vlastníkem) je dána pořadím
přístrojů ve zdrojovém textu.
Podrobně je struktura vizuálního stromu vysvětlena v kapitole Integrované vývojové prostředí.
- Podoba aplikace vzniklá v době návrhu se může za běhu libovolně
měnit. Přístroje a panely mají schopnost měnit polohu a rozměry, skrývat se a
opět se zobrazovat, ponořovat se pod ostatní panely nebo naopak se vynořovat na
povrch. Průvodce novou aplikací vám pomůže
s tvorbou základní struktury aplikace a organizací panelů.
Zápis a tvorba
aplikace
- Aplikace je vždy uchovávána v podobě textového popisu. Všechny
komponenty tvořící aplikaci (virtuální přístroje, datové emementy
i ovladače) spolu s dalšími informacemi (např. nastavení parametrů
aplikace a síťových spojení) jsou zapsány pomocí jmen, klíčových slov, výrazů
apod. Zdrojový text aplikace je tedy volně čitelný, editovatelný a případně
i automaticky generovatelný.
- Jednotlivé druhy objektů jsou ve zdrojovém kódu uzavřeny do sekcí,
okraničených klíčovými slovy začátku a konce sekce. Například všechny přístroje
jsou uvedeny v rámci sekce instrument...end_instrument, proměnné se
zapisují do sekce var...end_var apod.

Příklad zdrojového textu
- Ačkoliv je teoreticky možné psát aplikaci v jakémkoliv textovém
editoru, Integrované vývojové prostředí tvorbu aplikací
podstatně usnadňuje. Vývojové prostředí podporuje zcela symetricky práci
v grafickém i textovém režimu. Mezi oběma módy lze libovolně přepínat
a změny provedené v jednom módu se ihned promítnou i ve druhém módu.
Grafický mód přináší velké usnadnění práce. Nemusíte si pamatovat jména tříd
přístrojů a jména jejich parametrů, stačí jen vybrat z palety přístroj
žádané třídy a systém již vytvoří jeho instanci sám.
- Při práci ve vývojovém prostředí vám velmi pomohou průvodci.
Průvodci vám přehledně nabídnou možnosti volby a vygenerují za vás kostry
celých aplikací nebo jejich částí.
- Komponentovost celého systému se promítá i do způsobu nastavování
parametrů jednotlivých virtuálních přístrojů. Všechny vlastnosti přístrojů
různých tříd jsou nabízeny ve standardním inspektoru. Inspektor přístroje je
univerzální prostředek jak nastavit nebo změnit jakoukoliv vlastnost
kteréhokoliv přístroje.

Inspektor přístroje