Du hast doch eine Uhr drin. Demnach auch irgendwo eine Sub, welche jede Sekunde aufgerufen wird. Ich mache es immer so:

PseudoCode:
Code:
do
...
...
...
loop
end

sectic:
   if alarmzeit=zeit then alarmdauer=300
   if alarmdauer>=1 then
      decr alarmdauer
      set ausgang
   else
      reset ausgang
   endif
return