# Ignition - copy data between OPC tags

**URL:** <https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [November 8, 2018, 4:23pm UTC](https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673 "2018-11-08T16:23:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![john.eichler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/john.eichler/32/24632_2.png) [@john.eichler](https://forum.inductiveautomation.com/u/john.eichler)\
**Post date:** [November 8, 2018, 4:23pm UTC](https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673/1 "2018-11-08T16:23:13Z")

</div>

Ignition 7.9  
Siemens S7-1200 PLCs

Hi All.

For a few of the machines on my network, I wish to be able to monitor a “heartbeat” signal and then send this to a supervisory PLC.

I already have OPC tags setup for a 1Hz bit on each of the machines to be monitored.These tags are monitored on a “fast” scan. My plan was to setup a series of OPC tags in the supervisory PLC and have ignition copy the data between the OPC tags.

I’ve just rigged up a test with an expression tag copying data between the OPC tags. This seems like a lot of work. Can anyone suggest a more elegant solution please?

Note (AFAIK) the S7-1200 PLC has no OPC client functionality. I could of course set up a direct communication path between the PLCs in question. The Siemens GET/PUT works great for this. However, I was hoping to do it all in ignition!

Thanks for looking

---

<div class="post-metadata">

**Author:** ![john.eichler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/john.eichler/32/24632_2.png) [@john.eichler](https://forum.inductiveautomation.com/u/john.eichler)\
**Post date:** [November 8, 2018, 4:35pm UTC](https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673/2 "2018-11-08T16:35:22Z")

</div>

OK,

So, using the tag events, value changed trigger for the machine heartbeat tag, I can copy the data to another tag using the following script.

```auto
system.tag.write("[~]SYSTEM/Test life bit", currentValue.value)

```

Is this the best way to accomplish the desired functionality?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 8, 2018, 4:42pm UTC](https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673/3 "2018-11-08T16:42:40Z")

</div>

Do you have the SQL Bridge module (transaction groups) installed? Syncing data (easily) between PLCs was one of the original reasons the module was created. You can set up a group to read from OPC items and send those values to other OPC items - and, no code required (easy maintenance).

---

<div class="post-metadata">

**Author:** ![john.eichler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/john.eichler/32/24632_2.png) [@john.eichler](https://forum.inductiveautomation.com/u/john.eichler)\
**Post date:** [November 18, 2018, 11:09pm UTC](https://forum.inductiveautomation.com/t/ignition-copy-data-between-opc-tags/20673/4 "2018-11-18T23:09:02Z")

</div>

Sorry for the slow response. Yes, I do have this module installed. Is there an easier way to achieve the desired functionality? I basically need to send a “heartbeat” signal from 5 PLCs to one PLC. All the PLCs are already linked to ignition for visualization and SQL data logging purposes.
