Alarm Synchronization Between Two Gateways

Let’s say I have two gateways with identical tag providers, getting their data from the same source. Each are looking at the same tags with the same alarm configuration.

If I ack an alarm on Gateway 1… what’s the best way to ack it on Gateway 2?

Also, if I ack’d an alarm on Gateway 1 while Gateway 2 was offline, how can I tell Gateway 2 about it when Gateway 2 comes online? (Assuming the alarm condition is still active)

I could…

  1. within alarm ack script, search through the other gateway as a remote tag provider for a tag in alarm with the same tag path and remotely ack it. and in the startup scenario i’d hold off on all alarm presentation until I go through the remote provider one by one to match my local acks (though this could be problematic with alarms that have long delays)

  2. maintain a separate centralized alarm database that both gateways check every 1 second

  3. ???

Open to suggestions.

I would say you’re going to have a much better time if you have a single tag provider, and ‘share’ it via remote tags to the other gateway. Is that not an option for some reason?

1 Like

Not allowed to have any dependencies between stations. They must operate standalone (but of course they’ll need to communicate for this kind of synchronization for seamless operation).

So 1 client = 1 gateway = 1 machine.

Just curious, but how do you handle writing from multiple gateways at the same time to the same source?

Seems to me that the common point is the PLC. Add logic for it to manage acks itself, and disable acks in Ignition. Provide one-shot triggers that Ignition can set to acknowledge alarms.

Well, that’s another issue… as far as I can tell, Ignition doesn’t have a good way to handle a remote ack (either accepting a remote ack, or issuing one), at least not without scripting.

I’m not sure what you mean by disable acks in Ignition… I would still need alarming in the HMI since the alarm display controls are dependent on built-in alarming logic/functionality. I guess I could build my own controls that operate from PLC tags instead…?

Don’t use Ignition’s acknowledgements at all. Make the PLC track acknowledgement itself. It is the only common point, so that’s the only way to not loose acks.