I would suggest something like this:
if motion changes to active
then
send announcement
end if
While motion is active
wait 2 minutes <--never cancel tasks
send announcement
end while
The only issue will be if the motion ca=hanges to inactive and back to active within the two minutes. Blocking that would require more complex logic.