Komponenty aneb z čeho se programy skládají
Činnost komponentového programu je výsledkem vlastností a
činností mnoha menších, do značné míry na sobě nezávislých kousků
programového kódu. Tyto nezávislé komponenty pak spolupracují
prostřednictvím tzv. programových rozhraní. Zdá se vám to složité?
Pro nenáročné uživatele, kterým stačí, co programy umí "samy
od sebe" a nepotřebují si je nijak přizpůsobit svým potřebám
či začlenit do jiných prostředí, může zůstat komponentová podstata
trvale skryta za "fasádou", kterou připravili autoři
programu. Určitě ale přednosti programového vybavení, které je
maximálně orientováno na potřeby zákazníka a je plně
přizpůsobitelné předem nepředpokládaným potřebám, není nutno
zdůrazňovat.
Bohužel se ale nezměnily zdaleka všechny používané programy.
Mnoho známých a rozšířených vizualizačních systémů si do dnešní
doby zachovává svou deset a více let starou monolitickou
architekturu. Ta se projevuje tak, že velikost kódu zavedeného do
paměti nelze ovlivnit tím, jak je "aplikace" velká a kolik
dostupné funkčnosti vlastně využívá. Tato nepříjemná vlastnost je
do jisté míry pro uživatele částečně skrývána za neustále
rostoucími výkony a zvětšování velikosti paměti používaných
počítačů. I když ale pomineme vhodnost maskování neefektivnosti
růstem výkonu hardware, stále nám zůstává nevýhoda ve velmi
omezené škálovatelnosti takových systémů. Činnost těchto
nestrukturovaných monolitů je obtížné zvenku jakkoliv ovlivnit,
chybí nám totiž ono výše uvedené programové rozhraní komponent.
Rozhraní komponent je branou do systému, nutným nástrojem pro
uživatelské modifikace a přizpůsobování funkcí a základním
prostředkem umožňujícím propojení našeho systému s ostatním
světem.
Řízení událostmi a reálný čas aneb jak programy pracují
uvnitř
Doba, kdy základem všeho byla programová smyčka, ve které
programy dělaly vše potřebné i nepotřebné stále dokola, by již
měla být také za námi. Taková konstrukce je v dnešní době
akceptovatelná snad jen u jednodušších programovatelných automatů,
dokonce i mobilní telefony potřebují něco, co se blíží funkčnosti
operačních systémů reálného času. Přesto však v oblasti průmyslové
automatizace dodnes existuje překvapivě mnoho vizualizačních
systémů, DDE a OPC serverů, pracujících tímto prostoduchým
způsobem. A jejich producenty nejsou, jak by se mohlo zdát,
nedostatečně vzdělaní amatéři, ale často velké a oboru průmyslové
automatizace významné firmy.
Moderní systém pro průmyslovou automatizaci musí reagovat na
události a dělat jen to, co je v dané chvíli nutno. Některou
činnost je např. třeba vykonat stokrát za sekundu, některou jednou
denně přesně o půlnoci a některou jen když ji požaduje operátor.
Pro nenáročnou vizualizaci technologického procesu může postačovat
i program, který běží stále dokola ve smyčče takovou rychlostí,
kterou na daném počítači stíhá. Vyšší nároky však už může splnit
jen systém běžící v reálném čase.
Kategorie tzv. vizualizačních systémů a jiné škatulky
Určitě si již říkáte, k čemu vlastně tento trochu teoretický
úvod, když vlastně potřebujete stále totéž. A to pouze
vizualizovat technologický proces a zpřístupnit jej zásahům
operátora prostřednictvím počítače. Dělat jednoduše to, co již
podobně děláte řadu let.
Může být však velmi užitečným vědět, kam se informační
technologie ubírají a jaké programové systémy s jakými vlastnostmi
je perspektivní používat. Tato znalost může být v dnešní situaci,
kdy moderní informační technologie stále rychleji (tj. se stále
menším zpožděním) pronikají do oblasti průmyslové automatizace,
citelnou konkurenční výhodou. Zákazníci začínají chtít (nutno
říci, že oprávněně) mnohem více. Neustále klesá počet případů, kdy
je tzv. vizualizační systém nasazen zcela samostatně, bez
spolupráce s ostatními počítačovými a automatizačními systémy. V
řadě firem již fungují průmyslové datové sítě propojující stroje s
CNC a PLC na straně jedné a podnikové informační systémy s
databázovými servery a dálkovými komunikacemi na straně druhé.
Nestačí pouhé oživení technologických schémat. Je třeba
programového vybavení, zvládajícího velmi mnoho předem nečekaných
úkolů - software musí plnit roli prostředníka mezi světem
průmyslových systémů, programovatelných automatů, teplotních a
tlakových senzorů, řízených pohonů, ventilů a dalších komponent a
světem informačních technologií, uživatelských rozhraní,
rozsáhlých SQL databází, podnikových informačních systémů, TCP/IP
a GSM sítí a internetových serverů.

Co je vlastně Control Web?
Přiznám se, že obvyklý dotaz návštěvníků veletrhů a
výstav "k čemu ten software slouží" nebo "co vlastně
ten váš program umí" mě vždy trochu dostane do úzkých.
Odpovím-li po pravdě, že umí téměř vše, musím nutně v tazateli
vyvolat dojem, že se nic nedozvěděl a že tomu asi celkově moc
nerozumím. Daleko lépe se odpovídá a navrhuje řešení konkrétních
problémů. To je pak velmi snadné říci jak se daný problém v
prostředí systému Control Web vyřeší. Control Web zkrátka
nepasuje do žádné známé "škatulky", a současně většinou
překonává prostředky na danou oblast specializované. Zdá se vám
to přehnané tvrzení? Pak zhodnoťte alespoň skutečnost, že ke
každé specializaci navíc přidává řadu funkcí a vlastností z
jiných oborů.
Control Web může pracovat jako SoftPLC a v reálném čase
regulovat a řídit.
Control Web může sloužit jako systém pro automatické
měření, sběr, vyhodnocování a archivaci dat.
Control Web má veškeré schopnosti využívané při
vizualizaci technologických procesů a operátorském řízení.
Control Web je nezávislý na připojeném hardware, je
vybaven řadou nativních ovladačů i univerzálními ovladači
standardů ASCII serial/modem, DDE, OPC a HTTP.
Control Web je plně distribuovatelný v prostředí
počítačových sítí a prostřednictvím TCP/IP ovladače využívá i
vytáčených linek.
Control Web je vybaven ODBC konektivitou pro spojení s
libovolnými databázovými SQL systémy.
Control Web spolupracuje s ActiveX komponentami a sám
může vystupovat jako OLE/COM objekt a být tak řízen jinými
programy.
Control Web plně podporuje internetové technologie, je
vybaven HTTP serverem s dynamicky generovanými WWW stránkami i
univerzálním WWW klientem pro vstup dat.
Control Web je široce škálovatelný od Windows CE po
víceprocesorové Windows 2000 servery spojené do clusteru.
V prostředí Control Web je podporována řada dalších
technologií, které zde není možno všechny popisovat, za zmínku
však stojí např. jedinečné vývojové prostředí pro dvojcestné
programování, programově řízená vektorová grafika, 3D virtuální
realita atd.
Jak je toto možné? Jednoduše tak, že Control Web není pro
žádnou specializaci napevno naprogramován. Je postaven na jádře
pracujícím v reálném čase a trvale doplňován programovými
komponentami obecnými i úzce zaměřenými pro určité specializace.
Díky své komponentové architektuře a neomezené
programovatelnosti je Control Web opravdovým univerzálním lepidlem
na software.
|