článek v časopise AUTOMATIZACE 3-4/96

Systém Aster32 slouží pro vývoj aplikací v oblasti monitorování a vizualizace technologických systémů ve spojení s podřízenými stanicemi typu PLC. Je určen pro moderní operační systém Windows NT, který vyhovuje požadavkům pro tuto oblast aplikací:

  • grafické uživatelské rozhraní
  • robusnost systému
  • preemptivní multitasking
  • možnost definování přístupových práv pro jednotlivé uživatele v rámci OS
  • široká paleta síťových služeb

Méně nároční uživatelé mohou systém provozovat také pod operačním systémem Windows 95. Z hlediska uživatele se systém skládá z vývojového prostředí a runtime prostředí, které je rozšiřitelné pomocí programových DLL modulů nazývaných v systému Aster32 aplikačními moduly. U těchto modulů je třeba při jejich vývoji dodržet definované programátorské rozhraní, což umožouje jejich konfiguraci a začlenění do systému.

Databáze proměnných

Jak již bylo řečeno systém je rozdělen na část vývojovou a část runtime. Tomu odpovídají dvě spustitelné aplikace ASTERIDE.EXE a ASTERRT.EXE. Tyto aplikace využívají pro svou práci Modul databáze proměnných DBVAR.DLL. Tento modul jak napovídá jeho název obsahuje především všechny proměnné technologického procesu. Ty mohou být typu:

  • Boolean
  • Integer
  • Real
  • PLC Boolean
  • PLC Integer
  • PLC Real
  • proměnná typu Skupina výstrah

Proměnné typu PLC mají vazbu na konkrétní prvek podřízené stanice PLC např. registr, vstup, výstup a podobně. Zvláštní pozornost si zaslouží proměnné typu Skupina výstrah. Tyto proměnné tvoří stromovou strukturu a každé proměnné ostatních typů je třeba přiřadit určitou proměnnou typu Skupina výstrah. Příslušnost proměnné k určité skupině výstrah pak slouží k filtraci výstrah, skupinovému potvrzování výstrah a souhrnnému monitorování alarmových stavů.

Struktura systému ASTER 32

Modul databáze proměnných obsahuje také seznam použitých aplikačních modulů a seznam použitých technologických snímků. Při aktualizaci hodnot proměnných modul databáze proměnných hlídá vznik událostí (změna dané proměnné) a vznik a zánik případných alarmových stavů (výstrah). Pro proměnné typu Integer a Real lze definovat až čtyři alarmové hladiny s různou prioritou a volitelnou hysterezí. Výstrahy lze potvrzovat odděleně pro každou proměnnou nebo hromadně s využitím skupin výstrah. Dále modul obsahuje podporu pro real-time grafy, historické grafy a průběžné ukládání výstrah (*.ALM) a průběhů hodnot proměnných (*.HST) na disk. Program obsahuje možnost využívat programových skriptů pro celou aplikaci tak pro jednotlivé snímky, v obou případech jsou rozlišováný tři druhy skriptů On Startup - při spuštění, On Shutdown - při ukončení a While Running - za běhu (periodu lzevolit po 100ms).

Aplikační moduly

Pro komunikaci databáze proměnných s řízeným procesem, případně pro řešení případných dalších úkolů slouží tzv. Aplikační moduly. Jsou řešeny pomocí Windows DLL modulů, které jsou dynamicky zaváděny při staru runtime prostředí. Mají možnost číst a aktualizovat hodnoty proměnných v modulu DBVAR.DLL a vyžádat si zprávy při definovaných typech událostí. Při vývoji těchto modulů je třeba dodržet definované programátorské rozhraní k modulu databáze proměnných. Popis tohoto rozhraní pro jazyk C spolu s některými příklady budou součástí speciálního vývojového kitu. Základním použitím pro tyto moduly je komunikace s podřízenými statnicemi PLC. Použitím různých typů komunikačních modulů současně lze řešit komunikaci s různými typy PLC. Jiným možným použitím je modul DDE serveru ddesrv.amo, který slouží k přenosu dat pro jinou aplikaci (například nadřízený informační systém). Dalším modulem v dodávce programu runtime je ddeclnt.amo pro spojení aplikací ASTER32 na dvou PC po standartni sití nebo přes modem. Druhá aplikace nepoužívá data z PLC ale z první aplikace ze vzdáleného PC.

Modul Alert umoňuje přenos historických trendů a výstrah pomocí elektronické pošty mezi libovolně vzdálenými PC.

Runtime prostředí (asterrt.exe)

Jako rozhraní mezi technologií a operátorem slouží aplikace Runtime prostředí ASTERRT.EXE. Operátorovi dovoluje vykonávat vyprojektované vstupní povely pomocí myši a klávesnice. Provádí animaci zvoleného technologického snímku jako změnu atributů grafických objektů (úsečka, obdélník, text, bitová mapa...) z nichž se snímek skládá. Změnu těchto atributů (viditelnost, barva, plnění, blikání, zobrazení hodnoty) lze nezávisle jeden na druhém spojit s hodnotou výrazu sestaveného z proměnných řízeného procesu, s alarmovým stavem na jednotlivé proměné nebo skupině proměnných příslušejících do určité alarmové skupiny. Vlastní překreslování snímku se děje ve zvláštním výpočetní větvi, čímž je dosažena lepší odezva systému na uživatelské zásahy při velkých nárocích na složitost animace.

Výstrahy a události se zobrazují ve zvláštním okně jednak jako seznam aktivních výstrah a také jako historie všech událostí a výstrah. Okno umožouje filtrování historie událostí a výstrah pomocí jejich priorit a příslušnosti k určité skupině výstrah, které tvoří stromovou strukturu. Vznik výstrahy může být doprovázen odpovídajícím akustickým hlášením. Vybrané výstrahy a události lze průběžně tisknout na tiskárnu s použitím filtru pro tisk. Kompletní seznam výstrah a událostí se ukládá také do textového souboru ve zvoleném adresáři.

Operátor má možnost otevřít okno se zobrazením diagnostické informace z jednotlivých aplikačních modulů (např. informace stavu komunikace s PLC). Pod Windows NT systém podporuje přihlášení operátora přímo z aplikace s využitím lokálního seznamu uživatelů definovaných v rámci operačního systému.

Vývojové prostředí (asteride.exe)

Vývoj aplikace probíhá kompletně pomocí Vývojového prostředí ASTERIDE.EXE. To umožouje samozřejmě konfiguraci aplikačních modulů a editaci proměnných. Informace o nich ukládá do projektového souboru (*.APR). Kromě toho slouží pro tvorbu vlastního grafického rozhraní (technologického snímku). Snímek se může skládat ze základních grafických objektů:

  • úsečka
  • obdélník
  • elipsa
  • polygon
  • text (číselná hodnota)
  • tlačítko
  • real-time trend
  • historicky trend
  • bitová mapa
  • skupina sestavená z několika objektů

Vedle základních možností pro vytvoření objektu, přesunutí, změnu velikosti a tvaru existují ve vývojovém prostředí další užitečné nástroje. Schopnost umístění vybraných grafických objektů do clipboardu včetně všech atributů a jejich zkopírování na vybrané místo snímku. Možnost vytvoření skupiny objektů nebo přesunutí grafického objektu zcela dopředu nebo zcela dozadu vzhledem k ostatním objektům. Zarovnání grafických objektů k okrajům nebo ke středu nebo automatické nastavení stejných mezer mezi objekty. Dvojím poklepáním levého tlačítka myši na objektu se zobrazí dialog pro nastavení animačních atributů daného objektu. Jednotlivé snímky jsou ukládány do samostaných souborů (*.SCN). Novinkou je editování složených objektů nebo skupin složených objektů pomocí zobrazeného stromu všech grafických prvků, zároveň můžeme měnit nebo hledat proměnné ve všech navolených objektech. Použijeme klávesu Ctrl+t.

Tvorba aplikace

Nejprve je třeba při tvorbě nové aplikace vybrat s pomocí vývojového prostředí použitý aplikační modul(y) podle typu PLC a nastavit jeho parametry. To může být například použitý sériový port, přenosová rychlost a podobně. Vše se děje pomocí dialogových oken ve vývojovém prostředí. V současné době je zatím k dispozici komunikační modul pro PLC SAIA používající přenosový protokol S-BUS. Tento modul má tyto výkonové parametry: přenos 128 registrů PLC (4 byte) a 1024 flagů PLC (1 bit) a aktualizace databáze proměnných probíhá s periodou 340 ms při přenosové rychlosti 38 400 B/s. Pro nižší přenosové ryclosti je perioda aktualizace úměrně delší. Jsou k dispozici moduly pro další typy programovatelných automatů Direct Logic, Tecomat a AMiT.

Dále je třeba pro danou aplikaci vložit jednotlivé skupiny výstrah a jejich stromovou strukturu. Tato struktura může být odvozena například od hlediska umístění zdroje poruchy, kde na střední úrovni jsou jednotlivé stanice PLC a na nižších úrovních jsou skupiny jednotlivých technologických zařízení. Po vložení nové skupiny vznikne proměnná stejného jméno typu Skupina výstrah. Tuto proměnnou lze v určitých případech použít přímo, ale častěji je výhodnější použít jejich polí .Alarm (existuje alespoň jeden aktivní alarm), .UnAck(existuje alespoň jeden nepotvrzený alarm), která jsou typu Boolean. Tato pole jsou k dispozici i u ostatních typů proměnných.

Jestliže máme definovány skupiny výstrah a komunikační modul, můžeme přistoupit k zadávání proměnných řízeného procesu.

Co všechno nás zajímá při definici proměnné například typu PLC Integer ? Je to především jméno proměnné, kterým se budeme na proměnnou odkazovat a již zmiňovaná skupina výstrah. Dále je to počáteční hodnota proměnné a velikost pásma necitlivosti, které musí změna hodnoty proměnné překročit, aby byla systémem registrována. Musíme se rozhodnout, zda budeme chtít hlídat a změnu proměnné (event) a dále případné alarmové stavy. Pro proměnnou lze zapnout ukládání real-time trendu do paměti k dalšímu zobrazení. Časový průběh hodnot vybraných proměnných můžeme ukládat na disk do textového souboru (*.HST), přičemž se tak neděje periodicky, ale tehdy když změna hodnoty proměnné překročí mez předvolenou pro ukládání. Výsledný soubor lze importovat a poté zpracovávat nebo graficky zobrazovat např. pomocí databáze MS Access nebo samostatně dodávaným programem pro prohlížení grafů asterarc.exe. Události, výstrahy jejichkvitování a návrat do normálního stavu lze ukládat do archivního souboru (*.ALM) na disk.

Dalšími parametry proměnné jsou jméno komunikačního modulu a parametry pro přístup k PLC proměnné: číslo stanice, datový element (vstup, výstup, registr, flag) a interní adresa. Pro převod z interních jednotek do inženýrských je třeba vložit minimální a maximální hodnotu v inženýrských jednotkách a v interních jednotkách PLC.

Poslední fází je kreslení technologických snímků, zadání vazby na proměnné a volba způsobu animace. Pro grafický objekt lze použít nezávisle na sobě tyto způsoby animace:

  • viditelnost - v závislosti na boolean výrazu sestaveném z libovolných proměnných a jejich polí
  • barva úsečky, plnění a textu - v závislosti na boolean výrazu (2 barvy)
  • v závislosti na analogovém výrazu (4 barvy)
  • v závislosti na výstraze (2 barvy)
  • v závislosti na výstraze na analogové proměnné (4 barvy)
  • blikání - v závislosti na boolean výrazu
  • zobrazení hodnoty - v závislosti na boolean výrazu (2 různé texty)
  • v závislosti na analogovém výrazu (číselná hodnota)
  • plnění - v závislosti na analogovém výrazu

Stisk tlačítka myši na grafickém objektu může vyvolat některou z následujících akcí:

  • nastavení boolean proměnné na 1, 0 nebo inverze (potvrzení výstrahy nebo skupiny výstrah)
  • nastavení analogové proměnné na zvolenou hodnotu
  • přepnutí technologického snímku
  • volání funkce v aplikačním modulu DLL
  • spuštění jiné aplikace
  • vyvolání nápovědy Windows s popisem technologie

Povolení této akce lze podmínit hodnotou boolean výrazu. V aplikaci připravované pro Windows NT lze zadat jako parametr skupinu uživatelů, která jediná bude mít oprávnění danou operaci provést.

Závěr

Cílem tohoto článku bylo upozornit na nový systém pro monitorování a vizualizaci technologických systémů, který uživateli nabízí za přijatelnou cenu dobré vlastnosti:

  • propracované monitorování a zpracování alarmových stavů
  • možnost kvalitního grafické zpracování technologických snímků s dostatečnými možnostmi vizualizace
  • rozšiřitelnost systému pomocí modulů DLL
  • robusnost a vysoký výkon plně 32 bitového runtime prostředí, které při běhu využívá možnosti rozdělení aplikace do více výpočetních větví
  • možnost omezení přístupových práv pro jednotlivé operátory jak v rámci operačního systému, tak i z hlediska řízení technologie s použitím jednotné databáze uživatelů

               posledni aktualizace: 26.10.2015
© 2007 - ASTER, spol. s r.o.    design & code: fykusa@gmail.com