Ještě v nedávné minulosti byl svět programového
vybavení pro průmyslovou automatizaci jednodušší. Existovaly jasně
rozdělené oblasti působnosti jednotlivých kategorií programového
vybavení:
Na nejnižší úrovni to byly programy pro jednočipové řadiče
nebo vestavěné řídicí počítače (firmware). Tyto programy mívají
většinou výrobcem zařízení již pevně danou funkčnost, případně
bývají jen velmi omezeně parametrizovatelné.
Prostředním článkem bývaly obecně použitelné programovatelné
automaty (PLC - Programmable Logic Controller) nebo specializované
numerické řídicí jednotky strojů (CNC - Computer Numerical Control).
Programovací model PLC je obvykle velice prostý - časovací jádro
periodicky spouští sekvence interpretovaných instrukcí. Programovací
jazyky do jisté míry připomínají instrukce programovatelných
kalkulaček.
Na vrcholu stávaly systémy pro operátorské řízení
technologického procesu (SCADA - Supervisory Control and Data
Acquisition). Principy fungování těchto tzv. vizualizačních programů
se většinou nezměnily - základem je tabulka datových elementů (či
tagů, datových bodů, atd., každý výrobce má své pojmenování), jejíž
data jsou cyklicky obnovována buď čtením hodnot z periferních
zařízení nebo výpočtem z jiných elementů. Možnosti programování
bývají velmi omezené, vesměs se jedná o pouhou parametrizaci
fixního programu.
Toto členění a z něj plynoucí principy výstavby
automatizačních projektů přetrvávaly dlouhá desetiletí. Každý člověk
z oboru se v této struktuře dobře vyznal, věděl, co může od
každé kategorie zařízení čekat, a také obvykle nevznikaly žádné
pochyby, jak nový projekt koncipovat.
Doba ale pokročila, používáme mobilní telefony, přenosné
počítače, kdekoliv právě jsme, máme k dispozici bezdrátové
připojení na Internet, a především - všechna zařízení navzájem
komunikují. Zde nám velký užitek přinášejí standardní a všeobecně
přijaté komunikační protokoly a standardní programová rozhraní. Je
docela pochopitelné, že uživatelé vyžadují takový komfort
a vlastnosti, na které jsou zvyklí i po řešeních
v oblasti průmyslové automatizace. Systémy vytvořené klasickými
"historickými" prostředky mají pro dnešní dobu informačních
a komunikačních technologií několik zatěžujících
vlastností:
Většina zařízení komunikuje prostřednictvím firemních
proprietárních, často až nepochopitelně tajných a právně chráněných
protokolů. Uživatel se tak stává "rukojmím" dodavatele zařízení a
nemůže systém udržovat a rozvíjet podle svých představ, které se
s časem a rozvojem technologií přirozeně mění.
Používané programové vybavení není škálovatelné - pro různé
kategorie aplikací je nutno používat různá vývojová prostředí a
různé programovací modely a jazyky.
Programové vybavení je obvykle svázáno se zařízeními stejného
výrobce, není snadno propojitelné se systémy jiných dodavatelů a je
obtížně zařaditelné pro informačního systému podniku.
Systémy jsou jen obtížně rozšiřitelné o nová zařízení
jiných výrobců.
Funkčnost běžná v informačních technologiích (např.
webová rozhraní, SMS zprávy, GPRS připojení, bezdrátové operátorské
panely atd.) je realizovatelná jen komplikovanými způsoby, kter0
celý systém citelně prodražují. Tyto technologie obvykle nejsou
přirozenou součástí použitých prostředků.
Celé systémy se obvykle skládají z většího počtu
zařízení a jsou podstatně dražší. Rovněž vývoj a další údržba
programového vybavení jsou velmi nákladné.
Control Web a jeho předchůdci
Na počátku devadesátých let minulého století jsme při realizaci
zakázek stále častěji naráželi na požadavky, které nebylo možno
s použitím stávajících SCADA programů realizovat. Počítače
standardu PC byly již tehdy dostatečně výkonné, spolehlivé
a levné, ale programové vybavení za rozvojem počítačů
zaostávalo. Začali jsme pracovat na programovém systému, který
nebude omezen jen na vizualizaci a sběr dat na operátorských
pracovištích, ale umožní vytvářet aplikace pro přímé řízení strojů
v reálném čase, komplexní aplikace v oblasti simulace a
modelování, zpracování dat v počítačových sítích atd. Měli
jsme v té době štěstí na kolektiv špičkových odborníků
z oblasti počítačové vědy a programovacích technik.
Tradičními principy SCADA programů nebyla architektura našeho nově
vznikajícího produktu pojmenovaného Control Panel nijak negativně
ovlivněna. Díky tomu vznikl na svou dobu velmi progresivní
produkt, jehož komponentová a objektově orientovaná koncepce
se do dnešní doby ukazuje jako velmi silná.
Control Panel, to jsou programové komponenty ve výkoném
víceúlohovém systému
V době vzniku tohoto produktu zde byl operační systém
Windows 3.1 jako nadstavba nad DOSem, a tento
operační systém jistě nebyl tím pravým prostředím pro trvalý
provoz řídicích aplikací v reálném čase
v průmyslovém prostředí. Proto byl pro Control Panel
vytvořen vlastní operační systém, který pracoval
v chráněném módu procesorů 286 a vyšších,
virtualizoval paměť kódu i dat (pro data vytvářel
odkládací soubor) a mohl spustit mnoho paralelně běžících
úloh. Tento systém byl vybaven velmi kvalitním grafickým
uživatelským rozhraním pracujícím s libovolně složitou
hierarchickou strukturou oken na obrazovce (kéž by okna
v současných Windows byla takto dobře použitelná:-().
Systém byl i na tehdejším hardware velice výkonný
a především stabilní, aplikace v prostředí Control
Panel bývaly běžně provozovány v nepřetržitých provozech
několik let bez odstávky.
Také struktura systému Control Panel a principy tvorby
aplikačního programu byly přelomové. V systému
neexistovala žádná pevná programová smyčka periodicky
obnovující data v poli tagů. Existovaly volně
definovatelné datové elementy a tzv. virtuální přístroje,
které dokázaly s těmito elementy pracovat. Virtuální
přístroje zde jsou externími programovými komponentami,
jejichž počet a vlastnosti nejsou systému při budování
struktury aplikačního programu známy. Struktura aplikačního
programu je tedy tvořena obecným stromem instancí virtuálních
přístrojů, které jsou navzájem propojeny do stromů
viditelnosti na obrazovce a do struktury časování a toku
událostí. Pro každý virtuální přístroj je přístupná kompletní
množina instancí datových elementů. Virtuální přístroje neví
nic o tom, jak tyto datové elementy získávají data
z periferních zařízení a pracují abstraktně se všemi
elementy shodně. Ke komunikaci s periferními zařízeními
slouží tzv. ovladače. Jsou to opět programové komponenty
s abstraktním, i když v tomto přídadě celkem
jednoduchým, procedurálním rozhraním. Při vývoji aplikace je
tedy definována a popsána struktura instancí všech těchto typů
komponent včetně všech jejich vzájemných vazeb. Systém Control
Panel tedy pouze dokázal z aktuálně přítomných knihoven
vytvářet a propojovat instance programových komponent do
podoby aplikačního programu.
V dalších verzích systému bylo virtuálním přístrojům
přidáno i dynamicky, tj. za běhu aplikace, detekovatelné
rozhraní a vznikla tak další úroveň komunikace mezi
jednotlivými programovými komponentami. Bylo tak možno
vytvářet algoritmy i způsobem připomínajícím tradiční
imperativní programovací jakyky, i když v tomto
případě sekvence příkazů probíhaly na vysoké úrovni nad
strukturou instancí mnohdy velmi komplexních komponent. Vznikl
tak základ pro pružný a všestraný programovací jazyk OCL
(Object Control Language).
Možnosti této technologie byly s vlastnostmi tehdy
používaných SCADA programů nesrovnatelně mocnější a Control
Panel byl uživateli velmi pozitivně přijat a sloužil všude
tam, kde schopnosti tradičních systémů již nedosahovaly.
Příchod 32-bitových Windows a systém Control Web
S příchodem Windows NT se situace změnila. Byl zde
stabilní operační systém, který byl dobře použitelný
i pro trvalý běh aplikací v náročném nepřetržitém
průmyslovém provozu. Existující systém
Control Panel 3.1 byl převeden pod Windows pod
názvem Control Web 3.1. Začala tak nová etapa
rozvoje systému, charakterizovaná především rozvojem
internetových technologií a komunikací vůbec.
Zatímco Control Web 3.1 byl z převážné části
replikou systému Control Panel 3.1 pro Windows,
další systém Control Web 4, známý pod výročním
pojmenování Control Web 2000, přinesl intenzivní
technický rozvoj. Koneckonců i nyní, po několika letech
prodeje moderního systému Control Web 5, řada
zákazníků stále žádá systém Control Web 2000. Tato
verze přinesla možnosti přímé komunikace virtuálních přístrojů
v počítačová síti, byla implementována rozhraní podle
standardů OPC, ActiveX, ODBC, SQL a především do systému
přibyla komponenta HTTP serveru s možností dynamického
generování WWW stránek z běžícího aplikačního
programu.
Control Web 2000 také přinesl možnost provozování
aplikací v operačním systému Windows CE. Aplikace lze
pohodlně vyvíjet na stolním PC s vývojovou verzí systému
a poté z nich vygenerovat runtime pro veškeré
platformy a používané procesory systému Windows CE.
V jednom prostředí a stejným způsobem lze tedy na jedné
straně vytvářet rozsáhlé aplikace pro clustery Windows
Advanced Server a na straně druhé aplikace pro mobilní
telefony a malé vestavěné počítače.
Rozsah platforem a škálovatelnost systému Control
Web
Asi nejrozsáhlejší změnou v historii vývoje systému byl
příchod prostředí Control Web 5. Systém je nyní schopen
vytvořit skupinu redundantních aplikací bez podpory nákladného
serverového systému, pouze prostřednictvím propojení v jedné
počítačové síti. Nově byl zaveden koncept datových sekcí,
které v sobě zapouzdřují množinu datových elementů
a umožňují nebo alespoň podstatně zjednodušují sdílení,
zálohování a replikaci dat v síťovém prostředí. Řada vylepšení
architektury zasahuje prakticky všechny části systému, mohutně
je rozšířen také programovací jazyk OCL pro komunikaci mezi
komponentami uvnitř aplikace.
Vizualizační schopnosti byly v páté verzi produktu
rozšířeny o třírozměrný vykreslovací systém. Tento systém
je postaven na principu klient - server. Vykreslovací server
běží ve vlastním threadu a je schopen v reálném čase
vykreslovat i velmi složité scény s mnoha efekty
v téměř fotorealistické kvalitě. Využívá nejnovějších
technologií počítačové grafiky, včetně shaderů běžících
v grafických procesorech. Přitom, pokud není
v aplikaci žádný 3D virtuální přístroj, nic
z vykreslovacího systému není zaváděno do paměťového
prostoru procesu. 3D systém tedy nemůže být na překážku ani
u malých embedded systémů nevybavených možnostmi 3D
grafiky. Tato nejdokonalejší současná technologie počítačové
grafiky může podstatně zvýšit rychlost, působivost
i přehlednost vizualizací.
Control Web se v současné verzi rozrostl do
podoby mohutného a velmi všestranného systému, který asi
málokdo dokáže využít v jeho plné šíři. Technologie
skládání aplikací z programových komponent, jejíž první
nástin jsme přinesli již v roce 1992, se ukázala jako
nosná a dodneška velmi silná. To ostatně potvrzuje nejen
historie tohoto produktu, ale vůbec celý současný vývoj
v oblasti softwarového inženýrství.
Současnost - neomezený prostor pro vaše aplikace
Control Web vždy byl a dodnes je cenově atraktivní, proto
je používán nejen v rozsáhlých aplikacích ve velkých firmách,
ale i v malých a vestavěných aplikacích a také ve
školách, ve vědě a výzkumu. Struktura typických aplikací se
v poslední době podstatně změnila. Postupně ubývá zakázek, ve
kterých je požadováno jen prosté operátorské pracoviště
s vizualizací a případným sběrem dat. Požadavek rozhraní
pro webové klienty je již samozřejmostí. Většina současných
systémů je zapojena, často bezdrátově, do počítačových sítí,
obvyklá je spolupráce s nějakým databázovým informačním
systémem. Také se často systémy skládají z více částí, které
spolu musejí komunikovat. Stále větší výhodou se tak stává to, že
i malý vestavný systém je vybaven veškerými komunikačními
kanály a jeho programové vybavení dokáže pracovat se všemi
současnými standardy výměny dat. I malá vestavěná řídicí
jednotka tak má k dispozici Ethernet, USB, Wi-Fi, Bluetooth a
může obsahovat internetový HTTP server, ale současně také webový
klient, dokáže posílat e-maily, posílat a přijímat SMS
zprávy, komunikovat přes GPRS nebo radiové mosty, spolupracovat
s Plug-and-Play zařízeními na rychlé USB atd. V řadě
případů dokáže malý a levný průmyslový počítač nahradit
kombinaci PLC a počítače pro operátorské řízení. Zde pak
výhoda jednoho programového prostředí pro vývoj aplikací nabývá na
ceně.
Control Web je programovým systémem, který dokáže vystupovat
v mnoha rolích. Může pracovat v řídicích jednotkách
strojů, může spojovat výrobní technologii s informačním
systémem podniku, může být datovým serverem s mnoha webovými
klienty, může modelovat a simulovat procesy, dokáže vytvářet
náročné vizualizace a mnoho dalšího. Dokáže nám posloužit tak, jak
zrovna potřebujeme.
To, že Control Web bezezbytku řeší veškerou funkčnost SCADA
systémů je zřejmě. Podívejme se však na několik zajímavých
příkladů, jak lze řešit zadání, která před nás staví současná
epocha Internetu a globálních komunikací.
Control Web v roli firemního WWW serveru
Pro software pro průmyslovou automatizaci to asi není
typické použití, ale velmi dobře nám dokládá vysoký výkon
a schopnosti vestavěného HTTP serveru (HTTP server je
jedním z mnoha dodávaných virtuálních přístrojů). Control
Web dynamicky generuje WWW stránky z dat uložených
v SQL databázi. Pro klienty na vnitřní síti server
poskytuje pohodlné redakční rozhraní. Data se do systému
doplňují prostřednictvím souborů ve formátu XML
prostřednictvím redakčního rozhraní.
Control Web jako automatický registrační a aktivační
server a webovým a SMS rozhraním
Control Web zde pomocí několika dodávaných
komponent elegantně řeší požadavky, kladené na bezobslužný
běh registračního a aktivačního serveru. Zákazník má
možnost výběru ze tří automatických, tedy nevyžadujících
komunikaci s živou operátorkou, mechanismů
aktivace:
Během aktivace si Control Web automaticky vymění data
s aktivačním serverem. Komunikace probíhá
prostřednictvím HTTP protokolu na všeobecně akceptovaném
portu 80. Tento způsob je rychlý a zcela
bezstarostný.
Pomocí libovolného webového klienta se lze spojit
s aktivačním serverem a získat tak aktivační
kód.
V místech bez internetové konektivity lze
aktivačnímu serveru poslat SMS. Server zpětně pomocí SMS
pošle aktivační kód.
Server poskytuje i další užitečné služby pro vnitřní
síť i pro veřejný Internet. K databázovému serveru
MS SQL je systém připojen ve vnitřní síti, na dalším Ethernetu
je k dispozici veřejný Internet. SMS komunikace probíhá
prostřednictvím GSM modemu Siemens a standardního SMS ovladače
systému Control Web.
Control Web jako integrující systém laboratoře na Fakultě
aplikované informatiky
Laboratoř integrované automatizace na Universitě Tomáše
Bati ve Zlíně je vybavena unikátním informačním systémem.
V laboratoři se nacházející experimentální zařízení jsou
lokálně řízeny jak pomocí PLC Simatic, tak i průmyslovými
počítači DataLab. Tato struktura je zastřešena počítačem se
systémem Control Web, jehož jediným rozhraním pro vnější svět
je HTTP server. Veškeré experimenty v rámci studia
i výzkumu jsou prováděny prostřednictvím webových klientů
v prostředí Internetu. Nejedná se ovšem o žádné
modelování a simulaci, veškerá experimentální zařízení
v laboratoři fyzicky existují. Control Web zde prokazuje
svoji schopnost spojovat nejrůznější produkty do jediného
spolupracujícího celku.
Control Web je natolik bohatým a komplexním systémem, jehož
veškeré možnosti a vlastnosti není možno uceleně vysvětlit.
Jen základní dokumentace má přes 2000 stran. Nikdo také
pravděpodobně nevyužívá produkt v celé jeho šíři. Pro
efektivní tvorbu aplikací ale naštěstí není nutno znát vše. Ikdyž
se obvykle zabýváme jen tím, co zrovna pro dokončení svého úkolu
potřebujeme, může nás uklidňovat pocit, že jakmile vznikne nový
nečekaný požadavek, Control Web nabídne řešení. Nemusíme využít
všechno, ale je dobré mít to k dispozici.
rc@mii.cz
|