Díl 1
Vítejte ve světě rychlého vývoje aplikací
Neustálá změna je zřejmě nedílnou součástí naší doby. Stále jsme ohromováni novými možnostmi
technologií, které se již definitivně zabydlely v našich životech a ovlivňují způsoby jakými pracujeme,
jakými spolu komunikujeme i jakými odpočíváme. Udržet se na špici vývoje ale naznamená jen nechat se
unášet technologickou vlnou, ale taktéž překvapovat ostatní efektivitou, kvalitou, funkčností a rychlostí
naší práce. Metody a postupy práce včera běžné dnes již nestačí požadavkům našich zákazníků.
Počítače již dávno přestaly být stroji na pouhé počítání, byť neuvěřitelně rychlé a přesné. Z počítačů
se staly univerzální stroje na zpracování, předávání a uchovávání informací. Přitom jejich univerzálnost je
skutečně ohromující -- snad neexistuje jiný lidský výrobek, který by se uplatnil v tak velkém množství
činností. Význam informací pro chod jednotlivých podniků i celé společnosti stále roste a tomu odpovídá
i pozornost věnovaná vývoji strojů na jejich zpracování. Do dlaně se nám vejdou počítače výkonem a kapacitou
mnohonásobně předstihující sálové obry jen o generaci starší a přitom svým přátelským uživatelským rozhraním
umožňují, aby s nimi pracovali i lidé bez speciálních znalostí. Počítače již nepracují samostatně, ale
komunikují v sítích, sdílejí data a posílají zprávy. Podnikové informační systémy integrují životně důležité
informace a na požádání je zpřístupňují.
Vysoké tempo inovací a nutnost spolupráce s jinými systémy vytlačuje vlastnická řešení jednotlivých firem
a zvýhodňuje standardní řešení. Praktické potřeby vytváření systémů, které spolu dokáží bez problémů
spolupracovat a sdílet data a jejichž komponenty jsou hromadně a levně vyráběny, vedly ke vzniku řady
standardů. I když tyto standardy nejsou vždy technicky optimální, jejich hodnota spočívající právě v
univerzálnosti a všeobecném přijetí převyšuje některé nedostatky způsobené evolučním vývojem. Tyto
standardy zahrnují nejen technické prostředky, jako je architektura procesorů IA32 (x86) nebo sběrnic ISA, PCI
či IDE a SCSI, ale i programové rozhraní a protokoly, například síťový standard TCP/IP, standardní
protokoly HTTP a FTP nebo i standardní formáty dokumentů HTML a XML.
Klíčovou úlohu v řídicích systémech přebírá programové vybavení. Technické vybavení je ve většině
případů jednotné a záměnné. Až software je tou vrstvou celého systému, která jej činí unikátním,
specifickým podle potřeb zákazníků. Pomocí software zákazníci se svými aplikacemi komunikují. Software
implementuje řídicí algoritmy a oživuje celý systém, dává mu vlastní inteligenci. A je to právě software,
který je nutno vždy znovu vytvořit nebo alespoň upravit. To jsou důvody, proč se na co možná nevětší
usnadnění tvorby software, na dosažení nejvyšší efektivity vývoje a přitom robustnosti a spolehlivosti
výsledných aplikací upíná snaha vývojového týmu systému Control Web 2000.
Control Web 2000 je univerzální nástroj pro vývoj a nasazování vizualizačních a řídicích aplikací,
aplikací sběru, ukládání a vyhodnocování dat, aplikací rozhraní člověk-stroj. Unikátní objektově-orientovaná
komponentová architektura zajišťuje aplikacím systému Control Web 2000 nejširší rozsah
nasazení od prostých časově nenáročných vizualizací až po řídicí aplikace reálného času.
Hlavním cílem návrhu systému Control Web 2000 je učinit realizaci běžných úkolů snadnou a
neobvyklých, komplikovaných úkolů možnou. Samozřejmě při respektování všech existujících standardů
pro běh programů a jejich uživatelské rozhraní, výměnu dat a přístup k databázím, komunikaci po
počítačových sítích a spolupráci s hardware pro sběr dat a řízení. Control Web 2000 pracuje v prostředí
operačních systémů implementujících aplikační programové rozhraní Win32 a podporuje řadu
průmyslových standardů a de-facto standardů.
Control Web 2000 koncepčně vychází z osvědčené architektury svých předchůdců Control Panel a
Control Web. Nasazení těchto systémů od jaderných elektráren a celopodnikových vizualizačních
systémů až po přímé řízení strojů a jednoduché vizualizace dokazuje velmi široké možnosti této
architektury. Tato architektura činí systém Control Web 2000 jedinečným, neboť:
- Control Web 2000 pracuje jako spousta jiných SCADA/HMI systémů používaných v průmyslu. K
dispozici jsou všechny komponenty nutné k tvorbě vizualizačních aplikací - zobrazovací a ovládací
prvky, alarmy a archivy, historické trendy apod. Navíc ale poskytuje skutečnou programovatelnost a
otevřenou, komponentovou architekturu. Množina virtuálních přístrojů není pevně dána a zabudována
v systému. Každý přístroj je dynamicky linkovaná knihovna detekovaná při startu systému. Není
problém množinu virtuálních přístrojů libovolně rozšiřovat.
- Control Web 2000 umožňuje práci v reálném čase. Nespoléhá se na tzv. databázi reálného času,
která je doplňována "maximální možnou rychlostí" (což v praxi může znamenat i intervaly několika
desítek sekund mezi komunikacemi s automaty připojenými přes DDE). Každý vstupně/výstupní kanál
je čten přesně v době, kdy jej nějaký virtuální přístroj (nebo skupina virtuálních přístrojů) požaduje.
Real-time časování je přesně monitorováno a řízeno.
- Control Web 2000 umožňuje sekvenční řízení procesů. Virtuální přístroje nemusí být aktivovány
"když systém usoudí", ale v přesně definovaném čase a v přesně definované sekvenci.
- Jednotlivé komponenty systému Control Web 2000 jsou volně programovatelné. Pokud potřeby
uživatelů sahají za možnosti řady panelů s vizualizačními a ovládacími prvky, každá komponenta má k
dispozici mocné programátorské nástroje, jako jsou lokální proměnné a libovolně definovatelné
procedury reagující na události.
- Control Web 2000 umožňuje tvorbu skutečně distribuovaných řešení. Nemáme na mysli pouhou
replikaci množiny tagů přes NetDDE v NetBIOS sítích, ale skutečné zpřístupnění libovolného
datového elementu všem spojeným aplikacím po libovolné TCP/IP síti včetně Internetu. Virtuální
přístroje mohou být aktivovány po síti a i metody dynamického rozhraní virtuálních přístrojů mohou
být volány po síti. Síťová komunikace může být samozřejmě precizně časována a řízena k dosažení
optimálního výkonu.
- Control Web 2000 umožňuje vizualizaci technologií prostřednictvím internetových standardů
HTTP a HTML pomocí libovolného WWW klienta, ať již pracuje v prostředí MS Windows, Apple
Macintosh nebo UNIX či Network Thin Client. Přitom se nejedná o pouhý plug-in do nějakého
existujícího HTTP serveru, např. Microsoft IIS běžícího po Windows NT Serverem. Control Web 2000
obsahuje plnohodnotný HTTP server dynamicky tvořící stránky podle stavu technologie
pracující i na obyčejných Windows 95. Navíc dokáže prostřednictvím HTTP a HTML technologii i
řídit.
- Kontejner pro komponenty ActiveX představuje most mezi systémem Control Web 2000 a
vlastnostmi a metodami (OLE Automation) ActiveX komponent. To znamená, že do aplikace lze
zabudovat ActiveX komponenty a programově je ovládat - nastavovat jim vlastnosti a volat metody z
procedur jakýchkoliv přístrojů.
- Control Web 2000 naprosto nezávisí na použitém hardware. Nativní ovladače dokáží pracovat
mnohonásobně efektivněji než například DDE ovladače. DDE je samozřejmě plně podporováno spolu
s OPC (OLE for Process Control) a řadou dalších standardů pro průmyslové automaty, samostatné
moduly a měřicí karty. Rozhraní ovladačů je plně dokumentováno a otevřeno, takže každý si může
napsat ovladač podle svých potřeb.
- Vzestupná kompatibilita aplikací mezi systémy Control Panel, Control Web a Control Web 2000
rozšiřuje jedinou architekturu na nejširší škálu hardware - od bezdiskových PC-kontrolérů s 2 až
4 MB paměti po multiprocesorové Windows NT servery.
- Snadnost používání může redukovat programování na několik pohybů myší. Průvodci budují kostru
aplikace a navigují uživatele přes počáteční stádia návrhu aplikace. Integrované vývojové prostředí
umožňuje kdykoliv přecházet mezi textovým módem a grafickým módem návrhu. Aplikace je vždy
uchovávána v podobě textového souboru, nikoliv v podobě nečitelných binárních dat.
- Control Web 2000 podporuje dva zásadně odlišné módy činnosti. Real-time mód je identický se
současně podporovanou architekturou. Nový vizualizační mód vyžaduje výrazně menší snahu
(námahu, znalosti) od tvůrce aplikace. Přístroje nejsou časovány (uživatel nemusí ale ani nemůže
rozhodovat o časování) a jsou aktivovány po změně dat. Menší úsilí nutné k vytvoření aplikace je
vykoupeno ztrátou real-time vlastností a možností programovat řídicí algoritmy. Bez možnosti napsat
jakýkoliv program není ani možno napsat špatný program.
- Neobyčejně rozsáhlá funkčnost je soustředěna do jediného nástroje - od vizualizace po digitální
zpracování signálů, od řízení procesů po dálkovou diagnostiku strojů po Internetu.
O tomto manuálu
Problematika tvorby aplikací v systému Control Web 2000 je poměrně rozsáhlá a nelze dost dobře
systematicky popsat postupně všechny vlastnosti vývojového prostředí, metody tvorby a architekturu
aplikací spolu se všemi možnostmi nastavení a podobně. Jak rozhodnout, je-li lépe nejprve popsat příznaky
ovlivňující start aplikace nebo část vývojového prostředí, kde je možno tyto příznaky nastavit? Proto je
manuál rozčleněn do relativně samostatných kapitol, soustředěných na specifický problém a obsahujících
vše o daném problému - od principu funkce, popisu odpovídající části vývojového prostředí, užitečné tipy a
rady až po případný příklad aplikace.
Abychom vám umožnili co nejrychlejší seznámení se systémem Control Web 2000 a bezproblémovou
tvorbu prvních aplikací, rozlišili jsme jednotlivé kapitoly také hloubkou popisu problému a detailností
výkladu.
- Kapitoly obsahující pokud možno jen nutné informace a vysvětlující základní principy a návody jsou
soustředěny do prvního dílu "Vítejte ve světě rychlého vývoje aplikací". Po přečtení tohoto dílu by pro
vás neměl být problém využívat základních vlastností systému správným způsobem a tvořit kvalitní
měřicí, řídicí a vizualizační aplikace. Přesto jsou možnosti systému Control Web natolik
rozsáhlé, že popis řady vlastností vyžadujících hlubší znalosti, jako např. programování nebo tvorba
distribuovaných aplikací, se do tohoto dílu již nevešel a najdete jej ve druhém dílu.
- Druhý díl "Aplikace v prostředí Control Web" obsahuje kapitoly s úplným popisem dané
problematiky. Zde se dozvíte o zvoleném tématu vše do nejmenších podrobností. Například chcete-li
napojit vaši aplikaci na Internet, kapitola Control Web a Internet obsahuje vše, co je
nutno vědět.
- Třetí díl "Reference" obsahuje referenční popisy integrovaného vývojového prostředí, virtuálních
přístrojů, rozhraní ovladačů apod.
- Ve čtvrtém díle "Přílohy" naleznete popisy dalších témat ne přímo souvisejících se systémem
Control Web 2000, ale jejichž znalost je v určitých situacích potřebná a jistě
oceníte, že je v tomto manuálu naleznete.
Typografické konvence
Text celé knihy obsahuje mnoho ukázek, popisů a odkazů na nejrůznější části systému Control Web. Pro lepší orientaci a jednoznačný význam psaného textu jsou proto zavedena následující typografická pravidla:
- <Ctrl>+<A> — stisk zapsaných kláves (v tomto případě se jedná o současný stisk kláves <Ctrl> a <A>
- timer = sequencer100ms, 5; — ukázka zdrojového textu aplikace (procedury nebo přístroje)
- "Soubor/Tisk..."
— odkaz na menu — jednotlivá slova jsou oddělena znakem / tak, jak se postupně otevírají jednotlivá podmenu
- "Datové inspektory" — odkaz na text na obrazovce — titulky oken, názvy tlačítek nebo záložek
- OnActivate — název objektu, který se může vyskytovat ve zdrojovém textu aplikace — konstanty, proměnné, kanály, jména přístrojů, jména procedur a jejich parametrů
- 'aplikace.cw' — název souboru nebo adresáře
- chart — název třídy přístroje
- důležité — jakékoli zvýraznění. Zvýrazněn může být jakýkoli text včetně textů odpovídajících některé z popsaných konvencí. Často se lze setkat například se zápisem local (zdůrazněné jméno objektu aplikace) nebo se zápisem 'Filename.cw' (zdůrazněné jméno souboru).