Aktuální vydání

celé číslo

05

2020

snímače teploty

celé číslo

Univerzální lepidlo na software

Automa 8/2000

Roman Cagaš,
Moravské přístroje, a. s.

Univerzální lepidlo na software

S vývojem v oblasti technologie programování se začínají objevovat produkty, které nelze zařadit do žádné ze známých „škatulek“. Na první pohled je obtížné tyto programové systémy od svých předchůdců rozeznat. Většina programového vybavení, kterou denně při své práci používáme, totiž vypadá při pohledu na obrazovku počítače velmi podobně jako před několika lety. Vizualizační programy jsou pro průmyslovou automatizaci podobnou stálicí, jakou jsou pro kancelář textové editory. Kancelářské programy mají stále stejná menu a tlačítka a programy pro průmyslovou automatizaci stále zobrazují k nerozeznání podobná technologická schémata. Uvnitř se ale postupně a nenápadně moderní programové vybavení změnilo k nepoznání.

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 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ějí „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. Programátorům a integrátorům softwaru ale určitě 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í nutné zdůrazňovat.

Obr. 1.

Bohužel se nezměnily zdaleka všechny používané programy. Mnoho známých a rozšířených vizualizačních systémů si do současné 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ých funkcí vlastně využívá. Tato nepříjemná vlastnost je pro uživatele částečně skrývána za neustále rostoucími výkony a zvětšováním velikosti paměti používaných počítačů. Avšak přestože pomineme vhodnost maskování neefektivnosti softwaru růstem výkonu hardwaru, stále 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í totiž 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 propojit systém 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 současné době akceptovatelná snad jen u jednodušších programovatelných automatů. Dokonce i mobilní telefony potřebují něco, co se blíží funkci 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ů, které pracují 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é firmy, významné v oboru průmyslové automatizace.

Moderní systém pro průmyslovou automatizaci musí reagovat na události a dělat jen to, co je v dané chvíli nutné. 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í, která je na daném počítači možná. Vyšší nároky však 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 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 mnoho let.

Může však být velmi užitečné 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 současné 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 použit zcela samostatně, bez spolupráce s ostatními počítačovými a automatizačními systémy. V mnoha firmách 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é vybavení, zvládající 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ů, senzorů teploty a tlaku, řízených pohonů, ventilů a dalších komponent a světem informačních technologií, uživatelských rozhraní, rozsáhlých databází SQL, podnikových informačních systémů, sítí TCP/IP a GSM a internetových serverů.

Co je Control Web?
Přiznám se, že obvyklý dotaz návštěvníků veletrhů a výstav, „k čemu ten software je“ 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 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 se zkrátka nehodí 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ů:

  • může pracovat jako softPLC a v reálném čase regulovat a řídit,
  • může sloužit jako systém pro automatické měření, sběr, vyhodnocování a archivaci dat,
  • má veškeré schopnosti využívané při vizualizaci technologických procesů a operátorském řízení,
  • je nezávislý na připojeném hardwaru, je vybaven množstvím nativních ovládačů i univerzálními ovládači standardů ASCII serial/modem, DDE, OPC a HTTP,
  • je plně distribuovatelný v prostředí počítačových sítí a prostřednictvím ovládače pro TCP/IP využívá i vytáčené linky,
  • je vybaven konektivitou ODBC pro spojení s libovolnými databázovými systémy SQL,
  • spolupracuje s komponentami ActiveX a sám může vystupovat jako objekt OLE//COM, a být tak řízen jinými programy,
  • plně podporuje internetové technologie, je vybaven serverem HTTP s dynamicky generovanými webovými stránkami a univerzálním webovým klientem pro vstup dat,
  • je široce škálovatelný od Windows CE po víceprocesorové servery Windows 2000 spojené do clusteru,
  • v prostředí Control Web je podporováno množství dalších technologií, které zde není možné 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 to možné? Jednoduše tak, že Control Web není pro žádnou specializaci napevno naprogramován. Je postaven na jádru 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.

Pro svou komponentovou architekturu a neomezené možnosti programování je Control Web skutečným „univerzálním lepidlem na software“.

Bližší informace je možné nalézt na http://www.mii.cz a http://www.controlweb.cz, spojení na firmu:

Moravské přístroje a. s.
tel.: 067/363 06
e-mail: info@mii.cz
http://www.mii.cz