SectionFlagsHolder
PROGRAM TEST_SectionFlagsHolder VAR USINT1: USINT; SectionState1: SectionState; BOOL1,BOOL2,BOOL3,BOOL4,BOOL5,BOOL6,BOOL7,BOOL8,BOOL9: BOOL; END_VAR FB(Clear:= BOOL1, Flags:= USINT1, State:= SectionState1, InternalWarning:= BOOL2, ExternalWarning:= BOOL3, FireAlarm:= BOOL4, IntruderAlarm:= BOOL5, PanicAlarm:= BOOL6, SabotageAlarm:= BOOL7, EntryDelay:= BOOL8, ExitDelay:= BOOL9); END_PROGRAM
LIB\JABLOTRON
V1.0
Varianta funkčního bloku SectionFlags s upravenou funkcionalitou. Jeho funkcí je stejně jako u SectionFlags reprezentace vstupní hodnotu příznaku sekce na jednotlivých výstupech.
Navíc byl přidán výstup SabotageAlarm spolu s funkcí, která automaticky rozpozná sabotáž a nastaví tento výstup na TRUE. Zásadní změnou je, jak napovídá název, funkce přidržení. Ta přidrží alarm až do změny stavu sekce STATE (libovolný stav), díky čemuž je nutné přivést na vstup i stav sledované sekce. Poslední změnou je volitelný vstup Clear, ten umožňuje manuální reset přidržených výstupů poplachu. Tento vstup je skrytý a nemusí být použit.
Vstup | Typ | Význam | Výchozí hodnota |
---|---|---|---|
Clear | BOOL | Náběžná hrana provede manuální reset poplachových (alarm) výstupů (nastaví FALSE) | FALSE (skrytý) |
Flags | USINT | Aktuální příznak sekce | 0 |
State | ENUM (SectionState) | Aktuální stav sekce | Unknown |
Vstup | Typ | Význam |
---|---|---|
InternalWarning | BOOL | Hlášení vnitřních sirén |
ExternalWarning | BOOL | Hlášení vnitřních sirén |
FireAlarm | BOOL | Poplach-hoří |
IntruderAlarm | BOOL | Poplach vloupání |
PanicAlarm | BOOL | Poplach-tíseň |
SabotageAlarm | BOOL | Poplach-sabotáž |
EntryDelay | BOOL | Příchodové zpoždění |
ExitDelay | BOOL | Odchodové zpoždění |
Funkční blok čte příznak sekce Flags. Čtená hodnota se převádí podle bitové masky na jednotlivé bity, každý bit je zapsán na odpovídající výstup. Výstup sabotage je odvozen z logiky ústředny, kdy jsou v příznaku sekce aktivní pouze záznamy Warning. Na alarmové (poplachové) výstupy „fire, Intruder, panic, sabotage“ se zapisuje pouze hodnota TRUE. Hodnota FALSE se na alarmové výstupy zapíše až ve chvíli, kdy se změní stav sekce (na libovolný stav), nebo se zapíše TRUE na vstup Clear (reaguje na náběžnou hranu).
Pozice bitu | Význam bitu |
---|---|
1 | Internal Warning |
2 | External Warning |
4 | Fire Alarm |
8 | Intruder Alarm |
16 | Panic Alarm |
32 | Entry Delay |
64 | Exit Delay |
0 | Výchozí stav příznaku |
Na vstup Flags je přivedena proměnná Section_Flag čtená z ústředny. Na vstup State je přivedena proměnná stavu sekce Section_State. Je důležité, aby číslo sekce bylo i u stavu, i u příznaku shodné. Poslední vstup Clear je resetovací vstup a resetuje pouze výstupy typu poplach (alarm). Výstupy musí být připojeny. Hodnotu výstupů lze využít např. ve webovém rozhraní pro indikaci, nebo mohou vyvolat odeslání upozornění, či spustit zabezpečovací logiku domu.
Indikace alarmů je držena v hodnotě TRUE i ve chvíli, kdy již na vstupu Flags je výchozí hodnota 0.
Zde ústředna postupně nahlásila všechny poplachové stavy. Na obrázku vidíme, že vstup Flags již není aktivní, ale funkční blok stále indikuje že k poplachu došlo.
Pokud se v tuto chvíli aktivuje vstup Clear, nebo změní stav sekce (na libovolný stav), jsou všechny alarmové výstupy nastaveny na hodnotu FALSE, tím se funkční blok překlopí zpět do výchozího stavu.