Multiple Alarm Memory (BD50)
BOOL1, BOOL2, BOOL3, BOOL4, BOOL5, BOOL6:BOOL;
FB : LIB.CORE.V1_0.BD50_ALARM_MEMORY;
FB.IN := BOOL3;
FB.IN := BOOL4;
BOOL5 := FB.OUT;
BOOL6 := FB.OUT;
The block is an alarm memory, with up to 16 alarms.
||Inputs of the alarm signals as an array
||Acknowledge. If IN=TRUE and rising edge comes to ACK then ACKNOWLEDGED=TRUE (while keeping MEMORY=TRUE)
||Reset of the alarm memory and ACKNOWLEDGED output.
||Inputs of the alarm signals
||Alarm output signals as an array.
||Indication that an alarm has been acked
||Status of the alarm block (bit 8 indicates IN=TRUE, bit 9 indicates ACKNOWLEDGED=TRUE, bit 10 indicates MEMORY=TRUE)
||Alarm output signals. OUT is in TRUE until an alarm has been reset.
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=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.