Best way to send alarms to external systems

Hi all,

We have a requirement to write to a PLC tag everytime there is an active alarm.
I am seeking advice on what is the best approach to identify those alarms. We are considering the following options:

  1. Use system.alarm.queryStatus to return any alarms of a specific severity.
  2. Use the Tag’s “Alarm Event” --> “Alarm Active” event to call a function to write the tag to the PLC

My concern with approach #1 is that it would have to be put on a timer of some sort to trigger, while #2 would be event-driven. As far as scalablity goes, #1 is a catch all, and any alarms that are created would be captured, whereas in #2, we would have to remember to add the function call to the event.

In large systems, is there a resources concern with either approach?

Thoughts please :slight_smile:

Thank You,

Oscar Salcedo

I think I would use approach #1 if you want to collate these alarms in some way e.g. one bit for all alarms or a different bit for each one of a number of alarm groupings. I would only use approach #2 if you wanted to do something unique for each alarm.

Either way, I wouldn’t worry about performance - this is what Ignition was written for and it’s very fast! In addition you shouldn’t be using any of this stuff for control so it’s really only needed as fast as an operator needs to react.