Speeding up block transactions

I have a transaction group that contains 63 item blocks of 10,000 segments. Due to the nature of the data the TG is set to read to ensure that the data is fresh when the TG is triggered. I am using an Siemens S7-1500 hosted OPC server.

It simply times out every time. In total the size of the data is around 3 mb.

Extending the time out and dropping segments to 1000 takes 88 seconds to transfer.

If I drop the size to 1 of each of the 63 items the transaction fires in .19 seconds. .11 Seconds in subscribe mode.

Is there anyway to speed this up? It is simply too much data to handle for a transaction group? Or is this likely a limitation of the Siemens OPC server in giving us data.

Any ideas or suggestions would be appreciated.

Fair warning, i don’t ever use transaction groups. That said, that sounds like a lot of data. You might want to include some more info or images of how your transaction group is setup, also what does your memory and CPU usage look like when the transaction group is running? It could be you are maxing out your cpu and or memory with such a large operation.

This is what the system looks like while the transaction is running.

This is what the trend looks like after the transaction finishes, a quick jump in utilization and done.

This is the tag set up of the TG.

With each of the block items looking like this.

Some additional settings:


I’m no Siemens expert… but would this be better off using system.opc.readValues system.opc.readValues - Ignition User Manual 8.1 - Ignition Documentation in a gateway tag script?

You could then control the size of blocks etc… you would need to read the values though system.opc.readValues and then log them via system.db.runPrepUpdate system.db.runPrepUpdate - Ignition User Manual 8.1 - Ignition Documentation or similar.

1 Like

Looks like this could be an option. I will experiment with it.

Customer wants all data handled in TGs if possible. Have gotten some flak for using stored procedures to do more “complicated” things.

But if TGs will not work, they will have to accept it.