====== Paměť alarmů ====== {{:cs:mervis-ide:35-help:bd50.png}} ===== Název bloku ===== BD50_ALARM_MEMORY ===== Volání v ST ===== PROGRAM TEST_BD50 VAR BOOL1, BOOL2, BOOL3, BOOL4, BOOL5, BOOL6:BOOL; FB : LIB.CORE.V1_0.BD50_ALARM_MEMORY; END_VAR FB.IN[1] := BOOL3; FB.IN[2] := BOOL4; FB(ACK:=BOOL1,RESET:=BOOL2); BOOL5 := FB.OUT[1]; BOOL6 := FB.OUT[2]; END_PROGRAM ===== Knihovna ===== LIB\CORE ===== Verze ===== V1.0 ===== Popis ===== Blok slouží jako paměť alarmů, s možností zapamatovat si až 16 alarmových hlášení. ===== Vstupy ===== |Vstup |Typ |Význam |Výchozí hodnota | |IN |[[cs:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Vstupy alarmů. |[False,...,False]| |ACK |BOOL |Potvrzení. Když IN=TRUE a je náběžná hrana ACK pak ACKNOWLEDGED=TRUE (a stále MEMORY=TRUE)|False | |RESET |BOOL |Reset paměti alarmů. |False | |IN0,IN1,..,IN15|BOOL |Vstupy alarmů - jednotlivě | | ===== Výstupy ===== |Výstup |Typ |Význam | |OUT |[[cs:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Výstupy alarmů. | |ACKNOWLEDGED |[[cs:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Stavový vektor "Potvrzen" | |MEMORY |BOOL |Stavový vektor "Paměť alarmu"| |ALRSTATUS |INT |Uložený stav alarmů. | |OUT0,OUT1,..,OUT15|BOOL |Výstupy alarmů - jednotlivě | ===== Funkce ===== Blok zaznamenává alarmové stavy. Při příchodu alarmu od některého vstupu //in// si blok zapamatuje alarm a změní daný výstup //out//, paměť alarmů nastaví na //memory//=true. Při náběžné hraně od vstupu ACK se na výstupu ACKNOWLEDGED uloží aktuální stav hlášení alarmů. Výstupy //out// a paměť //memory// lze vyresetovat náběžnou hranou vstupu //reset//. POZOR, rozsah v ST je od 1 do 16. Hodnoty výstupu //alrstatus//: * //alrstatus//=256 - min jeden alarm je aktivní. * //alrstatus//=512 - v paměti //acknowledged// je min jeden alarm aktivní * //alrstatus//=1024 - //memory//= true, alarm je nebo byl aktivní, ale ještě ho nikdo nevyresetoval. Hodnota //alrstatus// může být součtem dílčích hlášení, viz možné stavy níže. ===== Příklad použití ===== {{:cs:mervis-ide:35-help:bd50_example.png}}\\ \\ ////\\ ////V proměnné ////ALRSTATUS//// se uchovává aktuální stav alarmu. Ten může být jeden z následujících:\\ * 0: Normal - alarm není přítomen * 1280: Alarm - vstup IN je v TRUE, nepotvrzeno, alarm lze potvrdit náběžnou hranou na vstupu ACK * 1792: Potvrzen - vstup IN je stále v TRUE, na ACK byla přivedena náběžná hrana * 1024: Odezněl - vstup IN přešel z TRUE do FALSE, alarm nebyl potvrzen ani smazán * 1536: Nesmazán - alarm byl ve stavu Potvrzen, načež vstup IN přešel do FALSE, alarm lze smazat náběžnou hranou na vstupu RESET a tím přivést do stavu Normal. \\