Ing. Radek Červinka, radek.cervinka@vsb.cz,
Ing. Jiří Tichý, jiri.tichy@vsb.cz,
katedra měřicí a řídicí techniky Fakulty elektrotechniky a informatiky VŠB TU Ostrava
Vizualizace údajů prostřednictvím internetu
Příspěvek se zabývá některými aspekty využití internetu při řízení technologií a uvádí konkrétní příklad z praxe. V první části autor popisuje různé metody spojení pomocí internetu (přímé spojení, spojení pomocí internetového prohlížeče). Jako příklad slouží vizualizace měřené teploty prostřednictvím webového serveru a standardního webového prohlížeče. Při realizaci příkladu byl kladen důraz na to, aby program byl co nejjednodušší a nejrychlejší.
1. Úvod
V současné době se výrazně prosazuje distribuované řešení úkolů. Obzvláště patrný je tento trend v oblasti řízení technologických procesů.
Jasným případem distribuovaného řešení přístupu k datům je celosvětová síť Internet. Ačkoliv je velmi rozsáhlá a široce využívaná, neexistuje nyní příliš mnoho aplikací umožňujících pomocí internetu třeba jen zobrazovat data z technologického procesu.
Výhodou internetu, podobně jako např. mobilního telefonu, je značný stupeň volnosti a mobility poskytovaný uživatelům. V zemích, kde je používání internetu samozřejmější, je patrné, jak si tohoto fenoménu všímají i renomovaní výrobci. Důkazem jsou různé nástroje vizualizačních systémů (např. InTouch firmy Wonderware apod.).
Na rozdíl od průmyslových komunikačních sítí má internet, založený na počítačové síti Ethernet, velkou výhodu v dostupnosti. Počítačové sítě jsou nyní dostupné téměř všude a jejich použití k řízení technologií se přímo nabízí. Nevýhodou Ethernetu dlouhou dobu byla nedeterminovanost, která ale s příchodem nových technologií přestává být kritickou.
V příspěvku je popsána demonstrační aplikace, která byla navržena s cílem zobrazovat údaj měřené teploty s využitím přenosu dat po internetu. Zároveň jsou osvětleny některé základní principy a úskalí takového řešení.
2. Spojení prostřednictvím internetu
2.1 Základní přístupy
Internet lze pro přenosy dat v automatizaci využít dvěma způsoby: za pomoci internetového prohlížeče (na klientském počítači stačí mít standardní programové vybavení – internetový prohlížeč) nebo přímo (využívá se komunikace pomocí protokolu skupiny TCP/IP). Prostředí, ve kterém se při řízení technologií účastník pohybuje, je naznačeno na obr. 1.
V obou zmíněných případech může jít o přenosy dat napříč platformami, tj. data se získají např. využitím operačního systému Linux a uživatel si je může prohlížet na svém počítači s Windows. Pro každou činnost je tedy možné použít příslušně specializovaný nástroj (proč sbírat data pomocí nákladného počítače s Windows NT, když pro stejnou činnost může být použit méně náročný Linux).
2.2 Přímé spojení
Přímé spojení se používá pro rychlé a časté přenosy dat. Ke své funkci tento způsob vyžaduje (obr. 2):
- na straně klientu (s jehož pomocí se budou data prohlížet) nainstalovaný specializovaný program, většinou vlastní (zakázkové) výroby, který využívá protokol TCP/IP k přenosu vlastních dat; implementace tohoto programu není pro dobrého programátora obtížným úkolem;
- na straně serveru (který bude data poskytovat) je nutné mít jiný program – schopný distribuovat technologická data pomocí protokolu TCP/IP klientům.
Program na straně serveru je také nutné vytvořit (nebo si ho nechat vytvořit). Většinou nemívá uživatelské rozhraní a pouze předává výstupní data. Je možné naprogramovat oboustrannou komunikaci, tj. s možností zasílat z klientu povely serveru, který je vykoná.
Výhodou přímého spojení je velmi rychlá výměna dat (i obousměrně) a možnost vlastního kódování přenášených dat. Nevýhodou je nutnost instalovat na počítač klientský program (závislý na operačním systému). Rychlost komunikace závisí v podstatě na propustnosti sítě. Jde o způsob s výhodou použitelný pro řízení.
2.3 Spojení pomocí internetového prohlížeče
Nejčastěji se spojení pomocí internetového prohlížeče používá k vizualizaci, a to prostřednictvím HTTP jako protokolu aplikační vrstvy nad protokolem TCP/IP. K tomu, aby mohl fungovat systém přenosu dat přes rozhraní HTTP, je nutné mít několik programů (obr. 3):
- na straně klientu stačí prohlížeč internetu (browser) – typicky Internet Explorer nebo Netscape Navigator (oba programy jsou určeny k volnému použití);
- na straně serveru je situace složitější, neboť jsou nutné webový server, aplikace webového serveru a data.
Webový (www) server je program schopný distribuovat uživatelovy webové stránky a data do sítě Internet (např. program Apache).
Aplikace webového serveru je program schopný předávat na žádost webového serveru technologická data. Tento program je nutné vytvořit (nebo nechat vytvořit). Měl by být sestaven podle určitých standardů (CGI, ISAPI aj.). Důležité je, že tento program nemá uživatelské rozhraní (front-end), a tudíž na obrazovku nic nepíše ani nekreslí, pouze výstupní data předá dále, přičemž určí jejich typ (content=text/html, image/jpg apod.). Vlastní zobrazení obstarává internetový prohlížeč u uživatele.
Data jsou v tomto případě položka společně označující webové stránky a data technologického procesu. Webové stránky jsou napsány v jazyce HTML a uloženy na počítači, kde běží webový server. Technologická data jsou získávána pomocí aplikace webového serveru volané příkazem HTML.
Většinou je lepší na straně serveru použít kromě tří již uvedených programů ještě jeden program, který data z technologického procesu získá a uloží do paměti, kde si je aplikace webového serveru vyzvedne. Data v serveru jsou periodicky aktualizována a v případě požadavku ze strany klientu je lze okamžitě odeslat.
Výhodou spojení prostřednictvím prohlížeče je úplná nezávislost na použitém operačním systému. K prohlížení dat je možné použít jakýkoliv internetový prohlížeč. Celkově je komunikace pomalejší než při přímém spojení. Oproti způsobu přímého spojení ovšem většina částí komunikačního řetězce již existuje, a je tedy nutné jen méně jeho částí implementovat. Jak již bylo uvedeno, používá se tento způsob především k vizualizaci.
V příkladu popsaném v dalších odstavcích byly použity oba způsoby: pro komunikaci server s technologií přímého spojení a pro vizualizaci spojení pomocí HTTP.
2.4 Jak komunikace funguje
Zjednodušeně lze komunikaci popsat takto: na klientském počítači je spuštěn internetový prohlížeč a je zadáno URL (např: http://pcd400u.vsb.cz), DNS převede URL na IP adresu, načež prohlížeč požádá o spojení a přenos dat pomocí HTTP.
Na serveru, který je identifikován podle IP adresy, je zjištěno, zda běží webový server. Jestliže ano, je mu předán požadavek na poskytnutí dat. Existuje-li požadovaná webová stránka, je následně zaslána žadateli. Je-li na stránce odkaz na aplikaci webového serveru, je tato spuštěna a výsledek její činnosti je předán žadateli. Aplikace se tedy na serveru spouští na požadavek klienta.
Jediným úkolem aplikace webového serveru je předat požadovaná data webovému serveru, aby je tento mohl předat žadateli. Výsledkem činnosti aplikace jsou data ve tvaru srozumitelném prohlížeči internetu. Většinou je to stránka HTML, ale může to být třeba i grafické zobrazení.
Názvosloví |
DNS – Domain Name System systém zajišťující překlad názvů domén z jejich jmenné do číselné podoby skutečných IP adres |
CGI – Common Gateway Interface první standard rozhraní v aplikacích webového serveru: programy CGI mohou být vytvářeny v podobě kompilovaných programů nebo v podobě skriptů |
HTML – HyperText Markup Language jazyk pro označování hypertextu (upravená podmnožina jazyka Standard Generalized Markup Language – SGML); jazykem HTML se popisuje formátování textu pomocí značek (tags) a jeho prostřednictvím lze také volat aplikace webového serveru |
HTTP – HyperText Transfer Protocol protokol aplikační vrstvy určený pro přenos hypertextu, kdy vlastní přenos dat zajišťuje protokol vrstvy nižší, např. TCP. HTTP tedy předpokládá, že na jednom konci předá data pro přenos a na druhém konci obdrží data v nezměněné podobě; pro aplikace typu webového serveru je důležité, že HTTP má pouze tři metody: GET – je určena pro načtení celé entity zadané adresou URI, HEAD – je určena pro žádost pouze o hlavičku dané entity, POST – představuje pro server požadavek na přijetí entity od klientu |
ISAPI – Internet Server API původně standard firmy Microsoft, nyní otevřený standard rozhraní |
klient zařízení požadující služby po serveru (může být v podobě programu, počítače aj.) |
server zařízení poskytující služby klientům (může být v podobě programu, počítače aj.) |
TCP/IP – Transmission Control Protocol/Internet Protocol základní komunikační protokoly internetu |
URL/URI – Universal Resource Locator/Identifier jednotný lokátor/identifikátor zdroje: specifikuje určitou entitu na internetu |
3. Konkrétní příklad
3.1 Přístup k řešení
Demonstrujme použití popsané technologie v praxi na příkladu zobrazování určité aktuální teploty. Realizované řešení je ukázáno na obr. 4.
Před začátkem práce bylo nutné rozdělit řešení tak, aby bylo možné sdílet naměřené údaje i pro potřebu výuky.
3.2 Hardware
Hardware měřicího přípravku (jednotka teploměru) měří teplotu a zajišťuje komunikaci po sériové lince. K vlastnímu měření teploty je určen integrovaný senzor teploty SMT160-30. Jeho výstupem je obdélníkový signál úrovní TTL/CMOS o kmitočtu asi 3 kHz, jehož střída je lineární funkcí teploty. Měřicí rozsah senzoru je –45 až +130 °C s absolutní chybou nepřekračující 0,7 °C. Napěťový výstup senzoru SMT160-30 lze sice snadno digitálně zpracovat, pro větší odolnost proti rušení je však převeden na proudový signál 4 až 20 mA. Střída je měřena jednočipovým mikroprocesorem, který zároveň zajišťuje komunikaci s nadřízeným systémem (serverem) po sériové lince (RS-485, část protokolu Epsnet-F).
3.3 Software
K přenosu dat mezi měřicím přípravkem, reprezentujícím technologii, a serverem bylo pro svou jednoduchost použito sériové rozhraní RS-485/RS-232C.
Následně byl napsán program Sběrač pro komunikaci s jednotkou teploměru a pro zápis získaných údajů do souboru.
Další částí řešení byla vlastní aplikace webového serveru – program Skript. Byla zvolena aplikace CGI. Aplikace Skript se spouští pouze na žádost webového serveru WS. Její úlohou je převést data získaná programem Sběrač na obrázek typu *.gif, který je distribuován webovým serverem WS jednotlivým klientům.
Server WS distribuuje nejen data vytvořená programem Skript, ale i statické stránky HTML uložené v serveru. Při vývoji byly jako webové servery používány programy TinyWeb a Apache.
Programovacím jazykem byl Object Pascal a vývojovým prostředím Delphi, které se vyznačuje dobrou podporou i v oblasti implementace aplikací webového serveru. Programy Sběrač a Skript nemusejí být spuštěny na jednom počítači, ale mohou existovat i v rámci lokální sítě. Mezi sebou komunikují pomocí TCP/IP (tedy přímým způsobem). Výsledek lze zhlédnout na adrese uvedené v kap. 2.4 (bohužel v současné době programy neběží stále).
Literatura:
[1] JAMSA, K. a kol.: Programování na webu. Brno, UNIS 1996.
[2] Vlach, J.: Počítačová rozhraní. Praha, BEN 2000.
[3] Miller, T. – Powell, D.: Mistrovství v Delphi 3. Brno, Computer Press 1998.
[4] www.rfc.net – Request for Comments (popis protokolů internetu).
[5] www.smartec.nl, www.atmel.com (hardwarová část).
|