O společnostiProduktyObchodPodpora
Moravské přístroje
Hlavní stránka
O společnosti
Stažení software
Stažení dokumentů
Produkty
Control Web
Strojové vidění VisionLab
Kamery DataCam a osvětlovače DataLight
Průmyslový počítačový systém DataLab
Vědecké kamery
Speciální technika
Ceník
Aktivace produktů
Služby
Školení
Zakázková řešení
Podpora
Volba kamery a objektivu pro Strojové vidění
Control Web - Ukázkové aplikace

Hlavní stránkaProduktyProgramový systém Control WebČlánky

Datové sekce – silný nástroj pro distribuovaná data
 Nedělejme síťové distribuované aplikace postaru! Mechanismy výměny a správy dat rozptýlených v počítačových sítích, které se dříve musely v aplikacích docela promyšleně programovat, jsou nyní okamžitě a s veškerým komfortem k dispozici.

Control Web 5 přináší nové možnosti pro tvorbu distribuovaných aplikací. Hlavní motivací při návrhu nového systému byla snaha ušetřit práci při vývoji rozsáhlých síťových aplikací. Tento článek na jednoduchém příkladu ukazuje, že vytváření rozsáhlých distribuovaných aplikací je v prostředí Control Web 5 velice jednoduché a zvládne ho skutečně každý.

V sytému Control Web 5 jsou nyní všechny datové elementy (konstanty, proměnné, kanály …) umístěny v tzv. datových sekcích. Datová sekce je základním prvkem, který je možno sdílet mezi aplikacemi běžícími na různých počítačích.

V systému Control Web vytvoříme novou aplikaci. Toto bude serverová aplikace, která bude poskytovat data dalším aplikacím. V aplikaci vytvoříme sekci kanálů a do ní vložíme kanál teplota, který bude prostřednictvím ovladače získávat teplotu z technologie (například komunikací s PLC). Sekci pojmenujeme sdilena_sekce. Takto vytvořený kanál je možné používat v celé lokální aplikaci.

Nyní si ukážeme, jak můžeme k tomuto kanálu přistupovat z dalších aplikací, ať už z lokálního počítače nebo z libovolného počítače lokální sítě.

Prvním krokem je zpřístupnění sekce kanálů v serverové aplikaci. Sekci nastavíme jako sdílenou – nabízenou pro ostatní aplikace. V serverové aplikaci se přepneme do datových inspektorů, vybereme sekci kanálů a najdeme parametr scope. Parametr scope je klíčovým při vytváření distribuovaných aplikací. V serverové aplikaci, v sekci kanálů nastavíme parametr scope na hodnotu shared_remotely. Dále musíme povolit přístup klientů, k tomu slouží parametr client_access. Položku pololení přístupu tohoto parametru nastavíme na hodnotu allow a položku jméno nebo IP adresa serveru nastavíme na hodnotu any. Tato sekce bude od tohoto okamžiku nabízená všem aplikacím systému Control Web běžícím na jakémkoliv počítači, dosažitelném prostřednictvím počítačové sítě.

V druhém kroku vytvoříme klientskou aplikaci, v níž zpřístupníme serverovou sekci kanálů. Vytvoříme novou aplikaci. Vložíme do ní novou datovou sekci kanálů. Tuto sekci pojmenujeme také sdilena_sekce. Nyní opět nastavíme parametr scope. U klientské sekce nastavíme scope na hodnotu imported_remotely (vzdáleně dovážená sekce). Nyní bude Control Web datové elementy v této sekci dovážet ze vzdáleného počítače. Musíme ještě určit, odkud budou datové elementy dováženy. Musíme tedy určit počítač, na němž poběží serverová aplikace, jméno serverové aplikace a jméno sekce, z níž budou dovezené datové elementy. Toto všechno nastavíme parametrem server. Tento parametr nastavíme opět v datových inspektorech. Pro úpravu parametru server nabízí Control Web jednoduchý editor, v němž musíme vyplnit následující hodnoty:

  • Jméno nebo IP adresu serveru – to je adresa počítače, na němž poběží serverová aplikace (tedy aplikace v níž je sdílená sekce kanálů). Pokud budeme testovat komunikaci na jednom počítači (serverovou i klientskou aplikaci budeme spouštět na stejném počítači), můžeme zadat IP adresu lokálního počítače 127.0.0.1

  • Název modulu – jméno serverové aplikace (jméno zadejte bez přípony cw)

  • Název sekce – jméno sekce kanálů v serverové aplikaci. Protože v naší klientské aplikaci je sekce pojmenovaná stejně jako v serverové aplikaci, nemusíme tento parametr vyplňovat.

Sekce kanálů v klientské aplikaci je definována jako prázdná – neobsahuje definici žádných datových elementů. Fyzicky při spuštění aplikace však sekce kanály obsahuje, seznam kanálů je načten ze serverové aplikace.

Nyní můžeme v obou aplikacích číst teplotu, například do přístroje meter nastavíme vstup (parametr input) sdilena_sekce.teplota. V serverové aplikaci Control Web přečte hodnotu prostřednictvím ovladače. V klientské aplikaci musí Control Web přečíst hodnotu ze serverové aplikace, která ji přečte z ovladače. To však dělá jádro systému Control Web. Tvůrce aplikace nemusí vědět, jestli je kanál lokální nebo přenášený z jiného počítače. Vždy pracuje s kanálem teplota v sekci sdilena_sekce. Práce s kanálem je naprosto stejná v serverové i klientské aplikaci.

Takto vytvořenou klientskou aplikaci můžeme spustit na libovolném počítači naší lokální sítě. Můžeme jí spustit v jeden okamžik na libovolném počtu počítačů nebo na jednom počítači víckrát. Všechny aplikace budou zobrazovat hodnotu teplota. Pokud budou počítače naší lokální sítě přístupné z Internetu, můžeme klientskou aplikaci spustit na počítači kdekoliv na Internetu – vždy bude správně zobrazovat naši teplotu.

V uvedeném postupu byly záměrně definovány pouze základní parametry, aby ukázka byla co nejjednodušší a nejnázornější. Při praktickém použití jsou možnosti systému Control Web mnohem rozsáhlejší. Je například možné v serverové aplikaci nastavit, kteří klienti se mohou ke sdílené sekci připojit nebo kolik klientů může být v jeden okamžik připojených (parametr client_access).

Další možností je nadefinovat v klientské aplikaci v parametru sekce server více počítačů, na nichž může běžet serverová aplikace. Potom stačí, aby aplikace běžela alespoň na jednom z nich a Control Web se k němu automaticky připojí. Pokud je serverová aplikace zastavena, najde si klientský Control Web jiný spuštěný server (pokud takový existuje). To vše dělá Control Web zcela automaticky, aniž to uživatel za běhu aplikace postřehne. Pokud chce mít tvůrce aplikace kontrolu nad výběrem serverů, nabízí Control Web celou řadu nativních a událostních procedur.

Obrovskou výhodou při vývoji aplikací v systému Control Web je možnost testovat klientské aplikace na lokálním počítači a po dokončení jej bezpečně přenést na jinou pracovní stanici. To v praxi značně urychlí tvorbu aplikací.

Archivace dat

Nyní naši aplikaci rozšíříme o možnost archivace změřené teploty. Změřenou teplotu budeme chtít archivovat jednou za minutu. Do serverové aplikace přidáme novou datovou sekci typu archive. Sekci pojmenujeme archivace. Aby sekce archivovala jednou za minutu nastavíme parametr timer sekce na hodnotu 60 (parametr je v sekundách). Protože budeme chtít k archivu přistupovati z klientské aplikace nastavíme parametr scope na hodnotu shared_remotely.

Nyní musíme do archivační sekce vložit novou položku pro archivaci. V seznamu datových elementů klikněte na přidat a zadejte jméno datového elementu archiv_teplota. Nyní zbývá nastavit, aby tento nový datový element archivoval hodnotu kanálu teplota. V datových inspektorech nastavte parametr expression datového elementu na sdilena_sekce.teplota.

Pokud nyní serverovou aplikaci spustíme bude Control Web automaticky každou minutu ukládat změřenou hodnotu teploty. Dále si ukážeme, jak je možné archivované hodnoty prohlížet.

Nejprve zpřístupníme archivní sekci. V klientské aplikaci vytvoříme novou archivní sekci, kterou pojmenujeme stejně jako v serverové aplikaci archivace. Nastavíme opět parametr scope na hodnotu imported_remotely a parametr server jako v předchozím případě.

Posledním krokem je zobrazení historie teploty. Do klientské aplikace vložíme zobrazovač datových elementů přístroj data_viewer. V inspektoru přístroje nastavíme parametr timer na 60 sekund, přístroj bude obnovovat zobrazený graf jednou za minutu. Dále v parametru data_group přidáme odkaz na archivovaný datový element z dovezené datové sekce: archivace.archiv_teplota.

Nyní můžeme spustit server a libovolný počet klientů. Ve všech klientských aplikacích uvidíme stejný graf průběhu teploty. Historická data jsou uložena u serverové aplikace, klientské aplikace data pouze zobrazují.

Alarmy

Další možností je rozšířit aplikace o sledování alarmů, například překročení určené meze měřené teploty. Postup je obdobný jako v předchozím případě. Do serverové aplikace vložíme novou datovou sekci typu alarm. Do klientské aplikace se přidá datová sekce a prohlížeč alarmů – přístroj alarm_viewer.

Potom jsou ve všech klientských aplikacích (nezávisle na tom, na kterém počítači běží) zobrazeny stejné alarmy. Je možno prohlížet jejich historii, potvrzovat vzniklé alarmy a podobně. Control Web zajistí, že na všech bežících aplikacích je vždy zobrazen stejný stav.

Synchronizace sekcí

Synchronizace sekcí (scope = synchronized-shared-remotely) umožňuje vytvořit více datových sekcí ve dvou či více aplikacích pracujících na různých počítačích, z nichž ale jen jedna je aktivní. To znamená, že jen jedna aplikace např. komunikuje s daným PLC či jiným hardware, ostatní aplikace jen synchronizují obsah datových elementů po síti. Jestliže aktivní aplikace z nějakého důvodu selže (např. zastaví se ventilátor na chladiči procesoru), aktivní roli převezme jiný počítač a systém běží bez přerušení dále.

 
 | O společnosti | Produkty | Podpora | Stažení software | Stažení dokumentů | 
Moravské přístroje, a.s., Masarykova 1148, Zlín-Malenovice, 76302