| 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ůdciNa 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émuV 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 WebS 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
                  WebAsi 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 aplikaceControl 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 serveruPro 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ímControl 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é informatikyLaboratoř 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 |