Oba pojmy jsou velmi podobné a mají také některé stejné metody. Pro jednu skupinu alarmů je určen objekt PmaAlarmGroup a pro skupinu eventů objekt PmaEventGroup. Takových objektů může být v aplikaci více. (např. pokud chcete mít zvlášť komunikační a technologické alarmy nebo zvlášť eventy z kotelny a ze sušárny, atd.)
Konrétní alarm/event lze vytvořit (tzn. definovat ho aby se později mohl aktivovat/deaktivovat/kvitovat, atd.) několika možnými způsoby:
Pokud chcete mít jen jednu skupinu alarmů/eventů (abyste například mohli všechny tyto alarmy prohlížet společně) ale chcete ji vytvořit pomocí více objektů PmaAlarmGroup (např. pro každý kotel chcete mít vlastní PmaAlarmGroup objekt), pak to lze uskutečnit následovně:
Vytvořte jeden objekt PmaAlarmGroup, který bude sloužit jako základ (kořen) všem dalším objektům. Příslušně ho parametrizujete ale nemusíte v tomto objektu vytvořit ani jeden alarm/event. Na příslušných jiných vhodných místech pak vytváříte další objekty PmaAlarmGroup, u kterých však zatrhnete konfigurátor "Rodič povolen" a vyplníte cestu k základnímu objektu. V těchto objektech pak vytvoříte požadované alarmy/eventy.
Spravovat tyto alarmy/eventy tedy budete nad těmito objekty, ale vnitřně se vše "přesměruje" do základního objektu. Alarmy/eventy pak lze prohlížet všechny společně, lze je ukládat do jednoho souboru, atd.
K prohlížení alarmů/eventů slouží objekt PmgAlarmStateViewer, PmgAlarmHistoryViewer nebo PmgEventViewer. Objekt bývá umístěný spolu s dalšími obslužnými objekty (tlačítka, texty) v obraze a vytváří tak prohlížeč stavů alarmů, historie alarmů nebo historie eventů. Prohlížeč je obvykle zaregistrována v objektu PmaAlarmGroup nebo v objektu PmaEventGroup. Zaregistrováním prohlížeče do alarmní/eventové skupiny získá tato skupina schopnost zprostředkovat zobrazení prohlížeče svých alarmů/eventů. Otevíraní zaregistrovaného prohlížeče (tvořené obrazem) zprostředkovaně alarmní/eventovou skupinou je mnohem jednodušší než otevírat přímo prohlížeč, protože skupina dodá prohlížečce automaticky všechny důležité parametry, které by v opačném případě musely být dodány při otevření. Zaregistrování prohlížeče do skupiny tedy usnadňuje otevíraní prohlížeče pro danou alarmní/eventovou skupinu.
Vytvoření obrazu prohlížeče není triviální záležitost. Proto systém PROMOTIC obsahuje předkonfigurace všech tří základních prohlížeček (stavů alarmů, historie alarmů a historie eventů). Obraz prohlížeče při změně své velikosti v runtime přizpůsobuje svůj obsah (zvětšení, posun grafických objektů) a funguje i na webu. Při vytváření nové alarmní/eventové skupiny lze zvolit i vytvoření příslušných prohlížeček. Prohlížeč však lze vytvořit i samostatně kdykoliv později. Jedná se o předkonfigurovaný obraz, který může projektant libovolně upravovat.
Zaregistrované prohlížeče se otevírají přes PmaAlarmGroup nebo PmaEventGroup přidaným suffixem /#state nebo /#history. Do dodaných parametrů sParams metody Pm.CreateView jsou doplněny (pouze pokud nebyly dodány) základní parametry a jsou předány prohlížečce (objekt PmaPanel). Základní parametry obrazu zaregistrované prohlížeče:
Pm.CreateView(pMe.PmPanel, "/Alarms/#state", "pars:{filter:{source:boiler1;}}", "target:main;").Open();
//nebo
Pm.CreateView(pMe.PmPanel, "/Alarms/#history", "pars:{filter:{source:boiler1;}}", "target:main;").Open();
Zjistit, zda je alarm aktivní, lze pomocí vlastnosti PmAlarmItem.Active.
Upozornění: Uživatel musí mít oprávnění "Acknowledge". Zjistit, zda je alarm kvitovaný lze pomocí vlastnosti PmAlarmItem.Acknowledged.
Stav alarmu: | Popis: |
---|---|
aktivní nekvitovaný (červený) | Alarm, který byl aktivován a nedošlo k jeho deaktivaci ani ho uživatel nekvitoval. |
aktivní kvitovaný (žlutý) | Alarm, který byl aktivován, nedošlo k jeho deaktivaci a uživatel ho kvitoval. Nenastává u alarmů, kde konfigurátor "Typ kvitace" je nastaven na "2 = při kvitaci i automatická deaktivace". |
neaktivní nekvitovaný (modrý) | Alarm, který byl deaktivován ale uživatel ho ještě nekvitoval. Nenastává u alarmů, kde konfigurátor "Typ deaktivace" je nastaven na "2 = při deaktivaci i automatická kvitace". |
neaktivní kvitovaný (zelený) | Alarm, který je deaktivován a pokud je potřeba tak ho i uživatel kvitoval. |
Při každé změně stavu každého alarmu je vyvolána událost PmaAlarmGroup.onStateChange v objektu PmaAlarmGroup ve kterém je alarm definován.
Nastavuje se v konfigurátorech Zpoždění aktivace [sec] a Zpoždění deaktivace [sec], které umožňují neaktivovat/nedeaktivovat alarm ihned, ale místo toho jej uvést do stavu podezření na aktivaci nebo podezření na deaktivaci. Podezření po nastavené době přejde ve skutečnou aktivaci/deaktivaci alarmu nebo podezření zanikne.
Tímto způsobem lze snadno zamezit zbytečnému vzniku/zániku alarmů vlivem občasných výkyvů hodnot sledované proměnné, například vlivem rušení nebo poruchy komunikace. Také lze tímto způsobem implementovat alarmy pro akce s 'timeoutem', kdy před začátkem takovéto akce se aktivuje alarm se zpožděnou aktivací a při detekci úspěšného dokončení akce se alarm deaktivuje. Pokud ve stanoveném čase nedojde k úspěšnému ukončení akce, pak alarm v podezření ve stanoveném čase automaticky vznikne.
Pokud má alarm v konfiguraci zatrhnuto Smazat neaktivní kvitované (zelené), pak alarm ze seznamu aktivních alarmů zmizí, pokud se stane neaktivní kvitovaný (zelený).
Pokud hodnota konfigurátoru "Počet neaktivních, nekvitovaných alarmů (modrých)" objektu PmaAlarmGroup je větší než 1, pak alarmy, které čekají na kvitaci, zůstavají v seznamu i při aktivaci nového alarmu stejného názvu. V tomto jediném případě může nastat situace, kdy je v prohlížeči stavů více stejných alarmů.
V okně seznamu alarmních skupin je přehled všech alarm skupin. U každé skupiny je uveden počet alarmů
Dvojklikem myší na název kterékoliv alarmní skupiny (nebo ve skriptu voláním metody PmaAlarmGroup.WndState) se otevře přehled stavu alarmů v dané skupině. V tomto okně lze alarmy prohlížet a kvitovat. Pokud je povoleno, pak lze zde také nastavit a uchovat (tlačítka "Nastavení" a "Uložit") šířky sloupců, barvy stavu alarmů, formát zobrazovaného času, atd.
Každý řádek prohlížeče však informuje pouze o čase poslední aktivace/deaktivace/kvitace alarmu. Celou historii všech alarmů lze zobrazit kliknutím na tlačítko "Historie". Tím se otevře okno pro přehled historie dané skupiny. V tomto okně lze prohlížet historii všech alarmů v dané skupině.
Pm.CreateView(pMe.PmPanel, "/Events/#history", "pars:{filter:{source:boiler1;}}", "target:main;").Open();
Místo slova "event" lze říci česky "událost". Slovo "událost" je však již v této dokumentaci rezervováno pro objekt (každý objekt může mít události jako například událost PmaTimer.onTick) a proto pro pojem zde vysvětlovaný budeme užívat slovo "event".
V okně seznamu eventových skupin je přehled všech eventových skupin. Dvojklikem myší na název kterékoliv eventové skupiny se otevře okno pro přehled historie dané skupiny. V tomto okně lze prohlížet historii všech eventů v dané skupině.