I'd do it with a small FB "CheckAlarm", doing everything you have to do to your alarm, with status inputs, all your alarm settings in static, and lamps as outputs.
Then, a big FB "Alarms", in SCL, where I'd call each "CheckAlarm" as multiple instance, with declared inputs, and outputs..
It seems much to write when you ahave 500 of them, but excel is a great help with that, and it is as clean and debuggable as can be for later..