What do you mean by "the cannon stops shooting" .. should the cannon move?
If so than:
Make an invisible sprite all over your layer and add "(canon) IS OVERLAPPING (invisible sprite)"
Or maybe Conditons -> System -> "IS ON LAYER" or "IS VISIBLE" .. just try something out (I would stick with "IS OVERLAPPING")
Cheers