Gateway tag overload. How to not subscribe to all tags

Hey forum,
I am in our early phases of transitioning our HMI system to Ignition. My Tag Browser is updating PLC values very slowly. About every 56 seconds. Upon looking into my gateway Connections > Devices, I see that the connection to our plants main PLC is extremely overloaded. I created the device connection to our AB L83 PLC, but did not see any mention/option to select a polling rate or which tags to subscribe to. I think the Gateway by default subscribes to everything as fast as it can. Which in my case with 280,837 tags is about every 56 seconds. See screenshot below.

Am I missing something? In our current HMI software, the software only subscribes to the tags that get created and used by the HMI at a specified rate. Can I make my Gateway not subscribe to everything?

Did you click and drag the entire processor onto your tag provider? Bring in only the tags that you need.

You define tag groups on your tag providers, this is where you control the poll rate. The default tag group has a poll rate of 1000 ms.

Structuring of the data on the PLC is often used to increase performance as well.

1 Like

You dragged your entire PLC into Iginition's Tag Browser and you simply can't do that.

You need to bring only the tags you need in. Probably by creating UDTs and then instantiating them. This is the time to be thoughtful about the tag structure you want/need in Ignition.

3 Likes

Thank you for that incredibly fast reply! Faster than Santa Clause on Christmas Eve!
You're right, I did indeed add my entire PLC to my Tag Provider. Whoops.
My PLC tags are well organized, as in every valve, sensor, pump etc. are built using a UDT, so every instance has the same structure in my PLC. However, not every tag in each instance is necessary for Ignition.
Could you point me in the direction of a video/article that explains how I can bulk-add only the tags that are necessary to my Tag Provider? I don't really want to crtl-press every single tag that I want in my Tag Provider if I don't have to.

Thank you for that amazingly fast response!
I did indeed add my entire PLC tag structure to my Tag Provider... Whoops

You can use this import tool from the exchange:

or you can script the creation of tags/udts using system.tag.configure

Good advice from a different thread on optimizing on PLC side:

If you browse all the way through that Best Practices topic, you will eventually stumble upon my alternate EtherNet/IP driver. In addition to being a drop-in substitute for the IA driver, it also extracts the target's data types and offers them in JSON format for import into Ignition.

While I use those import files to subscribe to entire PLCs in my QA lab, they are also the fastest way to obtain Ignition UDTs that match a Logix (or Omron) processor's tags.

I do recommend you use them as starting points for your process-focused Ignition tag architecture. (Ignition tags should facilitate parameterization on user-facing hierarchies, not the hierarchies dictated by the PLC code.)

Do you have any aois? If using IA's Logic driver, never read AOI tags unless you're reading under maybe 1000 of them, as they simply can't be optimised and will suffer huge performance penalties. If you are only reading UDTs, then be sure to set every single member in the UDTs in the plc to at least read external access, regardless if ignition reads them or not. You can also increase the cip connection size of the plc connection in ignition from default 500 to 4000 to significantly increase the performance. I've been able to read almost 10k tags at 10ms scan rate with an L82.

But as others have said, you should also never just drag the whole plc structure into ignition. You should be creating UDTs in ignition and making instance of these instead. Using UDTs let's you build smarts into your graphics to increase design speed and efficiency