Softwarový projekt MFF UK

introscope

(Building Management System)

Vedoucí: Ing. Radim Matěja
Koordinátor: ???
Počet účastníků: 4
Úvod

"Building Management System" je softwarová nadstavba pro hardwarové systémy zajišťující provoz budov popř. areálů. Frontend systému je grafické pracoviště u kterého obsluha (strážní služba) sleduje kritické stavy nebo provádí vzdálené ovládání stavů zařízení.

Úkolem projektu je vytvořit systém na základe zkušeností z komerčních softwarů a z předchozích verzí tohoto programu. Systém sestává z aplikace a z ústředen. Ústředna je HW, která komunikuje s aplikací a předává jí informace o stavu hlásičů , které jsou na ni připojeny. Hlásič je fyzická entita systému, například senzor pohybu, otřesů (rozbití okna), teploty, polohy, kamery atd. Každá ústředna má definovaný počet vstupů a výstupů a dalších logických vlastností, definovaných v plug-inech (nutné jednoduché přidání různých typů ústředen). Na vstupech jsou připojené snímače, na výstupy může být připojena třeba siréna nebo jiné výstupní zařízení. Ústředna komunikuje s aplikací pomocí RS232 rozhraní a předává informace o stavech I/O a o sobě (vybitá baterie, porucha...).

Úkolem aplikace je spravovat získané údaje, reagovat na ně, zobrazovat jejich stav na monitoru, případně vykonávat související činnosti (při požáru vytisknout plán únikových cest...). Na monitoru je typicky vidět seznam půdorysů (nejčastěji WMF s plánem patra, budovy nebo nějaké její části, obecně to může být libovolná bitmapa, jpg...), jeden viditelný půdorys, na kterém jsou umístěné grafické reprezentace I/O hlásičů (ty budeme nazývat grafické entity).

Prostup změny I/O až zobrazení stavu na gr. entitě

hlásič vyšle ústředně signál, ta ho přes RS 232 předá aplikaci, aplikace podle typu dat zjistí typ události, vyhledá v paměťových registrech projektu informace o typu zařízení, zjistí typ zobrazení a převede podle def. tabulek signál na grafickou informaci.

Jednoduchý konkrétní příklad: Člověk odejde z místnosti, zadá na klávesnici zařízení číselný kód a za 10 sekund začne být prostor hlídán. Senzor otřesu na okně vyšle signál o rozbití okna, ten se zašle ústředně, která ho předá aplikaci. Ta zjistí, že místnost, v které je snímač, je hlídaná, signál, který přišel, znamená rozbití okna, a vyhlásí poplach , t.j. na monitoru zobrazí půdorys s napadenou lokalitou vyhlásí poplach v centrálním dohledovém pracovišti, uloží zprávu do deníku událostí a provede na pozadí všechny předprogramované úkony.

Cíl projektu

Cílem je vytvořit takovýto systém. Důraz je kladen na jeho modulárnost, t.j. možnost jednoduše přidávat různé typy ústředen (pomocí systému DLL plug-in), komunikovat s ústřednami přes různá rozhraní (tradičně RS232, ale rozumným rozhraním je možné získávat informace třeba z SQL databáze nebo ze sítě), definovat vlastní vzhled grafických entit (jako bitmapy, polygony, nebo dokonce uživatelem definované komponenty (vysvětlení později)), možnost definovat chování aplikace v závislosti na signálech z hlásičů (VisualBasic skripty, které budou definovat reakce aplikace na informace z ústředen, plně programovatelné prostředí). Nutné je logování událostí v systému. Důraz je hlavně kladen na absolutní stabilitu celého systému (aplikace je nasazena v nepřetržitém provozu), rychlost celého systému (je definován čas, do kterého musí aplikace zareagovat na poplach), v grafickém rozhraní možnost definování logických vrstev, na kterých jsou umístěné grafické entity a manipulace s nimi (Alpha blending, zoom, rotace...).

Součástí aplikace bude editor grafických entit (bitmapy, polygony a "aktivní prvky"). Aktivní prvek je uživatelem definovaná komponenta, která se může skládat z polygonů, kruhových výsečí, textu a podle signálů bude mít definované chování (například otáčení vůči bodu, posun, změna barvy objektu, velikosti...). Mělo by být možné definovat například komponentu "hodiny" - kruh, 12 teček po obvodu, ručička, která se podle příchozích hodnot otáčí kolem jednoho jejího konce. Účelem těchto komponent je možnost uživatele editovat komponenty reprezentující například ukazatele hladiny, pohyb výtahu, ukazatele reálných hodnot atd.

Web

Další částí je přístup k systému pomocí integrovaného webového prohlížeče. Předpokládané typy přístupu:

  1. sledování stavu připojených zařízení včetně grafické informace
  2. sledování/ovládaní běhu jednotlivých komunikačních serverů zajišťujících přenos dat mezi ústřednami a grafickou nadstavbou
  3. sledování/ovládání jednočipového web serveru s 8-bit a I2C sběrnicí

Pomocí CGI skriptu budou generovány stránky s půdorysy. Toto umožní přístup k aplikaci přes internet, ale především pak přes PDA nebo WebPad.

SQL

Nasazení SQL serveru je nutné především u rozsáhlých aplikací, u kterých vzniká potřeba sledovat a ovládat technologie z více míst v rámci jedné sítě- SQL server bude sloužit k ukládaní a aktuálních deníků událostí a výměně dat mezi jinak nesourodými zařízeními třetích výrobců.

Platforma Poznámky Stručný návrh architektury systému: