====== Alarm memory ====== {{:en:mervis-ide:35-help:bd50.png}} ===== Block name ===== BD50_ALARM_MEMORY ===== ST call ===== 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 ===== Library ===== LIB\CORE ===== Version ===== V1.0 ===== Description ===== The block is an alarm memory, with up to 16 alarms. ===== Inputs ===== |Input |Type |Description |Default value | |IN |[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Inputs of the alarm signals as an array |[False,...,False]| |ACK |BOOL |Acknowledge. If //IN=TRUE// and rising edge comes to //ACK// then //ACKNOWLEDGED=TRUE// (while keeping //MEMORY=TRUE) //|False | |RESET |BOOL |Reset of the alarm memory and ACKNOWLEDGED output. |False | |IN0,IN1,..,IN15|BOOL |Inputs of the alarm signals | | ===== Outputs ===== |Output |Type |Description | |OUT |[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Alarm output signals as an array. | |ACKNOWLEDGED |[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOBOOL]]|Indication that an alarm has been acked | |MEMORY |BOOL |Alarm memory | |ALRSTATUS |INT |Status of the alarm block (bit 8 indicates //IN=TRUE//, bit 9 indicates //ACKNOWLEDGED=TRUE//, bit 10 indicates //MEMORY=TRUE//)| |OUT0,OUT1,..,OUT15|BOOL |Alarm output signals. OUT is in TRUE until an alarm has been reset. | ===== Function ===== This block is dedicated to deal with alarm states. The alarm signal is at the //IN// input. A rising edge on the //IN// input sets //MEMORY// to //TRUE// (alarm memory). The alarm can be reset by a rising edge at the //RESET// input. If //IN=FALSE// at the reset time, then //MEMORY// goes to FALSE. If the alarm is active (//IN=TRUE//), it can not be reset by the //RESET// input, but may be acknowledged by a rising edge brought to the //ACK// input. Note that in ST, the indeces are 1...16 rather than 0...15.\\ //alrstatus values//: * //alrstatus//=256 - at least one alarm is active. * //alrstatus//=512 - at least one alarm has been acknowledged * //alrstatus//=1024 - //memory// = true, alarm was active but has not been reset.\\ The //alrstatus// value may be addition of more of these states.\\ ===== Application example ===== {{:en:mervis-ide:35-help:bd50_example.png}}