Regarding Transaction Groups

I am trying to handshake with Allen-Bradley PLC (Conveyor) and pass the signal to Siemens PLC(Cube) for conveyor operation. Please check the image of the tags attached. For example when AB sets Ready to Release, the tag event script write it to Ready to Release_cubeHandshake. I find there is a time lag in this method and can I use Transcation Groups to make it quicker. And I don't how to do it in Transcation Groups, need a guidelines.

Thanks to all!

Generally not. And transaction groups do not explicitly support PLC to PLC traffic.

Fundamentally, the pace that the tag is polled from the source (tag group pace) determines the maximum latency. Though it is also possible that the slow part is the write to the Siemens. You would have to add some benchmarking to your code for that. Also, be aware that using system.tag.writeBlocking() to write to anything but a memory tag is unsafe for the tag event scripting subsystem--you risk locking up the entire subsystem if there is any comms problem when writing.

However, for these and other reasons, I would say that putting Ignition in the middle as part of your control system is a really terrible idea. Ignition is SCADA, not real-time control. It can be made to get close to RT control in limited cases with some expense (I have an EtherNet/IP module for this purpose), but it is non-trivial.

The right answer:trade_mark: is to run physical wires between the two PLCs to perform your handshaking. Or add a protocol converter to one PLC or the other to enable them to communicate directly over the network.

If you absolutely must copy data from an OPC tag to some other OPC target, consider using the Republish tag action in my Integration Toolkit.

2 Likes