Update OPC Tags only when flagged

Hello, I’ve been trying to set up OPC Tags to read their value from the PLC only when needed.
We have a ton of PLCs on the shop floor, and reading all their variable constantly would put a strain on the network.

Right now (outside Ignition) we are only polling a “flag” Tag. If the value is true we go ahead and we read all the variables that we need, if it’s false we know there are no updates and we read nothing.

I tried to implement this using Driven Tag Groups, but I’ve stumbled upon a big limitation:
the flag should be part of a bigger User Defined Type that also contains all the OPC Tags, so each instance has its own flag.
I can’t make an expression that’s checked separately for each instance of my UDT, so unless I make a dedicated Tag Group for every single one of them I don’t see a way out.

Is there something I could look into to solve this?

No, OPC drivers generally need to poll. Sounds like your Ignition server is remote. Don’t do that. Put Edge or some other device local to your PLC so the polling is local. OPC/UA or MQTT from there will have much light network load.

(Creating a bunch of driven tag groups is an option, but is like re-inventing the wheel.)

See if leased mode is of any help in reducing gateway load.
https://docs.inductiveautomation.com/display/DOC80/Leased+Mode

I see, thanks for the response.

The Ignition Gateway is already in a local network with our PLCs. The main concern is that we have over 200 variables to keep track of, but most of them don’t really need to be read unless some event occurs (hence the use of flags).

200 variables should be a breeze for Ignition to handle, with little network impact

1 Like