Mirroring Tag Value Across Gateways

I’m looking for a way to mirror tag values between two Ignition Gateways without having to use Gateway Event Tag Change scripts.

My setup is roughly as follows:

  • Gateway 1 is connected to PLC 1.

  • PLC 1 has 10 tags representing the ON/OFF state of 10 part-present sensors.

  • Gateway 2 is connected to PLC 2.

  • The two Ignition Gateways are connected through the Gateway Network.

  • From Gateway 2, I can access the 10 sensor tags from Gateway 1.

  • I then want Gateway 2 to act as a middleman and write those 10 values into corresponding tags in PLC 2.

Currently, I am accomplishing this with Gateway Event scripts using Tag Change events. Whenever one of the 10 sensor tags changes, I run a simple system.tag.writeAsync() to write the values into the corresponding PLC tags on Gateway 2.

Conceptually, I have:

PLC 1 → Gateway 1 → Gateway Network → Gateway 2→ Tag Change Script → PLC 2

What I would like to know is whether Ignition has a native tag configuration/binding mechanism that can accomplish this without needing to run a Tag Change script.

Ideally, I would like something along the lines of:

Gateway 1 Tag → Remote Tag Provider/Binding → Gateway 2 Tag → PLC 2

where the value is automatically kept synchronized whenever the source tag changes.

I’m specifically interested in whether this can be done using things such as Remote Tag Providers, tag bindings, UDTs, or another native Ignition feature, rather than having to maintain a Gateway Event script for each tag.

The reason I’m trying to avoid the scripts is that I may have more of these signals in the future, and I’d prefer a configuration-based solution that automatically maintains the synchronization.

Has anyone implemented something similar across two Gateways connected through the Gateway Network?

Disclaimer: This is a really bad idea--Ignition isn't really designed to do this. PLCs should be using native technology, like producer/consumer tags in Rockwell, to do this kind of process synchronization. So your SCADA system stays in supervision, not directly in the control loops.

If you must, consider using something like my Integration Toolkit's Bulk Script Action to minimize the configuration effort. (Presumably where the bulk script writes to same-named tags in a remote tag provider.)

That warning makes sense. I’d keep the PLC-to-PLC synchronization in the PLCs and let Ignition handle monitoring and higher-level tasks. Using SCADA in the control path can add another point of failure and timing issues. For non-critical data, though, a toolkit-based approach could still be useful.