Single alarm memory with delay

BD56_SINGLEALARMMEMORYDELAY

PROGRAM TEST BD56
VAR 
  BOOL1,BOOL2,BOOL3,BOOL4,BOOL5 :BOOL;
    TIME1 : TIME;
   INT1:INT;
   FB : LIB.CORE.V1_0.BD56_SINGLEALARMMEMORYDELAY;
END_VAR
  FB(IN:=BOOL1,ACK:=BOOL2,RESET:=BOOL3,DELAY:=TIME1);
 BOOL4 := FB.ACKNOWLEDGED;
   BOOL5 := FB.MEMORY;
 INT1 := FB.ALRSTATUS;
END_PROGRAM

LIB\CORE

V1.0

The block is an alarm memory which responds after a time delay only.

InputTypeDescription Default value
IN BOOLAlarm input False
ACK BOOLAlarm acknowledge False
RESETBOOLAlarm memory resetFalse
DELAYTIMEAlarm delay 30s
Output TypeDescription
ACKNOWLEDGEDBOOLIndication that the alarm has been acknowledged
MEMORY BOOLAlarm memory
ALRSTATUS INT Alarm status

The block is a memory block which keeps alarm status for display in SCADA or for interlocking of the controlled aggregates. After a rising edge on the in input the time delay is measured. If the input TRUE level lasts even after the delay time expires, the block goes into alarm, indicating alarm memory at the memory output. The alarm can be acknowledged either via SCADA or other client, or by bringing a rising edge to the ack input. Then, the acknowledged output goes to TRUE. After the alarm signal disappears (in goes to FALSE), the alarm can be reset by bringing a rising edge to the reset1 or reset2 inputs.

Values of alrstatus:

  • alrstatus=256 - at least one alarm is active
  • alrstatus=512 - at least one alarm has been acknowledged
  • alrstatus=1024 - memory = true, alarm is unacknowledged and unreset.

The alrstatus value may be a composition of more above mentioned indicators.


The alarm block is one of the most frequently used blocks in the HVAC control programs. It is used for safety interlock of pumps and fans, which are prevented from operation until their alarm blocks are reset manually over a HMI or SCADA (or by a general alarm reset button at the panel door).

  • © Energocentrum Plus, s.r.o. 2017 - 2024