Aktuální vydání

celé číslo

08

2024

Automatizace v potravinářství a farmacii

Měření a regulace průtoku, čerpadla

celé číslo

Dispečerská pracoviště a informační systémy pro Linux

Automa 7-8/2001

Antonín Hofmann, Coral, s. r. o.
(hofmann@coral.cz)

Dispečerská pracoviště a informační systémy pro Linux

Linux, Linux, snad každý uživatel výpočetní techniky již o něm něco zaslechl. Král je mrtev, ať žije král! Vlastně ne, král není mrtev, je jen dáno na vědomost, že není jen jeden.
To samé platí i pro informační systémy – existuje vždy ne jedno, ale více možných řešení, více alternativ. Operační systémy nevyjímaje.

Obr. 1.

Operační systém zadarmo
Když zapnete počítač a necháte ho „naběhnout“ do známé podoby, za chvíli zjistíte, že se nic dalšího neděje. Omyl – v počítači ve skutečnosti běží program, kterému se říká operační systém (OS), a přestože není na první pohled vidět, jde o program velmi důležitý. Určuje totiž mezivrstvu mezi hardwarem vašeho počítače a uživatelskými programy, které chcete spouštět, definuje rozhraní a formuje možnosti, které potom počítač jako celek bude mít. Operační systém může být jednoduchý a minimalizovaný, jako je např. všeobecně známý DOS, nebo může být velký, složitý a výkonný, jako např. VMS. Při výběru vhodného operačního systému je ve hře mnoho aspektů – jeho rozšířenost, podpora, existence programového vybavení, dokumentace, ale i cena a licenční podmínky. Právě poslední dvě z nich, cena a licenční podmínky, v současné době doslova hýbou počítačovým světem a jsou předmětem mnoha diskusí a polemik.

Objevil se totiž fenomén jménem Linux: operační systém, který je šířen zadarmo.

Linux
Linux je operační systém typu UNIX, původně navržený pro osobní počítače PC. Historie OS UNIX sahá až do roku 1965, kdy byla vytvořena prvotní podoba vývojového prostředí pro počítače PDP-7. První verze byly napsány v assembleru, tedy ve strojovém jazyce daného procesoru, a přenositelnost systému na jiné typy počítačů byla velmi problematická. Později zveřejnil Dennis Ritchie programovací jazyk C, a tak, v roce 1973, byl UNIX kompletně přepsán do tohoto jazyka. Tím se vlastně umožnilo „portování“ (upravení programu pro platformu, pro kterou původně nebyl určen) OS UNIX i na jiné typy počítačů. UNIX se velice brzo stal populárním především v akademických kruzích, později se však razantně prosadil i v komerční sféře. V současné době patří mezi široce používané typy OS a je znám především solidním teoretickým základem a stabilním provozem.

Autorem operačního systému Linux je Linus Torvalds. Nejstarší verze vznikly jako snaha vytvořit OS typu UNIX pro počítače 386. Zajímavé je, že zdrojový kód byl vytvořen zcela znovu, aniž by se na něm podíleli původní tvůrci OS UNIX. Byla zvolena ojedinělá strategie, kdy na vývoji vlastního OS spolupracovali lidé v celém světě. Pravidla jsou následující: dostaneš vše zdarma, a cokoliv dalšího v OS vytvoříš, jsi povinen dále poskytnout zdarma ostatním. Přesněji, Linux podléhá licenčním podmínkám GPL (General Public Licence). Tato licence se vztahuje na veškeré programové vybavení produkované v rámci nadace Free Software Foundation a jejím cílem je zabránit komukoliv omezovat distribuční práva ostatních. Podle těchto licenčních podmínek může prodejce účtovat za distribuci programového vybavení GNU kolik chce, ale nesmí nikomu nařizovat, za jaký poplatek je má poskytovat dál. V praxi to vede k tomu, že vlastní OS je šířen zdarma, distribuční firmy si většinou účtují jen cenu média, instalačního programu či dokumentace.

TirsWeb a Linux
TirsWeb jako Technologický Informační a Řídicí Systém založený na internetových technologiích je znám především z verze pro OS Windows. Je to vizualizační a v nadstavbě i řídicí software (SCADA), určený především pro průmyslovou automatizaci a budování dispečerských pracovišť. Základní myšlenka systému je velmi jednoduchá a spočívá ve využití prostředí internetového prohlížeče jako panelu obsluhy průmyslového systému. Portace TirsWebu na Linux byla celkem přímočará, protože internetové technologie jsou samy o sobě od počátku navrženy tak, aby byly na použité platformě pokud možno nezávislé. Protože TirsWeb důsledně využívá standardy a normy definované pro internet, bylo vlastně i v minulosti možné hovořit o slučitelnosti s jinými OS a používat klientská pracoviště na libovolném OS (tedy i Linuxu) za použití internetového prohlížeče portovaného na daný OS. Nejnovější verze, označená TirsWeb-Linux, ovšem znamená něco jiného. Jde o budování serverových pracovišť jako distribuovaných jednotek celého informačního systému právě na operačním systému Linux. Komplexně je daná problematika znázorněna na obrázcích. Obr. 1 je původní verze TirsWebu pro OS Windows, s možnosti použít OS Linux pro klientské pracoviště. Obr. 2 je portace TirsWeb-Linux, kdy jsou serverové stanice vytvořeny na Linuxu.

Obr. 2.

TirsWeb – tenký klient
Jak již z podstaty problematiky vyplývá, dispečerský systém je tvořen z komponent pojmenovaných:

a) server – počítač, na kterém je vytvořena aplikace dispečinku a který je určitým způsobem napojen na reálnou technologii,
b) klient – pracoviště obsluhy.

Poznamenejme, že informační systém složený z těchto komponent může být fyzicky libovolně uspořádán. To je tedy řešení v rámci jednoho počítače (stejný OS pro klient i server), řešení v síti LAN nebo řešení na skutečném internetu, kdy klient a server mohou být od sebe vzdáleny stovky kilometrů. Problémy zpravidla nejsou s instalací informačního systému na lokální počítač či s řešením podnikové sítě LAN, kde jsou řádově jednotky až desítky počítačů.

Představme si však jiný, skutečný případ z praxe. V současnosti se v Göteborgu ve Švédsku buduje informační systém založený na technologii TirsWeb. Ve městě Göteborg je asi 5 000 domů s bytovými jednotkami a asi 2 000 vlastníků těchto domů: to znamená, že jeden vlastník má průměrně 2,5 domu. Společnost, která distribuuje energii těmto subjektům, chce informační systém, jenž monitoruje odběr energie ve všech bytových jednotkách a informace o odběru selektivně poskytuje oněm 2 000 vlastníkům. Představme si tedy informační systém, kdy již jen první instalace by vyžadovala „obejít“ 2 000 počítačů a instalovat příslušný uživatelský software – nemluvě o případných opravách, vylepšeních systému či nových verzích. Tady nastupuje technologie „tenkého klientu“, kdy vlastně klientský počítač nemá nainstalováno nic neobvyklého, co souvisí s konkrétním řešením, a vystačí se správně nainstalovaným OS a internetovým prohlížečem. Při požadavku obsluhy vstoupit do informačního systému je poslední platná verze automaticky bez „obtěžování“ obsluhy stažena ze serveru a klientský počítač se tak bez nutnosti dalších instalací stává plnohodnotným článkem informačního systému.

TirsWeb-Linux podporuje technologii tenkého klientu a přístup k technologickým informacím je zprostředkován komponentou nezávislou na použitém OS, appletem Java umístěným do stránky HTML.

TirsWeb-Linux server
TirsWeb-Linux server má dvě základní části: standardní server internetových stránek a konektor-server, který zabezpečuje spojení s technologickými proměnnými (obr. 3). Podstatou technologie TirsWeb je vytvoření finální podoby dispečinku ve formátu standardního webovského projektu. V Linuxu se k tomu používá Apache Web Server. Možná právě díky internetu je Linux velmi populární operační systém, na budování webových pracovišť se výborně hodí a již v současné době je používán mnoha firmami právě jako OS pro firemní webový server. Dnes a denně lze číst krátké zprávy v technickém tisku, že firma XY přešla na Linux a Apache Web Server, což jistě samo o sobě svědčí o kvalitě tohoto řešení.

Pro budování dispečerských pracovišť v systému TirsWeb stačí napsat jedinou větu; grafická podoba uživatelských stránek pracovišť systému TirsWeb je postavena na standardu webové technologie a na Linuxu realizována aplikací Apache Web Server. Pohled z druhé strany: začnete-li svůj dispečink budovat v systému TirsWeb, můžete použít všechny znalosti, které máte se serverem Apache, spolu se snadno dostupnou dokumentací. Jste-li začátečník, budete se učit jen to, s čím se mnoho vašich kolegů v oblasti výpočetní techniky již určitě setkalo a co vás v budoucnu také nemine – základy internetových technologií.

Obr. 3.

Spojení s reálnou technologií
Přístup k technologickým proměnným je primární vlastností každého dispečerského pracoviště. Dispečer sleduje na obrazovce pracovní schéma technologie, kde aktivní políčka mění svůj vzhled podle aktuálního stavu, nebo zadává nové hodnoty vybraných signálů. Podle obr. 3 tuto funkci zabezpečuje tzv. konektor. Je to softwarový modul, který na jedné straně zprostředkuje napojení na daný typ technologie, programovatelný automat s daným komunikačním protokolem, na druhé straně funguje jako server technologických dat pro klienty. Konektor je v systému Linux řešen jako démon pracující na pozadí. Je zřejmé, že chcete-li pracovat s PLC typu XY, musíte mít na serverové straně spuštěn konektor, který umí pracovat s protokolem daného automatu. Konektor je přitom služba bez uživatelského rozhraní, veškeré konfigurace jsou v  databázi typu MySQL. Jde o jednu z implementací databáze typu SQL, která je v systému Linux velmi populární a je, jak je už dobrým mravem, poskytována také bezplatně. Integrace všech konfiguračních dat do databáze MySQL má několik dalších výhod. Především je to možnost použít vlastní softwarová „udělátka“, tedy nástroje ke konkretizaci úkolu dané zakázky. Základní věta MySQL vypadá typově tak, že klíčem je jméno technologické proměnné ve formátu čitelném pro uživatele, řekněme TeplotaPrimaru22, a dále pokračuje technická specifikace umístění v technologii, např. PLC #3, Blok 2, adresa, typ dat, délka atd. Při tvorbě vizualizačního schématu se pracuje již s abstraktním jménem TeplotaPrimaru22. Změní-li se hardwarové umístění dané technologické proměnné v systému, změní se pouze její popis v konfigurační databázi MySQL a dalších částí informačního systému se tato změna nedotkne. Unifikace formátem SQL je příjemná, nicméně pro ulehčení práce při konfiguraci daného typu programovatelného automatu je dodáváno uživatelské rozhraní nejčastěji ve formátu zobrazení v HTML, které pracuje s daným typem konfigurační databáze a uživateli dovoluje vykonávat základní správu a graficky editovat procesní proměnné.

Od lokálního k rozprostřenému řešení
Technologie TirsWeb-Linux dovoluje snadno budovat dispečerská pracoviště místních i územně rozprostřených řešení. Systém byl od počátku navržen tak, aby dobře pracoval především v reálném světě internetu, kdy je zcela běžné, že spojení mezi klientem a serverem je směrováno přes blíže nespecifikovaný počet jiných počítačů cizích firem. Pro každého je vždy ohromující zjistit, kudy jeho spojení právě teď prochází. Jste-li připojeni k internetu, zkuste vypsat, jakými uzly vaše spojení prošlo. V Linuxu spusťte příkaz /usr/sbin/traceroute www.coral.cz (nebo ve Windows v okně DOS podobný příkaz tracert www.coral.cz) a uvidíte, že přestože náš počítač je v Hradci Králové, může se klidně stát, že vaše spojení povede až někudy mimo hranice naší republiky. Dalším aspektem plně internetových řešení je skutečnost, že v cestě stojí i různé firewally (v původním významu požární stěna), tedy počítače, které hlídají a propouštějí pouze bezpečné přístupy. (Poznamenejme, že mnoho takovýchto systémů je realizováno právě na OS Linux.) S těmito okolnostmi se technologie TirsWeb dobře vypořádává a navíc pro bezpečný zápis do procesních proměnných podporuje protokol HTTPS. Písmeno S na konci značí secure, tedy zabezpečený. Jde o zabezpečení spojení mezi klientem a serverem, kdy na základě předaných bezpečnostních klíčů se posílaná informace kóduje tak, aby ji třetí strana nemohla snadno rozšifrovat či modifikovat.

Shrňme, že systém TirsWeb-Linux je distribuovaný systém s možností budovat dispečerské systémy, jako např. na obr. 4.

Obr. 4.

Vyzkoušejte si
Zkušební verze systému TirsWeb pro Linux je ke stažení ve formátu .tgz na adrese www.coral.cz pod příslušnou položkou. Součástí instalačního souboru je RPM a stránka readme.html, kde jsou základní informace pro úspěšnou instalaci. Máte-li nainstalovaný Linux s webovým serverem Apache, měla by být instalace TirsWebu jednoduchá. Součástí instalace je pokusný projekt dispečinku v systému TirsWeb, který tvoří dvě jednoduchá uživatelská schémata, na kterých jsou demonstrovány základní vlastnosti především s přenosem „živých“ hodnot do stránky HTML. Třetí stránka (obr. 5) je komplexnější a může být inspirací pro složitější a reálnější dispečerská zobrazení. Protože jde o zkušební projekt, není aktivováno napojení na reálnou technologii. Místo skutečného konektoru je zde pouze simulační modul generátor, který matematickými funkcemi „vymýšlí“ nové hodnoty procesních proměnných a poskytuje je dalším částem systému. Smyslem zkušební verze je vyzkoušet vlastnosti systému TirsWeb na hotovém zkušebním projektu a poskytnout uživatelům návod, jak vytvářet vlastní zobrazení. Prostudováním jednoduchých příkladů dokáže i začátečník tvořit vlastní pokusná zobrazení, a ohromení z možností grafických kouzel internetové technologie je vždy velkolepé. V další fázi lze linuxový server s nainstalovaným zkušebním projektem umístit i na internetu.

Každý se může přesvědčit, jak systém TirsWeb funguje. Chcete-li ihned, předtím, než se pustíte do budování vlastního serverového pracoviště, vyzkoušet popisovaný zkušební projekt pouze jako klient, otevřete www.coral.cz a zvolte on-line test.

Závěr
Článek popisuje jeden z prvních systému kategorie SCADA pro Linux z dílny české firmy. Díky dobrému teoretickému základu technologie TirsWeb byla portace na Linux celkem jednoduchá; věříme, že čtenář po přečtení článku, popř. po prostudování souvisejících statí o TirsWebu ([1], [2]), dokáže dobře ocenit výhody nabízeného řešení. Dalším krokem bude implementace nejpoužívanějších protokolů programovatelných automatů s různými fyzickými připojeními (RS-232, UDP/IP, TCP/IP) a příslušné logické protokoly. Konektory budou budovány podle přání zákazníků. Doufáme, že nejen zahraniční výrobci PLC se stálou klientelou v ČR, ale i české firmy – výrobci programovatelných automatů a čidel – projeví dostatečný zájem o systém Linux.

Literatura:

[1] HOFMANN, A.: TirsWeb – Internet ve službách vizualizace a řízení technologií. Automatizace, 1999, č. 10, s. 767-770, č.11, s. 818-820.

[2] HOFMANN, A.: TirsWeb: technologický vizualizační a řídicí systém na bázi standardu HTML. Automa, 2000, č. 8, s. 37-39.

[3] Kolektiv autorů: LINUX – dokumentační projekt. Praha, Computer Press 1998.